我想创建一些EC2实例,但在它开始之前使用为此实例生成的实例ID做一些事情。 aws ec2 run-instances
或其他aws ec2
命令中是否有任何选项可用于创建AWS EC2实例而无需启动它?解决方法是生成UUID以标记此实例并关联此UUID而不是实例ID,或者在运行实例之后停止,但我更喜欢一些更智能的解决方案。
正如我在评论中告诉@ pt12lol一样,这正是userdata的用途。
来自亚马逊的文档:
在Amazon EC2中启动实例时,您可以选择将用户数据传递给可用于执行常见自动配置任务的实例,甚至可以在实例启动后运行脚本。您可以将两种类型的用户数据传递给Amazon EC2:shell脚本和cloud-init指令。您还可以将此数据作为纯文本传递到启动向导中,作为文件(这对于通过命令行工具启动实例非常有用),或者作为base64编码的文本(用于API调用)。
用户数据可以在创建时传递给实例,例如使用--user-data
cli中的aws
标志或AWS控制台中的Userdata文本框。
EC2下没有选项可以在不启动的情况下创建实例。创建实例后,它将自动从挂起状态转换为运行状态
文件 - http://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html