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
すごいぞManaged Kubernetes
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Haruka Sakihara
April 09, 2026
Technology
140
0
Share
すごいぞManaged Kubernetes
26/4/9 Kubernetes Novice Tokyo #40にて発表
https://k8s-novice-jp.connpass.com/event/386852/
Haruka Sakihara
April 09, 2026
More Decks by Haruka Sakihara
See All by Haruka Sakihara
CDKコード品質UP!ナイスな自作コンストラクタを作るための便利インターフェース
harukasakihara
2
420
初めてのGoogle Cloud by AWS出身者
harukasakihara
2
1k
気軽に作ろう!自作AWS CDKコンストラクタ
harukasakihara
3
710
ECSサービスとEC2 AutoScalingの使い心地がほぼ同じな件(???)
harukasakihara
0
740
そのCIは本当に役に立ってますか?~ 高品質なCIプロセスを実現する設計術 ~
harukasakihara
10
2.8k
意外と難しい?エンジンアップグレードとIaCの両立
harukasakihara
4
910
未経験エンジニアがアウトプット駆動で自らのキャリアと生きる道を切り開くまで
harukasakihara
9
5.5k
AWS CDKで作るCloudWatch Dashboard
harukasakihara
4
2.8k
ベストな Terraform ディレクトリ構成を考察してみた
harukasakihara
17
7.5k
Other Decks in Technology
See All in Technology
バックオフィスPJのPjMをコーポレートITが担うとうまくいく3つの理由
yueda256
1
230
Podcast配信で広がったアウトプットの輪~70人と音声発信してきた7年間~/outputconf_01
fortegp05
0
210
Microsoft Fabricで考える非構造データのAI活用
ryomaru0825
0
630
Babylon.js Japan Activities (2026/4)
limes2018
0
160
ブラックボックス化したMLシステムのVertex AI移行 / mlops_community_62
visional_engineering_and_design
1
270
やさしいとこから始めるGitHubリポジトリのセキュリティ
tsubakimoto_s
3
2.1k
Databricks Appsで実現する社内向けAIアプリ開発の効率化
r_miura
0
280
AWSで2番目にリリースされたサービスについてお話しします(諸説あります)
yama3133
0
110
「活動」は激変する。「ベース」は変わらない ~ 4つの軸で捉える_AI時代ソフトウェア開発マネジメント
sentokun
0
140
FlutterでPiP再生を実装した話
s9a17
0
250
Sansanの認証基盤を支えるアーキテクチャとその振り返り
sansantech
PRO
1
150
Babylon.js を使って試した色々な内容 / Various things I tried using Babylon.js / Babylon.js 勉強会 vol.5
you
PRO
0
210
Featured
See All Featured
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
990
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.2k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.2k
How to build a perfect <img>
jonoalderson
1
5.3k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
500
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
190
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
960
Bash Introduction
62gerente
615
210k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
110
Transcript
すごいぞManaged Kubernetes Thursday, April 9, 2026 Haruka Sakihara Kubernetes Novice
Tokyo #40
自己紹介 Haruka Sakihara <主な取得資格> • ネットワークスペシャリスト試験(IPA) • AWS Certified 全13資格
• Google Cloud Certification 10資格 • Microsoft Certified 5資格 <所属> • アクセンチュア株式会社 テクノロジー コンサル ティング本部 (2021年新卒入社) • クラウドの部署にいます <趣味> • Go言語が好きです • フィギュアスケートとサンリオも好きです <その他表彰> • 2023 Japan AWS Jr.Champion • 2024-25 Japan AWS All Certifications Engineer
Kubernetesを使ってる人は挙手
Managed Kubernetes (EKS/AKS/GKEなど)を 使ってる人は挙手
“Managed” Kubernetesの ありがたさを 本当にわかってますか????
実はマネージドKubernetesがすごいところ • ネットワークの設定が簡単! • サービスの外部公開が簡単! • データの永続化が簡単! • クラウドサービスを触るための権限付与が簡単! •
コンテナのデプロイが簡単!
実はマネージドKubernetesがすごいところ • ネットワークの設定が簡単! • サービスの外部公開が簡単! • データの永続化が簡単! • クラウドサービスを触るための権限付与が簡単! •
コンテナのデプロイが簡単!
クラスタ上にあるPodのネットワーク設定 Kubernetesのクラスターを作って、その上にPodをデプロイすることを考えます。Podにはクラス タ外部・内部と通信するためにIPアドレスが割り振られています。 Kubernetesクラスタ IPアドレス① IPアドレス② IPアドレス③ IPアドレス④
CNI PluginによるVPC統合 セルフホストk8sでは、Podに割り振られるIPアドレスはクラスタを形成するEC2インスタンスや VPCのIPアドレス範囲とは完全に別範囲のものが割り振られます。しかし、AWS VPC CNIがプリイ ンストールされているEKSでは、PodのIPはVPCのCIDR範囲内から自動で割り当てられます。 Self-Managed VPC (10.0.0.0/16)
EC2 instance contents Instances 192.168.0.1 192.168.0.2 192.168.0.3 192.168.0.4 192.168.0.5 192.168.0.6 VPCと無関係なIPが 割り当てられる
CNI PluginによるVPC統合 セルフホストk8sでは、Podに割り振られるIPアドレスはクラスタを形成するEC2インスタンスや VPCのIPアドレス範囲とは完全に別範囲のものが割り振られます。しかし、AWS VPC CNIがプリイ ンストールされているEKSでは、PodのIPはVPCのCIDR範囲内から自動で割り当てられます。 Self-Managed VPC (10.0.0.0/16)
EC2 instance contents Instances 192.168.0.1 192.168.0.2 192.168.0.3 192.168.0.4 192.168.0.5 192.168.0.6 VPCと無関係なIPが 割り当てられる EKS VPC (10.0.0.0/16) Amazon EKS 10.0.0.1 10.0.0.2 10.0.0.3 10.0.0.4 10.0.0.5 10.0.0.6 VPCのCIDR範囲内 からIP払い出し EKSクラスタ上のPodネットワークは VPCとシームレスに統合されている
実はマネージドKubernetesがすごいところ • ネットワークの設定が簡単! • サービスの外部公開が簡単! • データの永続化が簡単! • クラウドサービスを触るための権限付与が簡単! •
コンテナのデプロイが簡単!
クラスタ上にあるサービスの外部公開 Kubernetes上にサービスをデプロイしたとき、それを外部に公開するためにはIngressと呼ばれる k8sリソースをクラスタにデプロイする必要があります。 Kubernetesクラスタ ユーザー Ingressを通して ユーザーがサービスにアクセスする!
IngressとALBの統合 Self-Managedクラスタですと、ただIngressをデプロイしたとしても対応するクラウドサービスが 作成されないので外部公開は一筋縄ではいきません。 AWS LoadBalancer Controllerがインストー ルされているEKSクラスタであれば、Ingressをデプロイしたら自動的にALBがデプロイされます。 Self-Managed VPC (10.0.0.0/16)
EC2 instance contents (192.168.0.1) (192.168.0.2) Ingressを作っても そのままだと 何も起こらない!!!
IngressとALBの統合 Self-Managedクラスタですと、ただIngressをデプロイしたとしても対応するクラウドサービスが 作成されないので外部公開は一筋縄ではいきません。 AWS LoadBalancer Controllerがインストー ルされているEKSクラスタであれば、Ingressをデプロイしたら自動的にALBがデプロイされます。 Self-Managed VPC (10.0.0.0/16)
EKSはIngressデプロイと連動してALBを作れる! EC2 instance contents (192.168.0.1) (192.168.0.2) Ingressを作っても そのままだと 何も起こらない!!! EKS VPC (10.0.0.0/16) EKS Managed Cluster (10.0.0.1) (10.0.0.2) Application Load Balancer 自動 作成 PodのIPを直接Targetに設定
実はマネージドKubernetesがすごいところ • ネットワークの設定が簡単! • サービスの外部公開が簡単! • データの永続化が簡単! • クラウドサービスを触るための権限付与が簡単! •
コンテナのデプロイが簡単!
クラスタでのデータ永続化 Podはコンテナなので、削除されてしまうとその中にあったデータは消えてしまいます。永続化した いのであれば、Persistant Volumeというリソースを作る必要があります。 Kubernetesクラスタ
クラスタでのデータ永続化 Podはコンテナなので、削除されてしまうとその中にあったデータは消えてしまいます。永続化した いのであれば、Persistant Volumeというリソースを作る必要があります。 しかし、k8sクラスタ上で定義されたPersistantVolumeは、実体としてはどこにあるでしょうか? Kubernetesクラスタ データを永続化するためには Volumeが必要!!! ↓ このデータはクラウド上のどこにある?
Persistent Volume(PV)とEBS/EFSの統合 EBS CSI DriverやEFS CSI DriverがインストールされたEKSクラスタであれば、PV Claimをデプロイ したらデータが指定のEBSやEFSに保存されるようになります。それがないSelf-Managedクラスタ ですと、データの永続化のためにCSI
Driverを自力でインストールする必要があります。 AWS Cloud provisioner: ebs.csi.aws.com Storage Classを 指定 provisioner: efs.csi.aws.com Amazon EFS Amazon EBS データが連動 EKSならば最初からこの仕組みが入っている! データが連動 Storage Classを 指定
実はマネージドKubernetesがすごいところ • ネットワークの設定が簡単! • サービスの外部公開が簡単! • データの永続化が簡単! • クラウドサービスを触るための権限付与が簡単! •
コンテナのデプロイが簡単!
Podが使う権限の設定 Podが外部サービスのAPIを叩くときには、適切な権限を持ったServiceAccountと呼ばれるリソー スを作成し、それをPodと紐づけることで権限付与を行います。 Kubernetesクラスタ Amazon SQS ②ServiceAccountが持つIAM権限のもと API callができる! AWS
Identity and Access Management (IAM) ①PodとServiceAccountを 紐づける
Podが使う権限の設定 Podが外部サービスのAPIを叩くときには、適切な権限を持ったServiceAccountと呼ばれるリソー スを作成し、それをPodと紐づけることで権限付与を行います。 Kubernetesクラスタ Amazon SQS ②ServiceAccountが持つIAM権限のもと API callができる! AWS
Identity and Access Management (IAM) ①PodとServiceAccountを 紐づける Q. ここはどうやって実現している??
Service AccountとIAM Roleの統合(1/2) EKSにはIAM Roles for Service Accounts(IRSA)という仕組みがあり、k8sのServiceAccountにIAM Role権限を紐づけることができます。 EKS
Cluster AWS Cloud Role IAM OIDC Provider Managed OIDC Provider (https://oidc.eks.region .amazonaws.com) AWS STS ④トークンのsub, aud属性が RoleのAssume Conditionに 一致するかを検証 ② AssumeRoleWithWebIdentity Principal: OIDC Federated User Condition: sub=SA & aud=AWS STS ⑤Temp Creds ①IDトークン 発行 ③トークン署名 検証 連携
Service AccountとIAM Roleの統合(2/2) EKSクラスタにはeksctlコマンドで簡単にIAM OIDC Providerを組み込むことができ、これにより IRSAを構成できます。Self-Managedクラスタで同様のことを実現するためには、OIDC Providerを 用意したうえでAmazon EKS
Pod Identityを自力で構成する必要があります。 EKS Self-Managed EC2 self-managed Cluster EKS Cluster AWS Cloud AWS Cloud IAM S3 Bucket CloudFront OIDC Provider 自作OIDC Provider (OIDC Configurationと JWKSを公開) AWS STS Managed OIDC Provider (https://oidc.eks.region .amazonaws.com) 自動 連携 登録 自作OIDC Providerの 秘密鍵で SA tokenを発行 IAM OIDC Provider AWS STS Managed Control Plane
実はマネージドKubernetesがすごいところ • ネットワークの設定が簡単! • サービスの外部公開が簡単! • データの永続化が簡単! • クラウドサービスを触るための権限付与が簡単! •
コンテナのデプロイが簡単!
プライベートレジストリのイメージデプロイ AWS ECRのような、適切な権限を持ったワークロードからでないとPullできないようなイメージを 使ってPodを構成することがあります。では、KubernetesクラスタはそのPull権限をどのようにし て手に入れたのでしょうか? Kubernetesクラスタ このPull権限はどこから???? Amazon Elastic Container
Registry (Amazon ECR) イメージPull
EKS Cluster Node Image Credential Providerのセットアップ ECRのようなプライベートレジストリを利用する場合、そのPull権限を持つクレデンシャルをPodデ プロイを行うkubeletに渡す必要があります。これをするにはImage Credential Providerのセット
アップが必要ですが、EKSのAMIには初めからその設定が備わっています。 EKS Self-Managed EC2 self-managed Cluster AWS Cloud AWS Cloud xxx.dkr.ecr.ap-northeast- 1.amazonaws.comというイメージ 名ならECR Image Credential ProviderからイメージPull credsを 取得 Amazon Elastic Container Registry (Amazon ECR) Amazon Elastic Container Registry (Amazon ECR) ECRから イメージPull Config ECR Image Credential Provider Program Binary
マネージドKubernetesなら気にせずできることまとめ • クラスタがあるVPCの中から自動でPod IPが払い出される! • Ingressを作るだけでALBがデプロイできる! • Persistent VolumeをデプロイするだけでEBS/EFSにデータ永続化ができる! •
ServiceAccountとIAM Roleの連携が簡単にいい感じにできる! • 何もしなくてもECRからコンテナイメージをPullできる! • … and more!
総括 マネージドって 意外といろいろやってくれてるんやなあ (感謝しようね!!!!)
Thank You ご意見、ご質問ありましたらお気軽にご連絡下さい
[email protected]
Haruka Sakihara(崎原 晴香)