Upgrade to Pro — share decks privately, control downloads, hide ads and more …

EBS CSI driverを利用しているEKSクラスターをEKS Auto Modeにインプ...

Avatar for 枡川健太郎 枡川健太郎
November 07, 2025
53

EBS CSI driverを利用しているEKSクラスターをEKS Auto Modeにインプレースで移行してみる

2025/11/7 JAWS-UGコンテナ支部 x ストレージ支部コラボ会

Avatar for 枡川健太郎

枡川健太郎

November 07, 2025
Tweet

Transcript

  1. © 2025 Classmethod, Inc. 2025/11/7 JAWS-UGコンテナ⽀部 x ストレージ⽀部コラボ会 クラスメソッド株式会社 枡川健太郎

    EBS CSI driverを利⽤しているEKSクラス ターをEKS Auto Modeにインプレースで 移⾏してみる
  2. © 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
  3. © 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でも明⽰的なインストールが必要
  4. © 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
  5. © 2025 Classmethod, Inc. インプレース移⾏のイメージ 5 • マネージドグループやFargateなどで管理されているノードとAuto Mode管理のノードを混在 させることが可能

    • Auto Modeでは、従来DaemonSetとして展開されていたaws-node(VPC CNI driver)、 kube-proxy、Pod Identity エージェント、Node Monitoringエージェントに加えてCoreDNSも systemd サービスとして実装されている
  6. © 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
  7. © 2025 Classmethod, Inc. インプレース移⾏の流れ 7 EBSやLBのことを考慮しなければ、下記のようなシンプルな流れになる。 1. Auto Mode有効化

    2. アプリケーション移⾏ ※ Auto Mode に含まれていない機能 (EFS CSI driver など) も含む 3. Auto Mode で不要なアドオンを削除 4. 既存ノードグループ削除
  8. © 2025 Classmethod, Inc. EBS CSIコントローラー関連の注意点 9 • Auto Mode上で利⽤する場合は別のStorageClassを利⽤したPVCとして再作成が必要

    ◦ EKS Auto Mode管理のノードに配置された際に、上⼿く新しいStrageClassを参照する機構 は存在しない ⾮Auto Mode Auto Mode EKS Autoモード独⾃のprovisionerを指定する必要あり
  9. © 2025 Classmethod, Inc. 基本的には新規構築してBlue/Green形式の移⾏がおすすめ 10 • 問題があった際に切り戻しがしやすい • 特にLB周りのハンドリングは楽

    ◦ 諸々新しく構築してDNSベースで切り替えれば良い • ちゃんと切り戻しを考慮しようとすると、ストレージ周りは若⼲⾯倒... ◦ Veleroを使って復元したり、EBSから直接スナップショットを取得して復元するなどの考 慮が必要 ▪ そこまでしてダウンタイムを短くしたいワークロードかどうかは検討が必要
  10. © 2025 Classmethod, Inc. インプレース移⾏はPV/PVCに関して下記操作が必要 11 1. PVのpersistentVolumeReclaimPolicyをRetainに変更 2. 古いPVを削除

    3. 古いPVから切り離したEBS ボリュームを参照して、新しいPVを作成 4. 作成したPV を明⽰的に参照する新しいPVCを作成 ストレージを移⾏する必要があって、ダウンタイムを⼤きく取れるならインプレース移⾏もアリ
  11. © 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をスケールアウト
  12. © 2025 Classmethod, Inc. eks-auto-mode-ebs-migration-toolのdry-runモード 18 ! Auto Modeで利⽤するストレージクラスの設定が⾜りていない !

    PVのreclaim policyがretainになっていない 事前に条件を満たしているかを確認してくれる
  13. © 2025 Classmethod, Inc. まとめ 23 • EKS Auto Modeに移⾏する際はBlue/Green⽅式の移⾏がおすすめ

    • ダウンタイムを⼤きく取れるかつ、ストレージを扱うならインプレース移⾏もアリ • その場合、eks-auto-mode-ebs-migration-toolが⾮常に便利!!