Cloud Service
GKE Enterprise
複数の GKE クラスタを「フリート」としてまとめ、構成・ポリシー・サービスメッシュ・可視化を横断的に統制できるマルチクラスタ統合プラットフォーム。マルチクラウドやオンプレも一元管理でき、AWS の EKS Anywhere + Fleet 系に近い位置づけ。
- 1.複数 GKE クラスタをフリートとして束ね、構成とポリシーを横断的に統制する上位プラットフォーム。
- 2.Config Sync・Policy Controller・サービスメッシュ・チームスコープなどの機能群を有効化して使う。
- 3.Google Cloud 上だけでなく、オンプレや他クラウドのクラスタも一元的に管理できる。
解決する課題
GKE で単一クラスタを運用するのは比較的容易ですが、クラスタが数十・数百に増え、チームやリージョン、さらにオンプレや他クラウドへ広がると「全クラスタの構成をどう揃えるか」「ポリシーをどう一律に効かせるか」「サービス間通信をどう安全にするか」が一気に難しくなります。GKE Enterprise はこのマルチクラスタ統制を肩代わりします。
- 多数のクラスタの構成を手作業でバラバラに管理したくない → Config Sync で Git を単一の真実とし宣言的に同期
- セキュリティ/コンプライアンスのポリシーを全クラスタへ一律適用したい → Policy Controller で禁止事項をガードレール化
- クラスタをまたいだサービス間通信を暗号化・可視化・制御したい → マネージドなサービスメッシュ
- オンプレや他クラウドの Kubernetes も同じ運用面で扱いたい → フリートに登録して一元管理
- チームごとにクラスタの一部を安全に貸し出したい → チームスコープとフリート単位の名前空間
AWS でいえば、マルチ/ハイブリッドな Kubernetes 管理という点で EKS Anywhere や複数クラスタを束ねる仕組みに近く、ポリシー統制やメッシュまで含めた包括的なプラットフォームという位置づけです。
主要概念と用語
- フリート(Fleet): 複数の Kubernetes クラスタを論理的にまとめた単位。構成・ポリシー・サービス・チームの管理を横断的に行う基盤。1 プロジェクトに 1 フリートが基本
- メンバークラスタ: フリートに登録(メンバーシップ登録)されたクラスタ。GKE のほか、オンプレや他クラウドのクラスタも登録できる
- Config Sync: Git リポジトリを単一の真実として、フリート内クラスタへ構成(マニフェスト)を継続的に同期する GitOps の仕組み
- Policy Controller: Open Policy Agent ベースのガードレール。許可しない構成(例: 特権コンテナや未署名イメージ)をクラスタ全体で禁止・監査できる
- Cloud Service Mesh: マネージドなサービスメッシュ。サービス間通信の暗号化(mTLS)・トラフィック制御・可観測性を提供
- チームスコープ / フリート名前空間: チーム単位でフリートのリソースを区切り、クラスタ群の一部を割り当てる仕組み
- Connect Gateway: 登録済みクラスタへ、ネットワーク到達性に依存せず一貫した方法で接続・認証するための入口
- マルチクラスタ Ingress / Gateway: 複数クラスタにまたがってトラフィックを分散し、リージョン障害時のフェイルオーバーを実現
- フリートワークロード ID: フリート全体で一貫した Workload Identity を使い、鍵ファイルなしでクラウド API へ認証する仕組み
仕様・制限・クォータ
- GKE Enterprise は GKE の上位エディション/機能群として有効化する。基本の GKE クラスタが土台となり、その上にフリート機能を重ねる
- メンバークラスタには GKE(Google Cloud) に加え、オンプレ(GKE on VMware / Bare Metal)や他クラウド(GKE on AWS/Azure)のクラスタを登録できる
- 1 フリートに登録できるクラスタ数や、Config Sync・Policy Controller が扱えるオブジェクト規模には上限があり、構成やバージョンで変動する
- Cloud Service Mesh やマルチクラスタ機能には、対応する Kubernetes バージョンやネットワーク要件がある
- vCPU・IP アドレス・ロードバランサなどの土台側クォータは通常の GKE と同様にプロジェクト/リージョン単位で効く
具体的な上限値・対応バージョン・価格体系はリリースで変動するため、設計時は公式ドキュメントで最新値を確認してください。
内部の仕組み
GKE Enterprise の中核はフリートという抽象です。クラスタをフリートへ登録すると、そのクラスタは「メンバークラスタ」となり、フリート単位で提供される機能(構成同期・ポリシー・メッシュ・可視化)の対象になります。クラスタが Google Cloud 上にあるか、オンプレや他クラウドにあるかを問わず、同じ運用面で扱える点が要です。
Config Sync は Git リポジトリを単一の真実(source of truth)とみなし、各メンバークラスタのエージェントが宣言された状態へクラスタを継続的に収束させます。手元から kubectl apply を撒くのではなく、Git への変更がそのまま全クラスタへ波及するため、構成ドリフトを抑えられます。Policy Controller は Open Policy Agent をベースに、許可しない構成をアドミッション時に拒否したり、既存リソースを監査したりして、ガードレールをフリート全体に効かせます。
クラスタをまたぐサービス間通信は Cloud Service Mesh が担い、サイドカーまたはマネージドなデータプレーンで mTLS による暗号化・トラフィック制御・テレメトリ収集を行います。外部からの到達にはマルチクラスタ Ingress / Gateway を使い、複数クラスタへ負荷を分散しつつ、リージョン障害時には健全なクラスタへフェイルオーバーします。クラスタへの接続自体は Connect Gateway が仲介し、ネットワーク構成の差異を吸収して一貫した認証・到達性を提供します。
GKE Enterprise の機能はフリートを起点に提供されます。クラスタを増やす前にフリートへの登録(メンバーシップ)と命名・スコープ設計を整えておくと、後から Config Sync やポリシーを横断適用しやすくなります。
設計パターン / ベストプラクティス
- 構成は Config Sync(GitOps) に寄せ、
kubectlの手作業適用を減らして構成ドリフトを防ぐ - セキュリティ/コンプライアンスの必須要件は Policy Controller でガードレール化し、人手レビューに頼らない
- クラスタ群はフリート名前空間とチームスコープで区切り、チームごとに責任範囲を明確化
- 本番のフロントはマルチクラスタ Ingress / Gateway で複数リージョンに分散し、リージョン障害に備える
- サービス間通信は Cloud Service Mesh の mTLS を既定にし、平文通信を排除
- 権限付与はフリートワークロード ID に統一し、鍵ファイルのばらまきを避ける
- 構成リポジトリは環境(dev/stg/prod)で分け、段階的にロールアウトしてブラスト半径を限定
運用・監視
- フリートのダッシュボードでメンバークラスタの一覧・状態・バージョン・ポリシー準拠状況を一望できる
- Config Sync の同期状態を監視し、Git とクラスタの差分(同期エラーやドリフト)を早期に検知
- Policy Controller のダッシュボード/監査で違反リソースを洗い出し、是正状況を追跡
- Cloud Service Mesh のテレメトリでサービス間のレイテンシ・エラー率・トラフィックを可視化し、ボトルネックを特定
- Cloud Monitoring / Cloud Logging と統合され、メンバークラスタ横断でメトリクスとログを集約できる
- クラスタのアップグレードはフリート単位で計画し、メンテナンスウィンドウで業務影響の少ない時間帯に寄せる
コスト
GKE Enterprise はベースの GKE(コンピューティング+クラスタ管理)に加え、エンタープライズ機能ぶんの料金が乗る積み上げで考えます。料金体系はリリースで変わるため、ここでは費用の構造を定性的に整理します。
| 費用の構成要素 | 課金の考え方 | コスト最適化の勘所 |
|---|---|---|
| ベースの GKE | コンピューティング(ノード/Pod)+クラスタ管理料 | Autopilot のリソース要求適正化や Spot 活用 |
| エンタープライズ機能 | フリート/エンタープライズ機能の利用に応じた料金 | 必要なクラスタ・機能だけ有効化する |
| サービスメッシュ | メッシュ対象ワークロードに応じた費用 | メッシュ対象を要件のある範囲に限定 |
| 確約利用割引(CUD) | 1〜3年コミットで土台側を割引 | 定常的に動かす本番ワークロードに適用 |
エンタープライズ機能を全クラスタへ無条件に広げると費用が膨らみやすいため、フリートに本当に必要なクラスタだけを登録し、メッシュやポリシーの対象範囲を要件に合わせて絞ることが基本です。
セキュリティ
- Policy Controller で許可しない構成(特権コンテナ・未署名イメージ・過大な権限など)をフリート全体で禁止し、ガードレールを標準化する
- Cloud Service Mesh の mTLS でサービス間通信を暗号化し、平文通信となりすましを防ぐ
- 権限付与はフリートワークロード ID に統一し、鍵ファイルのハードコードを避ける
- イメージは Artifact Registry に保存して脆弱性スキャンを有効化し、Binary Authorization で署名済みイメージのみ許可
- クラスタ接続は Connect Gateway 経由に集約し、認証と到達経路を一貫させる
- IAM とフリート/チームスコープを組み合わせ、チームごとに最小権限でクラスタ群を貸し出す
ガードレール(Policy Controller)を入れずに多数のクラスタを増やすのは危険です。各クラスタで設定が個別に逸脱し、特権コンテナや広すぎる権限が紛れ込んでも気づけません。フリート登録と同時にポリシーと Config Sync を効かせ、構成を一律に統制してください。
関連サービス・比較
GKE Enterprise は単一クラスタの GKE を土台に、複数クラスタの統制・ポリシー・メッシュを重ねた上位プラットフォームです。クラスタが少なく統制要件が薄いうちは素の GKE で十分なことも多く、規模と統制の必要性で選択が変わります。
| 観点 | GKE(単一/少数) | GKE Enterprise |
|---|---|---|
| 主な対象 | 単一〜少数のクラスタ | 多数クラスタをフリートで統制 |
| 構成管理 | クラスタごとに適用 | Config Sync で横断同期(GitOps) |
| ポリシー | クラスタ個別に設定 | Policy Controller で一律ガードレール |
| サービスメッシュ | 任意で導入 | Cloud Service Mesh を統合提供 |
| 対象範囲 | Google Cloud 中心 | オンプレ/他クラウドも一元管理 |
| 向き | 小規模・統制要件が薄い | 大規模・マルチ環境・統制が必要 |
クラスタが少なく統制要件が薄いなら、まずは素の GKE で運用負荷を抑えるのが無難です。クラスタが増え、横断的な構成同期・ポリシー・メッシュ・マルチ環境管理が必要になった段階で GKE Enterprise へ移行・拡張すると、過剰投資を避けられます。
ハンズオン / CLI例
# クラスターをフリートに登録(メンバーシップ登録)
gcloud container fleet memberships register demo-membership \
--gke-cluster=asia-northeast1/demo-cluster \
--enable-workload-identity
# フリートに登録済みのメンバークラスターを一覧
gcloud container fleet memberships list
# Config Management(Config Sync / Policy Controller)機能を有効化
gcloud container fleet config-management enable
# 登録済みクラスターへ Connect Gateway 経由で接続する認証情報を取得
gcloud container fleet memberships get-credentials demo-membership
# Cloud Service Mesh をフリートで有効化
gcloud container fleet mesh enable
Google Cloud Service
GKE Enterpriseを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
コンテナ
比較で見る軸
クラウド: Google Cloud / カテゴリ: コンテナ / 難易度: intermediate
導入後に効く点
Config Sync・Policy Controller・サービスメッシュ・チームスコープなどの機能群を有効化して使う。
先に潰すリスク
サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。
- クラウド
- Google Cloud
- カテゴリ
- コンテナ
- 難易度
- intermediate
- 関連資格
- —
- 設計柱
- operational / security / reliability
判断チェックリスト
- 自社の用途が「コンテナ / operational」に近いか確認する。
- 強みである「複数 GKE クラスタをフリートとして束ね、構成とポリシーを横断的に統制する上位プラットフォーム。」が本当に評価軸になるか確認する。
- 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。