ubuntu 使用用户指定的脚本重新启动现有Amazon EC2示例?

pieyvz9o  于 2023-02-18  发布在  其他
关注(0)|答案(4)|浏览(114)

虽然我已经找到了大量关于如何使用用户数据脚本(ala Eric Hammond)创建Amazon EC2 AMI的新示例的文档,但我还没有看到一种方法可以在重新启动Amazon EC2示例时使用用户指定的脚本来启动已经存在但当前已停止的示例。
我有许多Amazon EC2 Ubuntu示例用于测试和灾难恢复。我希望能够启动一个示例,并让它根据需要自动获取和恢复与我们的过渡或生产环境相对应的备份。我不希望维护两个单独的示例,每个示例都有自己的弹性IP。
是否有任何方法可以从Amazon ec2 tools的命令行中执行此操作,类似于使用ec2-run-instances命令执行此操作的方法?基本上,我希望能够传递一个将以root身份运行的脚本,就像从rc.local或类似位置调用它一样。

ctehm74n

ctehm74n1#

1.你可以在API工具的帮助下完成。检查ec2-modify-instance-attribute命令的--user-data属性。
1.此外,AWS控制台允许您在停止的示例上执行相同的操作:

1.或者,您可以始终通过ssh作为最后一个参数来运行命令或脚本:
ssh [user@]hostname [command]

bybem2ql

bybem2ql2#

您可以考虑使用AWS Command Line Interface停止/重启Amazon EC2示例的功能,如 * here * 所述。
无弹性负载平衡器

aws ec2 stop-instances --instance-ids i-1a2b3c4d
aws ec2 start-instances --instance-ids i-1a2b3c4d

使用弹性负载平衡器,不使用自动扩展

aws elb deregister-instances-from-load-balancer --load-balancer-name elb-name --instances i-12ab34cd
aws elb register-instances-from-load-balancer --load-balancer-name elb-name --instances i-12ab34cd

具有自动扩展功能的弹性负载均衡器

aws autoscaling update-auto-scaling-group --auto-scaling-group-name "asg-name"  --launch-configuration-name "launch-config-name" --min-size 0 --max-size 0
aws autoscaling update-auto-scaling-group --auto-scaling-group-name "asg-name"  --launch-configuration-name "launch-config-name" --min-size 1 --max-size 1
2mbi3lxu

2mbi3lxu3#

你看过云形成模板吗?http://docs.amazonwebservices.com/AWSCloudFormation/latest/UserGuide/Welcome.html
我可以想象,使用这个脚本在示例重新启动时运行脚本会很简单。我在AWS上设置sharepoint服务器场时使用了这个脚本,并研究了CF脚本。http://aws.amazon.com/articles/9982940049271604
我尚未测试此特定场景,但我相信这应该能给予所需的支持

ijxebb2r

ijxebb2r4#

可悲的是,答案似乎是,目前不可能做到我所要求的。

相关问题