Upgrade to Pro — share decks privately, control downloads, hide ads and more …

HashicorpCloudについて.pdf

Avatar for Atsushi Satou Atsushi Satou
September 29, 2024

 HashicorpCloudについて.pdf

Avatar for Atsushi Satou

Atsushi Satou

September 29, 2024
Tweet

More Decks by Atsushi Satou

Other Decks in Technology

Transcript

  1. Terraform Cloudとは? ・Organiations … 組織 ・Projects … チームとワークスペースの関連付け ・Workspaces …

    terraform plan/apply実行単位 plan/applyが実行されるタイミング → リポジトリへpullreq / mergeでトリガー Terraform Cloud アーキテクチャ
  2. Vault Secrets + HPC Terraform アーキテクチャ 1. Vault Secrets でシークレットを登録

    2. HCP Terraform 上のWorkspaces変数にシークレットの値を同期 Sensitive変数として登録 3. Terraform テンプレートのvariable句で 変数を呼び出す
  3. Vault Secrets + HPC Terraform シークレット登録 & 同期 Vault Secrets

    HCP Terraform Cloud Secrets 登録 HCP Terraform Cloudへ同期
  4. HPC Terraform とその他CI/CDサービス HPC Terraform ・シンプルに構築可能 ・Terraformバージョン切り替え可能 ・シンプルにPlan/Apply可能 その他(CircleCI, GitHub

    Actions 等) ・OrbやDockerfileなど実行環境の構 築は必要 ・指定したTerraformバージョンをイ ンストールするDockerfileなどの定義 ファイルが必要 ・テストやコンプライアンスチェックな ど柔軟なパイプラインが構築可能 → 一長一短なので使い分ける必要あり
  5. まとめ - Terraform Cloud のワークスペースを作成することで、 GitHubにPullreq/MergeするだけでPlan, Applyを実行できる - プライベートレジストリで複数のプロジェクトから呼び出し可能。また、柔軟にモジュー ルのバージョン管理ができる。

    - Vault Secrets でマルチプロバイダーでシークレットを管理できる (但しAWS Secrets Managerなどのローテーションによる同期はサポートされてない ) - シンプルなCI/CDをTerraform Cloud で実現できる。より複雑なフローの場合は GitHub ActionsやCircleCIを利用した方がベター.
  6. 参考資料 [元記事] - https://qiita.com/atw0_0w/items/6b55f671e1088cbc140e - https://qiita.com/atw0_0w/items/58812c0baf1a0000b757 - https://qiita.com/atw0_0w/items/5f2278dd0074e4c380d1 - https://qiita.com/atw0_0w/items/7d19f3105e55007d1de9

    - https://qiita.com/atw0_0w/items/6d07e68db714eb68a5f5 [リポジトリ] - Terraform ワークスペース用 - https://github.com/atsw0q0/test-terraform-cloud - Private Registry用 - https://github.com/atsw0q0/terraform-aws-network-templates - https://github.com/atsw0q0/terraform-aws-webapp-templates