Slide 1

Slide 1 text

© 2025 Classmethod, Inc. 2025/11/7 JAWS-UGコンテナ⽀部 x ストレージ⽀部コラボ会 クラスメソッド株式会社 枡川健太郎 EBS CSI driverを利⽤しているEKSクラス ターをEKS Auto Modeにインプレースで 移⾏してみる

Slide 2

Slide 2 text

© 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

Slide 3

Slide 3 text

© 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でも明⽰的なインストールが必要

Slide 4

Slide 4 text

© 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

Slide 5

Slide 5 text

© 2025 Classmethod, Inc. インプレース移⾏のイメージ 5 ● マネージドグループやFargateなどで管理されているノードとAuto Mode管理のノードを混在 させることが可能 ● Auto Modeでは、従来DaemonSetとして展開されていたaws-node(VPC CNI driver)、 kube-proxy、Pod Identity エージェント、Node Monitoringエージェントに加えてCoreDNSも systemd サービスとして実装されている

Slide 6

Slide 6 text

© 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

Slide 7

Slide 7 text

© 2025 Classmethod, Inc. インプレース移⾏の流れ 7 EBSやLBのことを考慮しなければ、下記のようなシンプルな流れになる。 1. Auto Mode有効化 2. アプリケーション移⾏ ※ Auto Mode に含まれていない機能 (EFS CSI driver など) も含む 3. Auto Mode で不要なアドオンを削除 4. 既存ノードグループ削除

Slide 8

Slide 8 text

© 2025 Classmethod, Inc. 詳しい挙動はこちらの記事も参照下さい 8

Slide 9

Slide 9 text

© 2025 Classmethod, Inc. EBS CSIコントローラー関連の注意点 9 ● Auto Mode上で利⽤する場合は別のStorageClassを利⽤したPVCとして再作成が必要 ○ EKS Auto Mode管理のノードに配置された際に、上⼿く新しいStrageClassを参照する機構 は存在しない ⾮Auto Mode Auto Mode EKS Autoモード独⾃のprovisionerを指定する必要あり

Slide 10

Slide 10 text

© 2025 Classmethod, Inc. 基本的には新規構築してBlue/Green形式の移⾏がおすすめ 10 ● 問題があった際に切り戻しがしやすい ● 特にLB周りのハンドリングは楽 ○ 諸々新しく構築してDNSベースで切り替えれば良い ● ちゃんと切り戻しを考慮しようとすると、ストレージ周りは若⼲⾯倒... ○ Veleroを使って復元したり、EBSから直接スナップショットを取得して復元するなどの考 慮が必要 ■ そこまでしてダウンタイムを短くしたいワークロードかどうかは検討が必要

Slide 11

Slide 11 text

© 2025 Classmethod, Inc. インプレース移⾏はPV/PVCに関して下記操作が必要 11 1. PVのpersistentVolumeReclaimPolicyをRetainに変更 2. 古いPVを削除 3. 古いPVから切り離したEBS ボリュームを参照して、新しいPVを作成 4. 作成したPV を明⽰的に参照する新しいPVCを作成 ストレージを移⾏する必要があって、ダウンタイムを⼤きく取れるならインプレース移⾏もアリ

Slide 12

Slide 12 text

© 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 試してみたいので、インプレースで移⾏してみる!!

Slide 13

Slide 13 text

© 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をスケールアウト

Slide 14

Slide 14 text

© 2025 Classmethod, Inc. 事前準備 14 ログをPVにあらかじめ出⼒しておく

Slide 15

Slide 15 text

© 2025 Classmethod, Inc. EKS Auto Mode有効化 15 有効化⾃体は5分未満で完了 (ノード⾃体はPodを作成しようとしたタイミングで作成される)

Slide 16

Slide 16 text

© 2025 Classmethod, Inc. StorageClass作成 16 公式ドキュメント記載のものをそのまま利⽤ ストレージクラスを作成する | Amazon EKS

Slide 17

Slide 17 text

© 2025 Classmethod, Inc. Deploymentをスケールダウンする 17 replicasを0にして対応 PV/PVCは残っている状態

Slide 18

Slide 18 text

© 2025 Classmethod, Inc. eks-auto-mode-ebs-migration-toolのdry-runモード 18 ! Auto Modeで利⽤するストレージクラスの設定が⾜りていない ! PVのreclaim policyがretainになっていない 事前に条件を満たしているかを確認してくれる

Slide 19

Slide 19 text

© 2025 Classmethod, Inc. eks-auto-mode-ebs-migration-toolの実⾏ 19 先にEBSスナップショットを作成 PVCの再作成を実⾏

Slide 20

Slide 20 text

© 2025 Classmethod, Inc. PodがAuto Mode管理のノードで実⾏するように設定 20 nodeSelectorで指定 ワークロードが EKS Auto Mode ノードにデプロイされるかどうかを制御する | Amazon EKS

Slide 21

Slide 21 text

© 2025 Classmethod, Inc. スケールアウト実⾏ 21 replicasを1に変更するとAuto Mode管理のノードに配置される

Slide 22

Slide 22 text

© 2025 Classmethod, Inc. ログの確認 22 Pod内に乗り込んで確認すると、最初のPodが出⼒した分も⾒れた! Auto Mode移⾏

Slide 23

Slide 23 text

© 2025 Classmethod, Inc. まとめ 23 ● EKS Auto Modeに移⾏する際はBlue/Green⽅式の移⾏がおすすめ ● ダウンタイムを⼤きく取れるかつ、ストレージを扱うならインプレース移⾏もアリ ● その場合、eks-auto-mode-ebs-migration-toolが⾮常に便利!!

Slide 24

Slide 24 text

© 2025 Classmethod, Inc.