![](/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.