AWS公式さんがDocker Hubでイメージを公開してくれました。 (2020/03/31)
待ってました 🎉🎉🎉

AWS CLI v2 Docker image | AWS Developer Blog
https://aws.amazon.com/jp/blogs/developer/aws-cli-v2-docker-image/

(Google翻訳) AWS CLI v2の2.0.6のリリースにより、AWS CLI v2がDockerイメージとして利用できるようになったことをお知らせします。

これにより、ユーザーはAWS CLI v2のインストールを自分で管理する必要なく、コンテナベースの環境でAWS CLI v2を使用できます。このDockerイメージを利用するにはさまざまな方法がありますが、特にCI / CD設定では、ローカルマシンのDockerコンテナでAWS CLI v2を実行する方法について説明します。

amazon/aws-cli – Docker Hub
https://hub.docker.com/r/amazon/aws-cli

使い方も、かなーり詳しくしてくれているので詳細はDocker Hubをご確認ください。

前にaws-cliを実行するためにDockerイメージを作成して利用していた (DockerコンテナからAWSコマンドを簡単に実行できるコマンドをつくってみた – Qiita ) のですが、その手間が省けます。はかどります。
バージョンは2.0.6となっており (2020/04/01 時点)、今後のバージョンアップにも対応してくれることでしょう (期待)

つかってみる

使い方は簡単です。

エイリアス設定して利用する設定があったので、それを利用してみます。

認証や設定情報を含むディレクトリを-v ~/.aws:/root/.awsでマウント、コマンド実行するカレントディレクトリを-v $(pwd):/awsでDockerコンテナ内の/awsにマウントすることでファイルの読み書きもホストでawsコマンドを実行するときと同じ挙動になります。

# 確認用としてエイリアスを aws ではなく、 aws-test としています
> alias aws-test='docker run --rm -ti -v ~/.aws:/root/.aws -v $(pwd):/aws amazon/aws-cli'

# Fishの場合
> alias aws-test='docker run --rm -ti -v ~/.aws:/root/.aws -v $PWD:/aws amazon/aws-cli'

> aws-test --version
aws-cli/2.0.6 Python/3.7.3 Linux/4.19.76-linuxkit botocore/2.0.0dev10

# カレントディレクトリで読み書きできる
> aws-test s3 cp ./hoge.txt s3://<任意のバケット>/

# カレントディレクトリ外はだめ
> aws-test s3 cp ../hoge.txt s3://<任意のバケット>/

これでもうイメージをビルドしなくてもいいんやなって。

参考

amazon/aws-cli – Docker Hub
https://hub.docker.com/r/amazon/aws-cli

DockerコンテナからAWSコマンドを簡単に実行できるコマンドをつくってみた – Qiita
https://cloudpack.media/50205

元記事はこちら

AWS公式さんがDocker Hubで aws-cli のイメージを公開してくれた!