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 AKS and HCP Vault combination
Search
ののし
September 16, 2023
Technology
1
59
AKS と HCP Vault の組み合わせでつまずいた話 / Stumbles with AKS and HCP Vault combination
ののし
September 16, 2023
Tweet
Share
More Decks by ののし
See All by ののし
Terraform を使った Front Door の小ネタ / Terraform for Front Door
nnstt1
0
33
つまずきから学ぶ Backstage の Golden Path 構築
nnstt1
1
380
Azure ユーザに捧げる Terraform Cloud 101 / Terraform Cloud 101 for Azure Users
nnstt1
0
340
Vault Secrets Operator と HCP Vault を使った AKS のシークレット管理 / AKS secret management using the Vault Secrets Operator and HCP Vault
nnstt1
0
47
Vault Secrets Operator と Dynamic Secrets で安全にシークレットを使おう / Vault Secrets Operator and Dynamic Secrets
nnstt1
4
640
OpenShift を身近に感じる Single Node OpenShift と OpenShift Local / Single Node OpenShift and OpenShift Local that makes OpenShift familiar
nnstt1
1
780
カンタンお手軽?!k8sから使えるラズパイ分散ストレージ / Raspberry Pi distributed storage from k8s
nnstt1
1
1.2k
Operator を導入してみよう ~MinIO Operator 編~ / Let's install Operator ~MinIO Operator~
nnstt1
0
920
Cephadm を使った Ceph クラスタ構築 / Build a Ceph cluster with Cephadm
nnstt1
2
4.2k
Other Decks in Technology
See All in Technology
LayerXにおけるLLMプロダクト開発の今までとこれから
layerx
PRO
3
500
Grafana x PagerDuty Better Together
jacopen
1
180
一生覚えておきたい「システム開発=コミュニケーション」〜初めての実務案件振り返りLT〜
maimyyym
2
190
Azure犬駆動開発の記録/GlobalAzureFukuoka2024_20240420
nina01
1
230
リテール金融(キャッシュレス・ネット銀行・ネット証券)の競争環境と経済圏
8maki
0
1.4k
いいたいことちゃんという
tkengo
0
110
家族アルバム みてねにおけるGrafana活用術 / Grafana Meetup Japan Vol.1 LT
isaoshimizu
1
850
Building a RAG-poweredAI chat appwith Python and VS Code
pamelafox
0
120
複雑な構成要素を持つUIとの向き合い方 〜新・支出グラフでの実例〜 / B43 TECH TALK
nakamuuu
0
140
Janus
bkuhlmann
1
490
EMとして2023年度に頑張ったこと / What we did well in FY2023 as a EM
pauli
1
180
Building Dashboards as a Hobby
egmc
0
310
Featured
See All Featured
How GitHub Uses GitHub to Build GitHub
holman
468
290k
The Pragmatic Product Professional
lauravandoore
25
5.8k
Visualization
eitanlees
136
14k
Infographics Made Easy
chrislema
238
18k
Side Projects
sachag
451
41k
Building Adaptive Systems
keathley
31
1.9k
Docker and Python
trallard
34
2.7k
Designing with Data
zakiwarfel
96
4.8k
Build your cross-platform service in a week with App Engine
jlugia
225
17k
Navigating Team Friction
lara
178
13k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
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 サービスへのプライベート アクセスは(現時点では)難しい