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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Atsushi Satou
September 29, 2024
Technology
39
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
150
図で理解するAWS Network Firewallのアーキテクチャ
atsuw0
0
500
CLIで構築した方が良いもの一覧.pdf
atsuw0
0
190
HCP Terraformを使ったら AWSやGCPの環境構築が捗った話
atsuw0
0
320
HCP Terraform について
atsuw0
0
1.9k
HashicorpCloudについて.pdf
atsuw0
0
42
AWS サーバレス設計 Tips集
atsuw0
0
130
AWS re:Invent 2023 ストレージ EFSレプリケーションのフェイルバック機能を試してみた
atsuw0
0
440
AWS re:Invent 2023 個人的に興味深いもの集
atsuw0
0
130
Other Decks in Technology
See All in Technology
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.3k
サービス内で複数のOP・ASを連鎖させる(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
320
Cloudflare製品を活用した AIガバナンス実践入門 / AI governance with Cloudflare Service
delta_tech
1
110
AWSとGitHub Actionsの責任境界と 組織で安全に使用する取り組み
nealle
0
200
Windows の互換機能 - 古いプログラムはなぜ動作できるのか
murachiakira
PRO
0
120
「ミスを許さない手順書」を作ってみた 〜 個人的にはこれ以上できることはあまりなさそう/20260827-ssmjp-operation-procedure-update
opelab
12
8.7k
Claude Codeで開発以外の業務も爆速化しよう!
minorun365
PRO
9
8.5k
あなたの知らないバージョン命名規則
sat
PRO
2
840
どんな手を使っても絶対間に合わせるスケジューラ
asari194617
0
1.5k
AIエージェントのためのデータ設計
daiz21
0
480
EMの役割で 変わったこと・変わらなかったこと
sansantech
PRO
0
180
dbt と Snowflake と tag
kevinrobot34
2
280
Featured
See All Featured
Paper Plane (Part 1)
katiecoart
PRO
1
10k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
830
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
390
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
900
Mind Mapping
helmedeiros
PRO
1
330
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
750
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
Music & Morning Musume
bryan
47
7.3k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
710
Balancing Empowerment & Direction
lara
6
1.2k
Building an army of robots
kneath
306
46k
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
ご清聴ありがとうございました