Ash*_*win 1 linux amazon-ec2 amazon-web-services
我已经为内部目的制作了自己的 AMI。如何在使用此 AMI 启动实例时运行脚本?我怎样才能做到这一点?
我目前的方法是将脚本(例如 myscript.sh)添加到/etc/rc.d/rc.local
. 这是 AMI 的正确方法吗?
编辑:这是一个场景:
我已经从 EC2 实例创建了一个 AMI(EC2 映像)。现在,当一位同事使用此图像并启动一个实例时,我希望脚本在实例启动时仅运行一次。我不希望每次重启实例时都运行它。相反,仅在第一次启动实例时。
在启动过程中通过“用户数据”提供您的脚本,它将在第一次启动时执行。如果您使用的是 awscli,请使用该--user-data
选项”
$ aws ec2 run-instances --image-id ami-xxxxxxxx --count 1 --instance-type m1.small --key-name foo-key --security-group-ids sg-xxxxxxxx --subnet-id subnet-xxxxxxxx --placement AvailabilityZone=us-west-2a --user-data file://path/to/script
Run Code Online (Sandbox Code Playgroud)
如果您使用的是 GUI,则用户数据字段隐藏在启动对话框第 3 步底部的“高级”部分中: