terraformとAWS-CLIのイメージを併用した環境を構築する。
前回の記事からの続きになりますが、
terraformでS3バケットにtfstateファイルを保存すると思うので、S3のバケットもAWS-CLIでコマンドから作成できたら便利ですよね。ですのでterraformのイメージとCLIイメージの共存したdocker-compose.ymlを作成したいと思います。
aws-cliも公式があるのでそちらを使用します。
と思ったのですが、amazon/aws-cliを使うとコンテナ内に入ってコマンドを実行はできなさそうなので、terraformのイメージにAWS-CLIをインストールして使えるようにします。
version: '3'
services:
terraform:
container_name: terraform
image: hashicorp/terraform:1.1.3
env_file:
- .env
volumes:
- .:/terraform
working_dir: /terraform/terraform
entrypoint: ash
tty: true
aws-cli:
image: amazon/aws-cli
volumes:
- ./aws_cli
調べていったところ
- terraformを使えるようにする。
- AWS-CLIを使えるようにする
- ECRを使うためにdockerをコンテナ内で操作
この3を使えるようにするのが最終目標のようです。
下記がこの三つを最終構成するのに正解に思えます。
今回はS3のバケットをterraformと一緒に使えるようにするので上記の二つを実装できるようにします。