概要
【超重要】対応しないと使えなくなるかも?!今、全S3ユーザがチェックすべき署名バージョン2の廃止について
を受けて社内でSigV2が使われていたものがあったのでAWS CLIをバージョンアップしました。
手順
アップグレードするバージョンを確認
公式のドキュメントにも書いてある通り以下のバージョンより低ければバージョンアップする必要があります。
利用中のSDK | SDKのアップグレード要否 |
---|---|
AWS CLI | 1.11.108 にアップグレード。 |
現在のバージョン確認
$ ./aws --version
aws-cli/1.11.24 Python/2.7.10 Darwin/17.7.0 botocore/1.4.81
上記の通り1.11.108
よりもバージョンが低かったのでアップデートする
アップグレードコマンド
$ pip install awscli==1.11.108 -t ./
確認
$ ./aws --version
aws-cli/1.11.24 Python/2.7.10 Darwin/17.7.0 botocore/1.4.81
あれ.....変わってない
要注意!!
まぁコマンド実行した時のログをちゃんと確認してればすぐ気づくこと(あとコマンドの意味的にアップグレードコマンドじゃないな..;)なんですが,既にawscliを導入しててアップグレードする場合は↓のようなのが出てると思います。
Target directory xxxxx/pyasn1 already exists. Specify --upgrade to force replacement.
Target directory xxxxx/s3transfer already exists. Specify --upgrade to force replacement.
Target directory xxxxx/docutils already exists. Specify --upgrade to force replacement.
Target directory xxxxx/colorama already exists. Specify --upgrade to force replacement.
Target directory xxxxx/six.pyc already exists. Specify --upgrade to force replacement.
Target directory xxxxx/rsa already exists. Specify --upgrade to force replacement.
Target directory xxxxx/awscli already exists. Specify --upgrade to force replacement.
Target directory xxxxx/botocore already exists. Specify --upgrade to force replacement.
Target directory xxxxx/colorama-0.3.7.dist-info already exists. Specify --upgrade to force replacement.
Target directory xxxxx/concurrent already exists. Specify --upgrade to force replacement.
Target directory xxxxx/six.py already exists. Specify --upgrade to force replacement.
Target directory xxxxx/jmespath already exists. Specify --upgrade to force replacement.
Target directory xxxxx/dateutil already exists. Specify --upgrade to force replacement.
Target directory xxxxx/rsa-3.4.2.dist-info already exists. Specify --upgrade to force replacement.
Target directory xxxxx/yaml already exists. Specify --upgrade to force replacement.
Target directory xxxxx/bin already exists. Specify --upgrade to force replacement.
既に存在しているファイルがあり上書きされなかったみたいです。
なのでログに書いてある通り --upgrade
というオプションをつけてアップグレードしましょう
再度アップグレード
$ pip install --upgrade awscli==1.11.108 -t ./
確認
$ ./aws --version
aws-cli/1.11.108 Python/2.7.10 Darwin/17.7.0 botocore/1.5.71
これでようやくアップグレード完了
SigV2もSigV4に変わっていました
署名のバージョンの確認
以下の記事を参考にしてみると良いと思います
廃止予定のS3署名バージョン2API利用をCloudWatchEventで検出してみた