繁体   English   中英

从用户数据文件调用 AWS cli

[英]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,那么您必须更改yumapt-get行,并且该包被称为aws-cli而不是awscli

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM