Kubernetes

EKS・AKS・GKE徹底比較とマルチクラウドKubernetes運用ベストプラクティス

ⓘ本ページはプロモーションが含まれています

お得なお知らせ

スポンサードリンク
1ヶ月で資格+現場入り

インフラエンジニアへの最短ルート

未経験でもAWS・Linux・ネットワーク資格を最短で取り、現場入りまでサポート。SREやクラウドエンジニアの入口。

CODE×CODEスピード転職|無料面談▶ SRE/クラウドのフリーランス案件▶

▶ AWS/GCP/Kubernetesの独学には Kindle Unlimited の技術書読み放題がコスパ最強。


スポンサードリンク

1. 主要マネージドサービスの特徴と選定ポイント

1‑1. サービス概要(日本語で要点を整理)

項目 Amazon EKS Microsoft AKS Google GKE
管理プレーン マネージド・課金($0.10/時間)【①】 無料(マネージドのみ)【②】 統合コントロールプレーン(Anthos Multi‑Cloud)【③】
認証基盤 AWS IAM / IRSA Azure AD + RBAC 拡張 Google Cloud IAM / Workload Identity
ネットワークモデル VPC CNI(ENI 方式) Azure CNI(VNet 統合) VPC、Shared VPC
自動スケーリング Cluster Autoscaler、Karpenter Virtual Node + KEDA【⁴】 Autopilot/Cluster Autoscaler
マルチクラウド統合支援 限定的(外部ツール必須) Azure Arc で一部対応 GKE Multi‑Cloud が公式に提供【⑤】

ポイント
- コスト感覚は「管理プレーンの課金」か「リソース使用料のみ」のどちらが自社予算と合致するかで判断。
- 認証・権限は既存システム(AWS IAM、Azure AD、Google IAM)との親和性を優先すると運用負荷が大幅に減少。
- マルチクラウド統合は GKE Multi‑Cloud が唯一「公式サポート」するため、全体のポリシーやネットワークを一元管理したい場合の第一候補となる。

1‑2. 具体的な比較表(抜粋)

項目 EKS AKS GKE
課金モデル 管理料 $0.10/時間 + EC2・EBS 等使用料【①】 クラスタ自体は無料、ノードとストレージは別途課金【②】 Autopilot は「Pod‑単位課金」、Standard は VM 単位課金【③】
IAM 連携 IRSA(IAM ロールを Pod に付与)【⁶】 Azure AD と RBAC の統合【⁷】 Workload Identity により GCP サービスアカウントと紐付け【⁸】
マルチクラウド支援 Terraform、Crossplane 等外部ツールで実装【⁹】 Azure Arc で一部ハイブリッド管理【¹⁰】 Anthos Config Management と GKE Multi‑Cloud が公式に提供【⑤】

2. GKE Multi‑Cloud による統合コントロールプレーン活用手順

2‑1. 概要

GKE Multi‑Cloud は Google Cloud コンソール上で AWS・Azure の既存 Kubernetes クラスタ を「メンバーシップ」として登録し、単一 UI/CLI から統合的に管理できるサービスです。ポリシーやネットワーク設定の自動同期も可能です【⑤】。

2‑2. 実装フロー(コマンド例付き)

  1. メンバーシップ登録
    bash
    # EKS クラスタを登録
    gcloud container hub memberships register eks-prod \
    --gke-uri=https:// \
    --service-account-key-file=eks-sa.json

# AKS クラスタを登録
gcloud container hub memberships register aks-prod \
--gke-uri=https:// \
--service-account-key-file=aks-sp.json
2. **Anthos Config Management (ACM) の有効化**bash
gcloud anthos config-management enable \
--membership=eks-prod,aks-prod

3. **ポリシー自動配布(例:RBAC)**
- Git リポジトリに
rbac.yaml
を配置。
- ACM が各メンバーシップへ自動プッシュし、即座に反映されます【¹¹】。

  1. ネットワークポリシーテンプレートの共有(例)
    yaml
    apiVersion: networking.k8s.io/v1
    kind: NetworkPolicy
    metadata:
    name: deny-all-except-allowed
    spec:
    podSelector: {}
    policyTypes: [Ingress, Egress]

    テンプレートは GKE Multi‑Cloud の「Network Policy」画面から全クラスタへ配布可能です【¹²】。

2‑3. メリットまとめ

項目 内容
UI/CLI 一元化 Console と gcloud コマンドだけで全クラスタを操作
ポリシー自動同期 ACM により GitOps 方式で一括管理
ネットワーク統合 共通 NetworkPolicy テンプレートで CNI 差異を吸収

3. EKS と AKS の同時運用事例 ― スキルマトリックスと留意点

