🛳️

Amazon EKSのControl PlaneをスケールできるProvisioned Control Planeを触ってみたよ

に公開

概要

株式会社primeNumberのSREの髙塚(@tk3fftk)です🙏

この記事では、2025年11月にリリースされたAmazon EKSのProvisioned Control Plane機能について、とある事情によりちょっと詳しくなってしまったのでまとめてみます。クラメソさんもまだ記事出してない[1]くらいのニッチ機能…
といっても、仕様やユースケースについては、公式ドキュメントに書かれていることがほぼすべてですので、気になる方は合わせてご確認ください。

1枚スライドまとめ


某勉強会資料より。「さいごに」とあるのは流れ的なアレなので気にしないでください🙏

Amazon EKS Provisioned Control Plane とは


Amazon EKS Provisioned Control Plane - Amazon EKSより

Amazon EKS Provisioned Control Planeとは、これまでEKSの利用においてブラックボックスかつ不可侵だったEKSのControl Planeをスケールアップする機能です。

EKSのControl Planeは現在のワークロードに応じてオートスケールするようになっていますが、「いつ」「どれくらい」スケールするかをユーザー側でコントロールできるようになった機能 と言えます。

また、Control Planeのサイズを決める目安として利用できる、以下の3つのメトリクスがCloudWatchでも確認できるようになっています。

  • API request concurrency
  • Pod scheduling rate
  • Cluster database (etcd) size


EKSのAWSコンソール上の Control plane monitoring からも確認できます

表記について

この記事の以降の項目では、以下のとおりの表記をします。

  • PCP: Amazon EKSのProvisioned Control Plane機能、またはPCPが有効になったEKSクラスターのControl Planeの状態を指します
  • PCP Tier: PCPを有効にする場合のTier (XL, 2XL, 4XL)を指します
  • Standard: PCPを利用しない場合のEKSクラスターのControl Planeの状態を指します

PCP と Standard の切り替えについて

PCPを有効にするとどうなるの?

カタログスペック的には、以下のようなワークロードに対応できるとのことです。
「Standardだとどれくらいのワークロードまでいけるのか?」ということは当然気になってくると思うのですが、残念ながら非公開とのことでした。
ただ、「図[2]のとおり、StandardとPCPが重なる部分はある」という回答はいただきました。


Amazon EKS Provisioned Control Plane - Amazon EKSより

以下のとおり、スケールした分の料金は追加でかかります。
たとえば、4XLを30日間維持すると約77万円ほどかかる計算になるので、それなりに高いですね。
また、詳細はサポートに確認中ですが、1時間未満の利用でも1時間の料金に切り上げられることはないとのこと。


Amazon EKS の料金より

また、細かい変化ですが、EKSのAWSコンソールのControl plane monitoring上のメトリクスの表示がちょっと変わったりします。


PCP Tierに応じたTier thresholdが表示されるようになる

PCPはいつ使えばいいの?

以下のようなユースケースが挙げられています。

  • パフォーマンスの予測可能性が必要な場合: Control Planeのオートスケーリングによる変動を排除したい
  • 大規模AI/MLワークロード: 急速なPod起動(最大400 pods/sec)や大量のノード実行が必要
  • 予測可能な需要急増への対応: eコマースセールや製品ローンチなど、事前にスパイクが予想できる場合
  • 環境間の一貫性確保: ステージング環境と本番環境で同じControl Plane容量を確保し、負荷テスト結果の信頼性を高めたい
  • ディザスタリカバリー: フェイルオーバー環境を本番環境と同じ容量でプロビジョニングしておきたい

逆に言えば、上記に当てはまらない一般的なワークロードであれば、デフォルトのStandardで十分とされています。

ちなみに、弊社のクラウドETLサービス TROCCOは1日約30万Jobリソースを作成かつ、Daily, Hourlyの実行スパイクが存在するワークロードであり、該当しちゃっている状況だったりします。

切り替えにかかる時間について

Changing the control plane tier takes several minutes to complete.

基本的には、上記のような記載がドキュメントにあるのみです。サポートに確認しましたが非公開とのことでした。

つまり、スケールにかかる時間についての保証はないため、1時間のうちにStandardとPCPを行き来するような使い方は非推奨、となりそうです。

参考情報として、実際に数回試したときの所要時間を記しておきます。
おおよそ7, 8分でスケールが完了していますが、外れ値的に倍ほどかかるケースがありました。

# 所要時間 変更内容
1 7m59s Standard -> PCP
2 7m01s PCP -> Standard
3 約15m Standard -> PCP
4 7m38s PCP -> Standard
5 8m20s Standard -> PCP
6 8m11s PCP xl -> PCP 2xl
7 7m57s PCP 2xl -> PCP 4xl
8 13m33s PCP 4xl -> Standard

ちなみに、動きとしてはおそらくIn-place Upgradeと同じような仕組みでスケールを実施しているような雰囲気です。

PCPからStandardへの切り替え

PCPからStandardに戻した際、Control PlaneはPCP TierからStandardのオートスケーリング機能によって、現在のワークロードに応じた適切なキャパシティへスケーリングされるとのことです。
一気にStandardのデフォルト状態的なところにスケールされるのではなく、段階的にスケールされるような挙動なので安心(?)ですね。
なお、Standardにおけるスケーリングの詳細なロジックや状態の確認方法については非公開とのことです。

また、基本的にはPCPとStandardの切り替えは制限なくできますが、唯一「etcdサイズが8GBを超えている場合はPCPからStandardに戻せない」制限があるので注意が必要です。

切り替え手段

3パターンの手段で切り替えを試してみました。
ちなみに、現時点[1:1]ではスケジュールを設定してのスケールや、負荷に応じて自動切り替えのような機能は提供されておらず、やろうと思うと自前で実装するしかありません。

Terraform

  • AWS Providerのドキュメントに記載のとおり、clusterのattributeとして control_plane_scaling_config を定義するだけでOK
  • v6.23.0以降で利用可能
  • ⚠️ 切り替えが完了するまでapplyが終わらない
    • これはおそらく他のEKS周りの設定変更と同様の挙動かと思います

AWS CLI

aws eks update-cluster-config \
    --name super-eks-cluster \
    --control-plane-scaling-config tier=tier-xl
  • 細かく追えてませんが、少なくとも aws eks describe-cluster でPCP Tier情報を見ようとすると、2.32.0 ではだめで、2.32.14 だと取得可能だったことを確認しています
    • 2.32.0 だと該当のattributeが出力に出てこないかんじ

AWS Console

EKSクラスターの画面からポチポチするだけです。


まとめ

  • Amazon EKS Provisioned Control Planeは、これまでブラックボックスだったEKS Control Planeのスケーリングを「いつ」「どれくらい」かをユーザー側でコントロールできるようにする機能
  • 大規模AI/MLワークロード、予測可能な需要急増、環境間の一貫性確保などのユースケースに有効。一般的なワークロードであればStandardで十分
  • 切り替えには7〜15分程度かかり、Terraform/AWS CLI/コンソールから設定可能。etcdサイズが8GBを超えるとStandardに戻せない点に注意

関連ページ


脚注
  1. 2025-12-25時点 ↩︎ ↩︎

  2. https://docs.aws.amazon.com/images/eks/latest/userguide/images/control-plane-modes.png ↩︎

株式会社primeNumber

Discussion