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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Atsushi Satou
September 29, 2024
Technology
32
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
HashicorpCloudについて.pdf
Atsushi Satou
September 29, 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
HCP Terraform について
atsuw0
0
1.8k
HashicorpCloudについて.pdf
atsuw0
0
39
AWS サーバレス設計 Tips集
atsuw0
0
130
AWS re:Invent 2023 ストレージ EFSレプリケーションのフェイルバック機能を試してみた
atsuw0
0
430
AWS re:Invent 2023 個人的に興味深いもの集
atsuw0
0
130
Other Decks in Technology
See All in Technology
AI Agentをシステムに組み込む前にゆるく向き合ってみる
hayama17
0
130
FPC(フレキシブル)基板にZephyr実装してみた。
iotengineer22
0
170
不要なレビューをAIにまかせて AIコーディングの環境改善を加速した
shoota
1
260
AIAU_UMEMOGU_ninomiya_slide
ninomiya_ii
0
260
AWS Security Agent といっしょに脅威モデリングをやってみよう
amarelo_n24
1
210
MUSUBI 田中裕一『AIと共に行う「しごとのリデザイン」- スモールバックオフィス編』AI Ops Lab #4
musubi
0
310
徹底討論!ECS vs EKS!
daitak
3
1.7k
レガシーな広告配信システムでのAI駆動開発/運用の挑戦
i16fujimoto
0
120
フィジカル版Github Onshapeの紹介
shiba_8ro
0
320
Comment regagner la souveraineté de vos données tout en étant payé grâce à Nostr !
rlifchitz
0
200
Claude Codeをどのように キャッチアップしているか
oikon48
13
8.8k
Zenoh on Zephyr on LiteX
takasehideki
2
110
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
3.1k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
370
Docker and Python
trallard
47
3.9k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
750
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Side Projects
sachag
455
43k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
390
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
320
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
850
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
ご清聴ありがとうございました