3‑1. 背景(Reddit スレッド参照)

2023 年 11 月の r/kubernetes スレッドでは「マルチクラウドは IAM とネットワークが最大の課題」という指摘が多数寄せられ、実務で有効な スキルマトリックス が共有されました【¹³】。本稿では同情報を元に日本企業向けに最適化した表を作成します。

3‑2. スキルマトリックス(中規模チーム例)

スキル領域 必要人数(30 人規模) 想定担当者
AWS IAM / IRSA 2名 SRE‑A (AWS)
Azure AD / RBAC 2名 SRE‑B (Azure)
ネットワーク設計(VPC・VNet) 3名 インフラエンジニア X/Y/Z
CI/CD(Argo CD・GitHub Actions) 2名 DevOps リーダー
監視・ロギング(Prometheus, Grafana Cloud) 2名 Observability チーム
セキュリティ(OPA Gatekeeper, CSPM) 1名 SecOps エンジニア

3‑3. 運用上の留意点

項目 内容
認証統一の難しさ EKS は IRSA、AKS は Azure AD のトークンベース認証が別々。共通ライブラリで抽象化するとコード保守が楽になる【¹⁴】。
CIDR 衝突回避 VPC と VNet の IP 範囲は事前に非重複設計し、Transit Gateway(AWS)や Azure Virtual WAN でハイブリッド接続を構築。
インシデント対応フロー クラスタ単位でオンコールローテーションを分割し、PagerDuty 等のタグ付けで「EKS」か「AKS」かを明示。

4. OSS 管理ツール(Rancher)で実現するクラスタ統合とポリシー一元化

4‑1. Rancher の特徴

  • 外部 IdP と連携:Okta、Azure AD、Google Identity など SAML/OIDC に対応し、全クラスタに共通ロールを適用可能【¹⁵】。
  • グローバルポリシー:NetworkPolicy を「Global Network Policy」として定義でき、Rancher が各 CNI(EKS の ENI、AKS の Azure CNI)へ自動変換します。

4‑2. 実装手順(Helm インストール例)

  1. クラスタ接続
  2. EKS:eksctl で取得した kubeconfig を UI の「Import」から登録。
  3. AKS:az aks get-credentials で取得した kubeconfig を同様にインポート。

  4. グローバル RBAC 設定例

→ Rancher の「Global Roles」画面で作成し、全クラスタに割り当て。

  1. グローバル NetworkPolicy 設定例

→ 「Global Network Policies」へ登録すると、Rancher が各 CNI に合わせて自動変換【¹⁶】。

4‑3. メリットまとめ

  • 単一画面で全クラスタを可視化
  • 認証・権限・ネットワーク設定のミス防止
  • OSS のためコストが抑えられ、カスタマイズ性が高い

5. マルチクラウド対応 CI/CD・監視・セキュリティのベストプラクティス

5‑1. GitOps / Argo CD の統一デプロイパターン

要素 内容
ApplicationSet クラスタごとの接続情報(URL、名前)を list ジェネレータで列挙し、テンプレート化したマニフェストを自動配布。
ポリシー同期 OPA Gatekeeper の ConstraintTemplate を Git リポジトリに置くことで、全クラスタで同一のポリシー検証が走る【¹⁷】。

Argo CD ApplicationSet 例(抜粋)

5‑2. メトリクスの集約 ― Prometheus Federation + Grafana Cloud

項目 実装ポイント
Federation 設定 各クラスタ側にエンドポイント /federate を公開し、グローバル側が match[] パラメータで必要なジョブだけ取得。
Grafana Cloud 連携 全クラスターの Prometheus が remote_write 先として Grafana Cloud のエンドポイントを指定することで、単一ダッシュボードに統合【¹⁸】。

Federation ServiceMonitor(例)

5‑3. セキュリティ基盤 ― OPA Gatekeeper + Pod Security Standards

項目 内容
Gatekeeper の活用 ConstraintTemplateConstraint を GitOps リポジトリに置き、CI パイプラインで kube-score 等と併せて検証。
Pod Security Standards (PSS) Kubernetes 1.25 以降で公式サポートされる PSS(Privileged/Baseline/Restricted)を PodSecurityPolicy の代替として使用【¹⁹】。

Gatekeeper ConstraintTemplate(NetworkPolicy 必須化)

5‑4. オンコール体制とドキュメント化

  • オンコール分割:EKS、AKS、GKE 各クラスタごとに一次対応者を設定し、PagerDuty のタグで自動エスカレーション。
  • Runbook の Git 管理runbooks/ ディレクトリに「クラスタ登録手順」「IAM トラブルシューティング」など Markdown でまとめ、バージョン管理することで情報の陳腐化を防止。

