首页 > 解决方案 > 在启动时使用访问密钥初始化 AWS EC2 机器

问题描述

我想使用 aws cli 启动 EC2 机器。我想在连接之前做几件事,包括设置我的配置。

我使用以下方法成功启动了机器:

aws ec2 run-instances --image-id ami-062f7200baf2fa504 --count 1 \
--instance-type t2.micro --key-name MyFirstKey --security-group-ids \
launch-wizard-3 --user-data file://aws_setup_script.txt 

我的 aws_setup_script.txt 是

sudo yum update -y
aws configure set aws_access_key_id AAAAABBBBBCCCCCDDDDD
aws configure set aws_secret_access_key AAAAABBBBBCCCCCDDDDDEEEEEFFFFFGGGGGHHHHH
aws configure set default.region us-east-1

sudo yum update -y成功运行,但aws configure步骤没有。

标签: amazon-web-servicesamazon-ec2

解决方案


  1. 在用户数据中传递秘密是不安全的。
  2. 您的脚本失败了,因为它没有运行,ec2-user所以它没有aws在路径中。即使它有效,它也不会为该ec2-user帐户配置 CLI 工具,因此它不会按照您想要的方式工作。

  3. 最重要的是,有一种更好的方法可以实现这一点。您应该为实例分配一个 IAM 实例配置文件。当您在aws分配了 IAM 角色的实例上运行 cli 工具时,它将自动使用这些凭证。


推荐阅读