Ste*_*3p0 69 amazon-ec2 terminate amazon-web-services
有没有一种方法可以让Amazon Web Services EC2实例自行终止?亚马逊是否有任何允许实例在运行超过一小时后终止自身("Hara-Kiri")的东西?我可以更改正在运行的实例上的脚本来执行此操作,但这可能会失败,我不想编辑图像,所以我希望亚马逊杀死该实例.
Eri*_*ond 88
要让实例自行终止,请执行以下两个步骤:
--instance-initiated-shutdown-behavior terminate
在AWS控制台或API调用上使用或等效的实例启动实例.shutdown -h now
以root身份运行.在Ubuntu上,您可以使用以下命令将其设置为55分钟:
echo "sudo halt" | at now + 55 minutes
Run Code Online (Sandbox Code Playgroud)我在一段时间后写了一篇文章来完成同样的"一小时终止"目标:
在Amazon EC2上自动终止临时实例
http://alestic.com/2010/09/ec2-instance-termination
这篇文章最初是在instance-initiated-shutdown-behavior
可用之前编写的,但你会在评论中找到更新和其他宝石.
Tom*_*mmy 17
你可以这样做
ec2-terminate-instances $(curl -s http://169.254.169.254/latest/meta-data/instance-id)
Run Code Online (Sandbox Code Playgroud)
ec2将获得其当前实例ID并终止自身.
小智 8
希望这会奏效
instanceId=$(curl http://169.254.169.254/latest/meta-data/instance-id/)
region=$(curl http://169.254.169.254/latest/dynamic/instance-identity/document | grep region | awk '{print $3}' | sed 's/"//g'|sed 's/,//g')
/usr/bin/aws ec2 terminate-instances --instance-ids $instanceId --region $region
Run Code Online (Sandbox Code Playgroud)
希望这能帮到你!!!
这是我的自我终结脚本
$ EC2_INSTANCE_ID="`wget -q -O - http://instance-data/latest/meta-data/instance-id || die \"wget instance-id has failed: $?\"`"
$ echo "ec2-terminate-instances $EC2_INSTANCE_ID" | at now + 55 min || die 'cannot obtain instance-id'
Run Code Online (Sandbox Code Playgroud)
如果要将其分配为“ 自终止时自动停止 ” ,则只能执行一次。
在您的EC2控制台中,转到“ 实例设置”,将“ 关机行为”更改 为“ 停止”。
配置/etc/cloud/cloud.cfg,您可以参考如何使用cloud-init运行启动脚本。
按照Eric Hammond的回答,将命令放在文件中,然后在scripts-per-boot路径中找到它:
$ echo '#!/bin/sh' > per-boot.sh
$ echo 'echo "halt" | at now + 55 min' >> per-boot.sh
$ echo 'echo per-boot: `date` >> /tmp/per-boot.txt' >> per-boot.sh
$ chmod +x per-boot.sh
$ sudo chown -R root per-boot.sh
$ sudo mv -viu per-boot.sh /var/lib/cloud/scripts/per-boot
Run Code Online (Sandbox Code Playgroud)
重新启动您的实例,检查脚本是否已执行:
$ cat /tmp/per-boot.txt
per-boot: Mon Jul 4 15:35:42 UTC 2016
Run Code Online (Sandbox Code Playgroud)
如果是这样,以防万一您忘记停止实例,它将向您保证实例在运行55分钟或在脚本中设置的任何时间都将终止运行。
Broadcast message from root@ip-10-0-0-32
(unknown) at 16:30 ...
The system is going down for halt NOW!
Run Code Online (Sandbox Code Playgroud)
PS:对于每个想使用Self-Stopping的人,您应该注意一件事,并非所有EC2类型在重启时都是自我恢复的。我建议将EC2-VPC / EBS与On / Off Schedule一起使用。
归档时间: |
|
查看次数: |
29456 次 |
最近记录: |