🌱
【Terraform cloud】Workspaceを作成して, Amazon ECRリポジトリを追加
はじめに
- Terraform cloudのワークスペース作成などの初期設定を説明します
- 初期設定が出来たら、設定がうまくいっているか確認するために、ECRリポジトリの追加をTerraform経由で実行してみます
手順
登録とワークスペースの作成
- Terraform cloudに登録する
- organizationを作成する
- ワークスペースを作成
- Version control workflowを選択
- Githubなど連携先を選択
- 連携したいリポジトリを選択
- 事前にリポジトリを作っておいて、それと連携する
- 今回は、Advance optionは設定しないので、そのまま次へ進む
※ 完全にリポジトリが空だと以下のようなエラーがでるので、READMEなどを作って入れておきます
- 以上で、ワークスペースの作成が完了
variables(環境変数)の設定
- AWSのIAMでアクセスキーを発行
- 可能ならterraform用のユーザーを作成して、アクセスキーを発行
- variablesに、画像のようなKey名でアクセスキーとシークレットアクセスキーを登録
- variable categoryは、Environment Variable
- AWS_ACCESS_KEY_ID
-
AWS_SECRET_ACCESS_KEY
- シークレットアクセスキーは登録時に、Sensitiveのチェックボックスを入れる
- これで、AWSのリソースがterraform cloudから操作できる状態になりました
コードの作成
-
main.tf
に基本設定を書きます
provider "aws" {
region = "ap-northeast-1"
}
terraform {
required_providers {
aws = {
version = ">= 3.42.0"
source = "hashicorp/aws"
}
}
}
- 今回は、ECRのリポジトリをひとつ作ります
ecr.tf
resource "aws_ecr_repository" "app_runner_image" {
name = "app-runner-sample"
image_tag_mutability = "MUTABLE"
image_scanning_configuration {
scan_on_push = false
}
}
- ここまでで、Pushします
- Pushすると、terrafrom cloudがコードを実行して、Plan状態になります
- Plan状態とは、terrafromが仮実行され、変更されるリソースを出力してくれます
- コードになんらか問題があれば、Planが失敗します
- Planに成功して、なおかつ、変更リソースも想定通りの内容であれば、Applyします
- これで、AWSにterrafromで記述した設定が反映されます
Discussion