Tüm örneklerimi komut satırından nasıl öldürebilirim? Bunun için bir komut var mı, yoksa komut dosyası mı vermeliyim?Tüm EC2 örneklerini komut satırından nasıl öldürebilirim?
4
A
cevap
2
Bildiğim kadarıyla, ec2 sonlandırma örnekleri komutu için 'all' anahtarı yok. Yani muhtemelen senaryosunu yazmalısın. O kadar zor olmayacak. Sadece örneklerin virgülle ayrılmış bir listesini oluşturmanız gerekir.
import sys
import time
from boto.ec2.connection import EC2Connection
def main():
conn = EC2Connection('', '')
instances = conn.get_all_instances()
print instances
for reserv in instances:
for inst in reserv.instances:
if inst.state == u'running':
print "Terminating instance %s" % inst
inst.stop()
if __name__ == "__main__":
main()
O boto kitaplığını kullanır:
Bu
kullanıyorum bir piton komut dosyasıdır. Bu belirli bir görev için gerekli değildir (basit bir kabuk betiği yeterli olacaktır), ancak birçok durumda kullanışlı olabilir.Son olarak Firefox için Elasticfox eklentisinin farkında mısınız? Bu, EC2'ye erişmenin en kolay yoludur.
5
AWS Console ve Elasticfox bunu oldukça kolaylaştırır.
bir komut satırı çözüm EC2 API araçlarını kullanarak tek çizgide elde edilebilir:
for i in `ec2din | grep running | cut -f2`; do ec2kill $i; done
4
Bu eski bir sorudur ama AWS CLI için bir çözüm paylaşmak istiyorum düşünce:
$ aws ec2 terminate-instances --instance-ids $(aws ec2 describe-instances --filters "Name=instance-state-name,Values=pending,running,stopped,stopping" --query "Reservations[].Instances[].[InstanceId]" --output text | tr '\n' ' ')
0
Tamamı aşk için. Burada düzenli ifadeler ve kullanarak, bir programcının repertuar ile daha uyumlu olma, başka bir yol aws cli:
Sana connection.terminate_instances kullanabilirsiniz şimdi inanıyoruzaws ec2 terminate-instances
--instance-ids
$(
aws ec2 describe-instances
| grep InstanceId
| awk {'print $2'}
| sed 's/[",]//g'
)
() – rcell