My Note

自己理解のためのブログ

Terraform

GitHub Actonsで利用するOIDCプロバイダをTerraform(AWS IAM)で作成する

はじめに Terraform はじめに 前回の記事で Github AcrtionsにOIDCでAWS認証してECRにコンテナイメージを登録しました。 前回は手動でAWSコンソールでポチポチ作成したので今回は OIDCをプロバイダをTerraformで作成しました。 terraform以外の部分は前回記…

terraformのコードをGitHub Actionsで構文チェックする

はじめに ソースコード はじめに terraformのコードをgithub-actionsでコードチェック(fmt, validate)する設定を書きました。 ワークフローは github/workflows にyamlファイルをセットすれば実行されます。 今回の実行内容 mainブランチに対して "pull re…

TerraformでMackerelのAWSインテグレーションを設定する

はじめに 設定 Terraformの構成 IAMロールの作成 Mackerelのインテグレーション設定 おわり はじめに 前回の記事でMackerelの設定をterraformで行ったので、今回は "AWSインテグレーション" を設定します。 今回もTerraformの実行は 前回の記事と同様に terr…

Terraform ( terraform-cloud )でMackerelをコード管理する

はじめに 環境 やること terraformのコードと構成 terraform-cloudの設定 terraform-registry terraformの構成 serviceを作成 terraform import roleを作成 monitorを作成 notificationを作成 alertsを作成 おわり はじめに 2022年の一本目の記事になります…

"terraform state mv" の備忘録

はじめに 環境 state mv を実行する はじめに 今回はTerraformを利用していると必要となってくる stateファイルを変更する場合の備忘録になります。 環境 Terraformのバージョン Terraform: v1.0.1 リモートのTerraform環境 terraform-cloud www.terraform.i…

Terraform学習メモ1 ( mapとfor_eachでECRを作成 )

mapとfor_eachについて Terraformのコード MapをイメージするためにGoで定義した場合 Terraformが0.12系がリリースされてから使える関数が増えてきているのでTerraformをまた勉強しはじめました。 そのときの "学習メモ" として書いていきます。(あくまで学…

TerraformでAWSの環境構築 ( IAM-Role/Policy )

やったこと 実行環境 IAMロールを作成する Terraformのコード全体 追加 (IAMポリシーの作成) コード全体 まとめ やったこと Terraformを利用してAWS環境のIAMロールを作成する。 IAM-Role lambda-functionに付与するロール 信頼されたエンティティ(ID プロバ…

TerraformでAWSの環境構築 ( Lambda )

やったこと 実行環境 lambda-functionをつくる Terraformのコード全体 まとめ やったこと Terraformを利用してAWS環境のlambda-functionを作成する。 lambda-functionの設定 ラインタイム: go1.x ハンドラー: main 環境変数をセット Goのコードをアップロー…

TerraformでAWSの環境構築 ( S3 )

やったこと S3バケットを作成する バージョニングを設定 デフォルト暗号化 ライフサイクルを設定 ブロックパブリックアクセス バケットポリシーを設定 ( dataリソースを使う ) バケットポリシーを設定 ( JSONを使う ) Terraformのコード全体 まとめ やったこ…

Terraform ( v0.12.0 ) でSSMパラメータと連携してAurora ( MySQL ) を構築する

やったこと yhidetoshi.hatenablog.com で書いたコードをTerraformのバージョンを0.11.14から0.12.0アップデートして書き直してみた。 RDSクラスターを作成する説明については上記リンクのブログに記載しています。 ■ 構築する構成図 (workspace=prod) terra…

Terraform ( v0.12.0 ) でAWSの環境構築 ( Redis )

やったこと yhidetoshi.hatenablog.com で書いたコードをTerraformのバージョンを0.11.14から0.12.0アップデートして書き直してみた。Redisクラスターを作成する説明については上記リンクのブログに記載しています。 ■ 構築する構成図 (workspace=prod) 変更…

Terraform ( v0.12.0 ) でAWSの環境構築 ( VPC・NW )

やったこと 変更点 Terraformのコード全体 まとめ やったこと yhidetoshi.hatenablog.com で書いたコードをTerraformのバージョンを0.11.14から0.12.0アップデートして書き直してみた。 今回構築する環境は以下です。 ■ 構築する構成図 (workspace=prod) 変…

Terraform ( v0.11.14 ) でAWSの環境構築 (Redis)

やったこと Redisクラスタを構築するために必要な情報を取得する Envによってリソースを変更する コード全体 まとめ やったこと TerraformでAWSのElastiCache( redis ) を構築する vpc_id はssmパラメータから取得 subnet_id はTerraformの機能でフィルタ ( …

Terraform ( v0.11.14 ) でSSMパラメータと連携してAurora ( MySQL ) を構築する

やったこと TerraformのSSMパラメータについて vpc-id / subnet-id / db-passowd / securit-group-id を参照してサブネットIDを取得する Terraformのコード全体 まとめ やったこと yhidetoshi.hatenablog.com の以前に書いたブログ ( Terraformのコードの改…

TerraformのCI環境をGitHubとCodePipeline/CodeBuildで構築する

やったこと 環境 CodePipelineのフロー CodeBuildでの処理内容を定義する ssmパラメータでAPIの鍵情報を管理する tfstate-fileの保存先をS3に設定する やったこと Terraformのコーディングに集中するため、複数人で作業するためにTerraformの実行環境(CI)をA…

TerraformでAWSの環境構築 ( VPC・NW )

やったこと Terraformを利用してAWS環境を構築する。 今回は、VPCとNW周り(Subnet / RouteTable / NATGW / S3エンドポイント)をENVを3つの場合に分けて作成する。 Envはworkspaceを利用する。今回構築する環境は以下。 ■ 構築する構成図 (workspace=prod) te…