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
AKS と HCP Vault の組み合わせでつまずいた話 / Stumbles with A...
Search
ののし
September 16, 2023
Technology
1
91
AKS と HCP Vault の組み合わせでつまずいた話 / Stumbles with AKS and HCP Vault combination
ののし
September 16, 2023
Tweet
Share
More Decks by ののし
See All by ののし
HashiCorp Ambassador が予想!Red Hat × HashiCorp の未来 / The Future of Red Hat and HashiCorp
nnstt1
1
120
Terraform を使った Front Door の小ネタ / Terraform for Front Door
nnstt1
0
73
つまずきから学ぶ Backstage の Golden Path 構築
nnstt1
1
870
Azure ユーザに捧げる Terraform Cloud 101 / Terraform Cloud 101 for Azure Users
nnstt1
0
450
Vault Secrets Operator と HCP Vault を使った AKS のシークレット管理 / AKS secret management using the Vault Secrets Operator and HCP Vault
nnstt1
0
100
Vault Secrets Operator と Dynamic Secrets で安全にシークレットを使おう / Vault Secrets Operator and Dynamic Secrets
nnstt1
4
770
OpenShift を身近に感じる Single Node OpenShift と OpenShift Local / Single Node OpenShift and OpenShift Local that makes OpenShift familiar
nnstt1
1
960
カンタンお手軽?!k8sから使えるラズパイ分散ストレージ / Raspberry Pi distributed storage from k8s
nnstt1
1
1.4k
Operator を導入してみよう ~MinIO Operator 編~ / Let's install Operator ~MinIO Operator~
nnstt1
0
1k
Other Decks in Technology
See All in Technology
Forget efficiency – Become more productive without the stress
ufried
0
110
急成長中のWINTICKETにおける品質と開発スピードと向き合ったQA戦略と今後の展望 / winticket-autify
cyberagentdevelopers
PRO
1
160
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
27
12k
Java x Spring Boot Warm up
kazu_kichi_67
2
490
プロダクトエンジニアが活躍する環境を作りたくて 事業責任者になった話 ~プロダクトエンジニアの行き着く先~
gimupop
1
460
生成AIとAWS CDKで実現! 自社ブログレビューの効率化
ymae
2
330
Vueで Webコンポーネントを作って Reactで使う / 20241030-cloudsign-vuefes_after_night
bengo4com
4
2.5k
初心者に Vue.js を 教えるには
tsukuha
5
390
とあるユーザー企業におけるリスクベースで考えるセキュリティ業務のお話し
4su_para
3
320
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
5
49k
ユーザーの購買行動モデリングとその分析 / dsc-purchase-analysis
cyberagentdevelopers
PRO
2
100
ガチ勢によるPipeCD運用大全〜滑らかなCI/CDを添えて〜 / ai-pipecd-encyclopedia
cyberagentdevelopers
PRO
3
200
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
228
52k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
46
2.1k
[RailsConf 2023] Rails as a piece of cake
palkan
51
4.9k
Why Our Code Smells
bkeepers
PRO
334
57k
Build The Right Thing And Hit Your Dates
maggiecrowley
32
2.4k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Measuring & Analyzing Core Web Vitals
bluesmoon
1
39
Transcript
AKS と HCP Vault の組み合わせで つまずいた話 Japan Azure User Group
13周年イベント 2023/9/16
自己紹介 Name Taichi Nonoshita X @nnstt1 Company 株式会社エーピーコミュニケーションズ Love 3人の息子たち(3歳・1歳双子)
めざせ Azure 資格全冠! (まだ折り返してない …)
お話しすること・しないこと お話しすること • HashiTalks のセッションを準備するにあ たって Azure でつまずいた経験 お話ししないこと •
AKS の詳しい説明 • HashiCorp Vault の詳しい説明
• HashiCorp が開発しているシークレット管理ツール • 様々な環境で利用可能 ◦ コミュニティ版 Vault ◦ セルフマネージドな
Vault Enterprise ◦ マネージドサービスの HCP Vault ←本日の対象 • Dynamic Secrets という機能が特徴的(個人の感想) ◦ ユーザからのリクエストに応じて Microsoft Entra ID (Azure AD) や Database などに期限付きのユーザを作成 簡単な HashiCorp Vault の説明 とても雑な
• HCP (HashiCorp Cloud Platform) で提供されている Vault のマネージドサービス • HVN
(HashiCorp Virtual Network) を Azure に作成、 ユーザ管理の VNet とピアリングすることで HCP Vault にプライベートアクセス可能 • HCP Vault が Azure に対応したのは 2023/2 HCP Vault とは
• 2023/3 に公開された Vault Secrets Operator により、Kubernetes の シークレットを Vault
で管理することがより簡単になった • Vault Secrets Operator と HCP Vault を使えば AKS のシークレットを 安全に管理できそう HCP Vault で AKS のシークレットを管理
AKS にはシークレット管理の機能があるのでは?
• 既に AKS では Secret Store CSI Driver という機能を使った シークレット管理が提供されている
◦ Key Vault のシークレットを AKS のアプリケーション (Pod) に連携 ◦ Secret リソースとしても作成可能 ◦ Key Vault のシークレット更新も AKS 内に反映 AKS のシークレット管理 Azure Portal での有効化はこちらから
好きなサービス・ツール同士を掛け合わせたい(浪漫) が、つまずきも多い
つまずきポイント 1. HVN を Azure VNet をピアリングできない 2. AKS から
HCP Vault に繋がらない 3. HCP Vault から AKS (Private Cluster) に繋がらない
• 事前に HVN と VNet をピアリングする必要があ る • HCP ポータルでピアリング用
Terraform が表 示されるので実行 ◦ 個人テナントでは ピアリング成功 ◦ 会社テナントでは ピアリング失敗 HVN と Azure VNet をピアリングできない つまずき1
HVN と Azure VNet をピアリングできない • ピアリングの流れ a. HashiCorp 管理のアプリケーション
ID を エンタープライズアプリケーションとして Microsoft Entra ID (Azure AD) に登録 b. サービスプリンシパルに VNet のカスタムロー ル割り当て c. HashiCorp アプリケーションが HVN と VNet をピアリング つまずき1
• ピアリングの流れ a. HashiCorp 管理のアプリケーション ID を エンタープライズアプリケーションとして Microsoft Entra
ID (Azure AD) に登録 b. サービスプリンシパルに VNet のカスタムロー ル割り当て c. HashiCorp アプリケーションが HVN と VNet をピアリング アプリケーション登録の権限不足 アプリケーション管理者 ロールが必要だった つまずき1
• ピアリングもできたので AKS から HCP Vault のプライベート URL にアクセ スさせてみよう
→ 繋がらない AKS から HCP Vault に繋がらない HVN VNet ピアリング プライベート URL へのアクセス =Azure バックボーン経由 パブリック URL へのアクセス =インターネット経由 つまずき2
VNet • ピアリングした VNet とは別に AKS 用の VNet を作成していた •
HVN とピアリングした VNet にAKS を作成することで プライベート URL でアクセス可能になった AKS 作成時の VNet 確認不足 HVN VNet ピアリング 実際の構成 つまずき2
• プライベート AKS クラスタの API サーバはパブリックアクセス不可 • Kubernetes 認証するときに HCP
Vault から AKS に対して通信が発生 • プライベート AKS クラスタを使って認証もセキュアにしよう →繋がらない HCP Vault から AKS (Private Cluster) に繋がらない VNet HVN ピアリング プライベートアクセス失 敗 パブリックアクセスは不可 つまずき3
• HCP Vault はピアリングしているが Azure の名前解決できない ◦ AKS だけでなく他のサービスもアクセス不可 •
プライベート AKS クラスタはプライベート DNS ゾーンに レコードが登録される ◦ プライベート DNS ゾーンの仮想ネットワークリンクも不可 • HashiCorp Consul というサービスディスカバリを使えば HCP Vault から Azure サービスにプライベートアクセス可能? HCP Vault が名前解決できない つまずき3 まだ対処できてません …
まとめ • HCP Vault (HVN) を Azure VNet とピアリングする ときはアプリケーション管理ロールが必要
• AKS を作る際は “新規 VNet” or “既存 VNet” を要確認 • HCP Vault から Azure サービスへのプライベート アクセスは(現時点では)難しい