aws-cli,sam-cliコマンドをdockerコンテナで実行する
aws-cli, sam-cliをdockerコンテナで実行できる。
aws-cliとかsam-cliをローカルPCに入れると、ローカルPCの環境が汚れてしまうのが気になっていた。普段Pythonは使わないので。。その他にaws-cliのバージョンアップをすると、Pythonのバージョンに問題が出て1時間ぐらいかかっていた。dockerを使うことで、これらの課題を解決する。
AWS CLI
公式 AWS CLI バージョン 2 Docker イメージの使用 - AWS Command Line Interface
amazon/aws-cli - Docker Hub
使い方は公式ページの通り。~/.zshrcに以下を追記した。
# AWS
alias aws-docker='docker run --rm -ti -v ~/.aws:/root/.aws -v $(pwd):/aws -e AWS_PROFILE="$AWS_PROFILE" amazon/aws-cli'
s3バケットをの一覧を取得する。awsコマンドを”aws-docker”に置き換えるイメージ。
export AWS_PROFILE="hoge"
aws-docker s3 ls
SAM CLI
Docker コンテナで SAM CLI を使用する - Qiitaを参考にした。ありがたい記事。
sam-cliのDockerfileを作った。aws-cliのDockerイメージに合わせてWORKDIR変更やENTRYPOINT追加を行った。
https://github.com/eiKatou/dotfiles/blob/master/Dockerfile/Dockerfile_awssam
Dockerイメージをビルド。
docker build -f Dockerfile_awssam -t aws-sam .
~/.zshrcに以下のaliasを追加。
# AWS
alias sam-docker='docker run --rm -ti -v ~/.aws:/root/.aws -v $(pwd):/aws -e AWS_PROFILE="$AWS_PROFILE" aws-sam'
template.yamlのあるディレクトリで以下を実行。
export AWS_PROFILE="hoge"
sam-docker validate -t template.yaml
今回追記したzshrcは以下に置いている。
https://github.com/eiKatou/dotfiles/blob/master/zsh/zshrc
投稿日 2020年10月25日