Ser*_*ier 54 amazon-ec2 amazon-web-services ec2-ami
我想自动启动一组Linux EC2实例.
基本上,我想写一个脚本/程序,它将:
使用VMWare,我通常会使用vmrun或Vix SDK.
Amazon AWS/EC2有哪些选项?
Eri*_*ond 85
答案取决于您正在运行的AMI,因为提供的功能完全取决于AMI.
Amazon Linux AMIS和官方Ubuntu AMI都安装了cloud-init软件包.这有多种方法可以触发启动操作,但最贴近您的请求(我最喜欢的是因为我发明了它)是用户数据脚本的概念.
您可以在启动EC2实例时简单地传递任何脚本(以两个字符#!开头)作为用户数据.它将在实例的第一次引导时以root身份运行.
有关其工作原理的具体示例,我在最近的文章中使用了这种精确的技术: 在EC2用户数据脚本中上传已知的ssh主机密钥
您还希望使用相同的脚本运行多个EC2实例.ec2-run-instances命令以及相关的API和Web控制台允许您指定以相同用户数据开头的任意数量的实例.例如:
ec2-run-instances \
--instance-count 10 \
--user-data-file $MYSCRIPT \
--key $USER \
$SOMEAMI
Run Code Online (Sandbox Code Playgroud)
如果您当前正在运行未安装cloud-init的AMI,则可以执行以下操作之一:
切换到安装了cloud-init的AMI,或
构建安装了cloud-init的AMI的自定义版本,或
编写一个更复杂的包装器脚本,在脚本启动后记录所有实例ID,等待所有实例移动到运行状态,等待sshd接受连接,将启动脚本上传到每个实例,并在每个实例上运行启动脚本.
| 归档时间: |
|
| 查看次数: |
33634 次 |
| 最近记录: |