![](/img/trans.png)
[英]Run EC2 --user-data file only after instance has fully launched with Status OK
[英]Calling AWS cli from user-data file
从 AMI 映像启动 EC2 实例时,我有一个用户数据脚本文件。 该脚本使用 AWS,但我得到“aws:找不到命令”。 AWS-CLI 作为 AMI 的一部分安装(实例启动后我可以使用它)但由于某种原因脚本找不到它。
我错过了什么吗? 用户数据脚本是否有可能在加载图像之前运行(我很难相信)? 也许此时未设置路径环境变量?
谢谢,
用户数据脚本在加载图像之前运行的任何机会
不,当然不是。 它是该图像上运行脚本的服务。
也许此时未设置路径环境变量
这很可能是问题所在。 这些脚本以root
而不是ec2-user
身份运行,并且无权访问您可能在ec2-user
帐户中配置的路径。 如果您尝试指定/usr/bin/aws
而不仅仅是aws
会发生什么情况?
您可以安装 aws cli 并使用您的凭据设置环境变量。 例如,在用户数据脚本中,你可以这样写:
#!/bin/bash
apt-get install -y awscli
export AWS_ACCESS_KEY_ID=your_access_key_id_here
export AWS_SECRET_ACCESS_KEY=your_secret_access_key_here
aws cp s3://test-bucket/something /local/directory/
如果您使用的是基于 CentOS 的 AMI,那么您必须更改yum
的apt-get
行,并且该包被称为aws-cli
而不是awscli
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.