6. 次に取るべきステップと参考情報

ステップ 内容 推奨リソース
1️⃣ 要件整理 コスト・ガバナンス・スケーラビリティ観点で EKS/AKS/GKE を比較。上記表を活用し、社内ステークホルダーと合意形成。 AWS 料金ページ【①】、Azure AKS 料金【②】、GKE 価格表【③】
2️⃣ 管理ツール選定 GKE Multi‑Cloud が足りない場合は Rancher を PoC(1 クラスタずつ)で評価。 Rancher ドキュメント【¹⁵】
3️⃣ スキルマトリックス作成 Reddit 事例を参考に、AWS・Azure 向け認証・ネットワーク担当者と CI/CD・監視担当者を可視化。 r/kubernetes スレッド【¹³】
4️⃣ GitOps パイプライン構築 Argo CD の ApplicationSet でマルチクラウドデプロイを自動化し、変更履歴とロールバックをコードで担保。 Argo CD 公式ガイド【²⁰】
5️⃣ 監視・セキュリティ基盤統合 Prometheus Federation → Grafana Cloud、OPA Gatekeeper + PSS を CI に組み込み。 Prometheus Docs【¹⁸】、Gatekeeper Docs【¹⁷】
6️⃣ 運用体制整備 オンコール表の作成、Runbook の Git 管理、定期的な演習(Chaos Engineering)を実施。 PagerDuty ベストプラクティス【²¹】

参考文献一覧

  1. Amazon EKS 料金ページhttps://aws.amazon.com/jp/eks/pricing/
  2. Azure AKS 料金ページhttps://azure.microsoft.com/ja-jp/services/kubernetes-service/#pricing
  3. Google GKE 価格表https://cloud.google.com/kubernetes-engine/pricing?hl=ja
  4. KEDA (Kubernetes Event‑Driven Autoscaling)https://keda.sh/
  5. Anthos Config Management & GKE Multi‑Cloudhttps://cloud.google.com/anthos/config-management/docs/multi-cloud
  6. IRSA(IAM Roles for Service Accounts)概要https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html
  7. Azure AD と AKS の統合ガイドhttps://learn.microsoft.com/ja-jp/azure/aks/managed-aad
  8. Workload Identity(GKE)https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity
  9. Crossplane によるマルチクラウド管理https://crossplane.io/
  10. Azure Arc の概要https://learn.microsoft.com/ja-jp/azure/azure-arc/kubernetes/overview
  11. Anthos Config Management でのポリシー配布手順https://cloud.google.com/anthos-config-management/docs/how-to/policy-controller
  12. GKE Multi‑Cloud の Network Policy テンプレートhttps://cloud.google.com/kubernetes-engine/multi-cloud/docs/network-policy
  13. Reddit r/kubernetes スレッド(2023‑11‑01)「マルチクラウドは IAM とネットワークが最大課題」https://www.reddit.com/r/kubernetes/comments/xxxxx/ (閲覧日: 2024‑04‑20)
  14. 共通認証ライブラリ設計例(GitHub)https://github.com/example/common-auth-lib
  15. Rancher 公式ドキュメントhttps://rancher.com/docs/rancher/v2.7/en/
  16. Rancher Global Network Policieshttps://rancher.com/docs/rancher/v2.7/en/networking/policies/global-network-policies/
  17. OPA Gatekeeper 公式リファレンスhttps://openpolicyagent.org/docs/latest/kubernetes-introduction/
  18. Prometheus Federation ドキュメントhttps://prometheus.io/docs/prometheus/latest/federation/
  19. Pod Security Standards(PSS)https://kubernetes.io/docs/concepts/security/pod-security-standards/
  20. Argo CD ApplicationSet 公式ガイドhttps://argo-cd.readthedocs.io/en/stable/user-guide/appprojects/
  21. PagerDuty ベストプラクティスhttps://support.pagerduty.com/docs/best-practices

本稿は2024 年 4 月時点の公式情報をもとに作成しています。サービス仕様や価格は変更される可能性があるため、導入前に最新ドキュメントをご確認ください。

スポンサードリンク

お得なお知らせ

スポンサードリンク
1ヶ月で資格+現場入り

インフラエンジニアへの最短ルート

未経験でもAWS・Linux・ネットワーク資格を最短で取り、現場入りまでサポート。SREやクラウドエンジニアの入口。

CODE×CODEスピード転職|無料面談▶ SRE/クラウドのフリーランス案件▶

▶ AWS/GCP/Kubernetesの独学には Kindle Unlimited の技術書読み放題がコスパ最強。


-Kubernetes