Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
HashicorpCloudについて.pdf
Search
Atsushi Satou
September 24, 2024
39
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
HashicorpCloudについて.pdf
HashicorpCloudについて.pdf
Atsushi Satou
September 24, 2024
More Decks by Atsushi Satou
See All by Atsushi Satou
AWS ECSでサービス間通信についておさらい
atsuw0
1
140
図で理解するAWS Network Firewallのアーキテクチャ
atsuw0
0
450
CLIで構築した方が良いもの一覧.pdf
atsuw0
0
180
HCP Terraformを使ったら AWSやGCPの環境構築が捗った話
atsuw0
0
280
HashicorpCloudについて.pdf
atsuw0
0
32
HCP Terraform について
atsuw0
0
1.8k
AWS サーバレス設計 Tips集
atsuw0
0
130
AWS re:Invent 2023 ストレージ EFSレプリケーションのフェイルバック機能を試してみた
atsuw0
0
430
AWS re:Invent 2023 個人的に興味深いもの集
atsuw0
0
130
Featured
See All Featured
Un-Boring Meetings
codingconduct
0
320
How to Ace a Technical Interview
jacobian
281
24k
Designing Experiences People Love
moore
143
24k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Are puppies a ranking factor?
jonoalderson
1
3.6k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Heart Work Chapter 1 - Part 1
lfama
PRO
7
36k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
140
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
420
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
310
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.2k
Transcript
HashiCorp Cloud サービス(Terraform , Vault) について触ってみた 佐藤 淳 勉強会資料
Hashicorp Cloud 今回利用するHashicorp社のサービス ・Terraform Cloud Organizations, Projects, Workspaces Private Registry
・Vault Secrets Terraform Cloudからのシークレット参照
Terraform Cloud (Organizations, Projects, Workspacesについて)
Terraform Cloudとは? ・Organiations … 組織 ・Projects … チームとワークスペースの関連付け ・Workspaces …
terraform plan/apply実行単位 plan/applyが実行されるタイミング → リポジトリへpullreq / mergeでトリガー Terraform Cloud アーキテクチャ
Organizations … 組織単位で作成 Terraform Cloud Organiations
Projects … プロダクト・システム単位で作成 Terraform Cloud Projects
Workspaces … terraform plan/apply実行単位で作成 Terraform Cloud Workspaces
[ハンズオン] ワークスペースの作成
[ハンズオン] ワークスペースの作成
[ハンズオン] ワークスペースの作成
[ハンズオン] ワークスペースの作成
[ハンズオン] HCP Terraform 上でTerraform Plan/Apply GitHubと連携している際、feature→mainへプルリクエストを投げるとplan。 MergeするとApply。 Pull Request Merge
$ terraform plan $ terraform apply
Organizations 〜 Workspacesの作成。Terraform Plan/Applyの実行に ついては↓の記事を是非参考に🙏 https://qiita.com/atw0_0w/items/6b55f671e1088cbc140e
Terraform Cloud (Private Registryについて)
Terraform Cloud Private Registry Private Registry ・プライベートレジストリにモジュールを予め登録することで、複数のワークスペースから呼び出すこ とが可能。 ・バージョンごとに管理可能なため、 任意のバージョンを利用可能。
[ハンズオン]プライベートレジストリの作成 リポジトリ名は terraform-<provider>-<name> とする
[ハンズオン]プライベートレジストリの作成
Private Registryの呼び出し サブモジュールの呼び出し
サブモジュールのテンプレートの格納先 ./modules/<folder_name> 下にテンプレートを作成
Vault Secrets (Terraform Cloudからのシークレット参照)
Vault Secretsとは? マルチプロバイダーにおけるシークレットを 統合管理できるサービス Vault Secrets アーキテクチャ
Vault Secretsとは? マルチプロバイダーにおけるシークレットを 統合管理できるサービス 管理対象は - パスワード - API トークン
- アクセスキー が挙げられる。 Vault Secrets アーキテクチャ
Vault Secrets + HPC Terraform アーキテクチャ 1. Vault Secrets でシークレットを登録
2. HCP Terraform 上のWorkspaces変数にシークレットの値を同期 Sensitive変数として登録 3. Terraform テンプレートのvariable句で 変数を呼び出す
Vault Secrets + HPC Terraform インテグレーション
Vault Secrets + HPC Terraform インテグレーション
Vault Secrets + HPC Terraform シークレット登録 & 同期 Vault Secrets
HCP Terraform Cloud Secrets 登録 HCP Terraform Cloudへ同期
注意点
HPC Terraform とその他CI/CDサービス HPC Terraform ・シンプルに構築可能 ・Terraformバージョン切り替え可能 ・シンプルにPlan/Apply可能 その他(CircleCI, GitHub
Actions 等) ・OrbやDockerfileなど実行環境の構 築は必要 ・指定したTerraformバージョンをイ ンストールするDockerfileなどの定義 ファイルが必要 ・テストやコンプライアンスチェックな ど柔軟なパイプラインが構築可能 → 一長一短なので使い分ける必要あり
まとめ - Terraform Cloud のワークスペースを作成することで、 GitHubにPullreq/MergeするだけでPlan, Applyを実行できる - プライベートレジストリで複数のプロジェクトから呼び出し可能。また、柔軟にモジュー ルのバージョン管理ができる。
- Vault Secrets でマルチプロバイダーでシークレットを管理できる (但しAWS Secrets Managerなどのローテーションによる同期はサポートされてない ) - シンプルなCI/CDをTerraform Cloud で実現できる。より複雑なフローの場合は GitHub ActionsやCircleCIを利用した方がベター.
参考資料 [元記事] - 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
ご清聴ありがとうございました