Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
212
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

@kai_kou

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

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

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://qiita.com/kai_kou/items/99d9f9372eed970eab3b

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
212
Help us understand the problem. What are the problem?