Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
HashicorpCloudについて.pdf
Search
Atsushi Satou
September 24, 2024
47
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
160
図で理解するAWS Network Firewallのアーキテクチャ
atsuw0
0
560
CLIで構築した方が良いもの一覧.pdf
atsuw0
0
200
HCP Terraformを使ったら AWSやGCPの環境構築が捗った話
atsuw0
0
370
HashicorpCloudについて.pdf
atsuw0
0
40
HCP Terraform について
atsuw0
0
1.9k
AWS サーバレス設計 Tips集
atsuw0
0
140
AWS re:Invent 2023 ストレージ EFSレプリケーションのフェイルバック機能を試してみた
atsuw0
0
450
AWS re:Invent 2023 個人的に興味深いもの集
atsuw0
0
140
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1369
210k
The SEO identity crisis: Don't let AI make you average
varn
0
590
The Cost Of JavaScript in 2023
addyosmani
55
10k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
730
What the history of the web can teach us about the future of AI
inesmontani
PRO
2
740
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
800
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
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
ご清聴ありがとうございました