![使用 AWS CLI 运行 EC2 实例时,是否可以将文件与初始化脚本一起上传?](https://linux22.com/image/772448/%E4%BD%BF%E7%94%A8%20AWS%20CLI%20%E8%BF%90%E8%A1%8C%20EC2%20%E5%AE%9E%E4%BE%8B%E6%97%B6%EF%BC%8C%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E5%B0%86%E6%96%87%E4%BB%B6%E4%B8%8E%E5%88%9D%E5%A7%8B%E5%8C%96%E8%84%9A%E6%9C%AC%E4%B8%80%E8%B5%B7%E4%B8%8A%E4%BC%A0%EF%BC%9F.png)
我有nginx
想要部署到Ubuntu
EC2
实例上的配置文件。我使用以下命令创建实例AWS CLI
:
aws ec2 run-instances --instance-type t2.micro \
--count 1 \
--image-id ami-0f8b8babb98cc66d0 \
--key-name "$key_name" \
--tag-specifications "ResourceType=instance,Tags=[{Key=Name,Value=$name}]" \
--query "Instances[0].{$instance_fields_selection}" \
--user-data 'file://ec2-setup'
这基本上按预期工作:ec2-setup
脚本创建一些文件夹,安装一些包并执行reboot
。但我仍然必须nginx
通过手动上传我的配置文件scp
。--user-data
选项似乎用于上传文件,但实际上它是用于传递初始化脚本。在使用创建实例时,是否可以将正常的不可执行文件扔到实例上AWS CLI
?
答案1
在用户数据脚本中,您可以指定准备操作系统所需的所有命令。然后,您将在用户数据脚本中 scp 某些内容。
但是,如果您的用户数据脚本中没有 scp 或 s3 命令,您就无法将文件注入实例内部。