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
EBS CSI driverを利用しているEKSクラスターをEKS Auto Modeにインプ...
Search
枡川健太郎
November 07, 2025
0
53
EBS CSI driverを利用しているEKSクラスターをEKS Auto Modeにインプレースで移行してみる
2025/11/7 JAWS-UGコンテナ支部 x ストレージ支部コラボ会
枡川健太郎
November 07, 2025
Tweet
Share
More Decks by 枡川健太郎
See All by 枡川健太郎
ECSネイティブBlue/Greenデプロイについて調べてみた
masukawa
0
290
CloudWatch MCP サーバーと CloudWatch Application Signals MCP サーバーを使ってみた
masukawa
2
580
[re:Inforce2025振り返り勉強会]アプリケーションコードもIaCコードもまとめてチェック! Amazon InspcetorのCode Securityを試してみる!
masukawa
0
30
[k8s novice x JAWSコンテナ]Kubernetes Wakaran Tokyo #3 EKS Hands-on 解説
masukawa
0
66
re_Invent 2024 コンテナ関連アップデート総まとめ #cmregrowth
masukawa
0
700
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
4.9k
Fireside Chat
paigeccino
41
3.7k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
How to train your dragon (web standard)
notwaldorf
97
6.3k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Why Our Code Smells
bkeepers
PRO
340
57k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.3k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
How STYLIGHT went responsive
nonsquared
100
5.9k
Site-Speed That Sticks
csswizardry
13
940
Transcript
© 2025 Classmethod, Inc. 2025/11/7 JAWS-UGコンテナ⽀部 x ストレージ⽀部コラボ会 クラスメソッド株式会社 枡川健太郎
EBS CSI driverを利⽤しているEKSクラス ターをEKS Auto Modeにインプレースで 移⾏してみる
© 2025 Classmethod, Inc. EKS Auto Mode 2 従来よりマネージドな部分を増やした形でEKSを利⽤可能。主なメリットとしては下記。 •
EC2ノードの管理をAWSに委任できる (Amazon EC2 マネージドインスタンス) • 各種コンポーネントと同等の機能をマネージドな形で最初から利⽤できる ◦ EBS CSI driver ◦ AWS Load Balancer Controller ◦ Karpenter ◦ VPC CNI Plugin ◦ CoreDNS ◦ kube-proxy ◦ Pod Identityエージェント ◦ Node Monitoring Agent
© 2025 Classmethod, Inc. EBS CSI driverについて 3 • EKSからEBSを扱うためのCSI
(Container Storage Interface) 仕様に準拠したドライバー ◦ CSI仕様に準拠したドライバーを使うことでKubernetesが各種ストレージを扱うことが可能 • 従来はEKSアドオンとして明⽰的にインストールが必要だった ◦ アドオンを追加するだけではあるものの、権限周りやKubernetesアップグレード時の互換 性調査が少し⾯倒だった • EKS Auto Modeでは管理不要に!! ※ EFS CSI driverやFSx CSI driver、MountPoint for Amazon S3 CSI driverなどストレージを扱うた めのドライバーは他にも存在し、これらはAuto Modeでも明⽰的なインストールが必要
© 2025 Classmethod, Inc. 既存のEKSクラスターをAuto Modeに移⾏したい 4 下記2パターンの移⾏⽅針がある • インプレースでAuto
Modeを有効化して移⾏ • Auto Modeのクラスターを新規作成して、Blue/Green⽅式で移⾏ インプレース移⾏は可能なものの、下記はサポートされていない • EBS CSI コントローラー管理のPVCをEKS Auto Mode管理に移⾏ • ALB Load Balancer Controller管理のロードバランサーをEKS Auto Mode管理に移⾏ • VPC CNI driver以外のネットワーク構成を採⽤したEKSクラスターの移⾏ 既存の EKS クラスターで EKS ⾃動モードを有効にする | Amazon EKS
© 2025 Classmethod, Inc. インプレース移⾏のイメージ 5 • マネージドグループやFargateなどで管理されているノードとAuto Mode管理のノードを混在 させることが可能
• Auto Modeでは、従来DaemonSetとして展開されていたaws-node(VPC CNI driver)、 kube-proxy、Pod Identity エージェント、Node Monitoringエージェントに加えてCoreDNSも systemd サービスとして実装されている
© 2025 Classmethod, Inc. マネージドインスタンスのログをエクスポートすればプロセスを⾒れる 6 kube-proxy root 1170 0.0
1.4 1738012 56396 ? Ssl 07:53 0:01 /usr/bin/kube-proxy --hostname-override i-04239f7bdcfa45781 --config=/usr/share/kube-proxy/kube-proxy-config --kubeconfig=/etc/kubernetes/kube-proxy/kubeconfig CoreDNS coredns 1604 0.1 1.5 1813796 59840 ? Ssl 07:53 0:10 /usr/bin/coredns -conf=/etc/coredns/Corefile
© 2025 Classmethod, Inc. インプレース移⾏の流れ 7 EBSやLBのことを考慮しなければ、下記のようなシンプルな流れになる。 1. Auto Mode有効化
2. アプリケーション移⾏ ※ Auto Mode に含まれていない機能 (EFS CSI driver など) も含む 3. Auto Mode で不要なアドオンを削除 4. 既存ノードグループ削除
© 2025 Classmethod, Inc. 詳しい挙動はこちらの記事も参照下さい 8
© 2025 Classmethod, Inc. EBS CSIコントローラー関連の注意点 9 • Auto Mode上で利⽤する場合は別のStorageClassを利⽤したPVCとして再作成が必要
◦ EKS Auto Mode管理のノードに配置された際に、上⼿く新しいStrageClassを参照する機構 は存在しない ⾮Auto Mode Auto Mode EKS Autoモード独⾃のprovisionerを指定する必要あり
© 2025 Classmethod, Inc. 基本的には新規構築してBlue/Green形式の移⾏がおすすめ 10 • 問題があった際に切り戻しがしやすい • 特にLB周りのハンドリングは楽
◦ 諸々新しく構築してDNSベースで切り替えれば良い • ちゃんと切り戻しを考慮しようとすると、ストレージ周りは若⼲⾯倒... ◦ Veleroを使って復元したり、EBSから直接スナップショットを取得して復元するなどの考 慮が必要 ▪ そこまでしてダウンタイムを短くしたいワークロードかどうかは検討が必要
© 2025 Classmethod, Inc. インプレース移⾏はPV/PVCに関して下記操作が必要 11 1. PVのpersistentVolumeReclaimPolicyをRetainに変更 2. 古いPVを削除
3. 古いPVから切り離したEBS ボリュームを参照して、新しいPVを作成 4. 作成したPV を明⽰的に参照する新しいPVCを作成 ストレージを移⾏する必要があって、ダウンタイムを⼤きく取れるならインプレース移⾏もアリ
© 2025 Classmethod, Inc. eks-auto-mode-ebs-migration-tool 12 awslabsリポジトリで公開されているAuto Mode移⾏時に上⼿くPV/PVCを扱うためのツール https://github.com/awslabs/eks-auto-mode-ebs-migration-tool 試してみたいので、インプレースで移⾏してみる!!
© 2025 Classmethod, Inc. 検証してみる 13 1. EKS Auto Modeを有効化
2. Auto Mode⽤のStorageClassを作成 3. 既存のDeploymentをスケールインしてPodを削除 4. eks-auto-mode-ebs-migration-toolを実⾏ (EBSはそのままでPVCが再作成される) 5. DeploymentのNodeSelectorでAuto Mode上で起動するよう設定 6. Deploymentをスケールアウト
© 2025 Classmethod, Inc. 事前準備 14 ログをPVにあらかじめ出⼒しておく
© 2025 Classmethod, Inc. EKS Auto Mode有効化 15 有効化⾃体は5分未満で完了 (ノード⾃体はPodを作成しようとしたタイミングで作成される)
© 2025 Classmethod, Inc. StorageClass作成 16 公式ドキュメント記載のものをそのまま利⽤ ストレージクラスを作成する | Amazon
EKS
© 2025 Classmethod, Inc. Deploymentをスケールダウンする 17 replicasを0にして対応 PV/PVCは残っている状態
© 2025 Classmethod, Inc. eks-auto-mode-ebs-migration-toolのdry-runモード 18 ! Auto Modeで利⽤するストレージクラスの設定が⾜りていない !
PVのreclaim policyがretainになっていない 事前に条件を満たしているかを確認してくれる
© 2025 Classmethod, Inc. eks-auto-mode-ebs-migration-toolの実⾏ 19 先にEBSスナップショットを作成 PVCの再作成を実⾏
© 2025 Classmethod, Inc. PodがAuto Mode管理のノードで実⾏するように設定 20 nodeSelectorで指定 ワークロードが EKS
Auto Mode ノードにデプロイされるかどうかを制御する | Amazon EKS
© 2025 Classmethod, Inc. スケールアウト実⾏ 21 replicasを1に変更するとAuto Mode管理のノードに配置される
© 2025 Classmethod, Inc. ログの確認 22 Pod内に乗り込んで確認すると、最初のPodが出⼒した分も⾒れた! Auto Mode移⾏
© 2025 Classmethod, Inc. まとめ 23 • EKS Auto Modeに移⾏する際はBlue/Green⽅式の移⾏がおすすめ
• ダウンタイムを⼤きく取れるかつ、ストレージを扱うならインプレース移⾏もアリ • その場合、eks-auto-mode-ebs-migration-toolが⾮常に便利!!
© 2025 Classmethod, Inc.