為什麼會寫這一篇?是因為小弟最近在 AWS CLI 踩了很大一個坑,所以怒寫一篇文章 …
AWS 的服務其實隨時隨地都在版本更新,你可能用到一半發現和你隔壁的不太一樣,很有可能就是 AWS 在版更
或是 AWS CLI 和文件寫的不一樣 … 這就是我在 AWS CLI 踩的坑 !!
事情的緣由是小弟在跑 AWS CodeDeploy for On-Premises 的過程中,有一個動作是要產生 sts session
For example:
aws deploy register-on-premises-instance –instance-name name-of-instance –iam-session-arn arn:aws:sts::account-id:assumed-role/role-to-assume/session-name
關鍵在於 –iam-session-arn 這個參數,不管怎麼下都告訴我
aws: error: the following arguments are required: –iam-user-arn
在 AWS 官方的 register-on-premises-instance manual 明明就寫著可以 IAM session 或 IAM user 可以任選一個啊 !!
Only one IAM ARN (an IAM session ARN or IAM user ARN) is supported in the request. You cannot use both.
然後看了一下 awscli 的 help,發現根本就沒有 –iam-session-arn 這個參數,難怪我怎麼下都失敗。
經指點可能是 AWS CLI 的版本有差 .. Ubuntu APT 裝起來的 AWS CLI 版本是 1.11.13,然後 AWS CLI 目前最新版本是 1.11.51。
重新 rebuild AWS CLI
$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip" $ unzip awscli-bundle.zip $ sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws $ aws --version aws-cli/1.11.51 Python/2.7.10 Darwin/16.3.0 botocore/1.5.14
果然最新版本才有多了一些參數 …
坑王 安安