2017年2月22日 星期三

AWS CLI 新舊版本的差異

為什麼會寫這一篇?是因為小弟最近在 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

 

果然最新版本才有多了一些參數 ...

 

 

Orignal From: AWS CLI 新舊版本的差異

沒有留言:

張貼留言