AWS認定資格 WEB問題集&徹底解説

AIプラクティショナー

Amazon Elastic Kubernetes Service (Amazon EKS) の概要と試験出題ポイントは?

AWSサービスの一つであるAmazon Elastic Kubernetes Service (Amazon EKS)はどんな内容なのでしょうか?また、AWS認定資格のAIプラクティショナー(AIF)に合格するためには、サービスのどんなポイントを押さえておけばよいのでしょうか?
ここでは、そんなあなたの疑問に回答していきたいと思います

Amazon EKS 徹底解説 | AWS認定試験の頻出ポイントまとめ

1. サービス概要

Amazon Elastic Kubernetes Service (EKS) は、Kubernetesクラスターをフルマネージドで提供するAWS公式のKubernetesサービスです。 Control Plane(API Server・etcd・Scheduler)はAWSが完全管理し、マルチAZ構成で高可用性を実現します。

EKSは「ECSの代替」ではなく、「Kubernetes互換・移植性・エコシステム活用」が要件のときに選ぶサービスです。 既存のKubernetesワークロードのAWS移行、マルチクラウド戦略、Helmチャートやオープンソースアドオン活用など多様なシーンで採用されます。

データプレーンは マネージドノードグループ(EC2)Fargate(サーバーレス)セルフマネージドノード の3形態から選択します。

2. 主な特徴と機能

2.1 データプレーンの選択

  • マネージドノードグループ: ノードのプロビジョニング・ドレイン・更新をAWSが管理。EC2 ASGと統合。GPU・カスタムAMI対応。最も一般的な選択。
  • Fargate プロファイル: Podに対してサーバーレス実行。ノード管理不要。DaemonSet不可、特権Pod不可、GPU不可。
  • セルフマネージドノード: AMI・ライフサイクルをユーザーが完全制御。最大の柔軟性。

2.2 マネージド Control Plane

  • API Server・etcd・Scheduler をAWSが管理。マルチAZ配置で冗長化。
  • クラスター当たり固定料金(時間課金)。
  • Kubernetesバージョン管理・アップグレードをAWSがサポート(in-place)。

2.3 IAM とPodレベルの権限(最頻出)

  • IRSA(IAM Roles for Service Accounts): PodにIAMロールを割り当てる従来方式。KubernetesサービスアカウントとOIDCプロバイダーを紐付け。
  • EKS Pod Identity: 2023年リリースの新方式。設定がよりシンプル。クラスターレベルで関連付けるためOIDCプロバイダー設定が不要。
  • ノードEC2ロールにAWSリソースの権限を付与するのはアンチパターン(最小権限原則違反)。

2.4 EKS Add-ons と AWS統合

  • CoreDNS・kube-proxy・VPC CNI などをマネージド Add-on として自動更新。
  • AWS Load Balancer Controller: ALB Ingress / NLB Service をKubernetes Ingressリソースで制御。
  • Amazon EBS/EFS CSIドライバー: Persistent Volumeとして EBS/EFS を利用。
  • CloudWatch Container Insights でメトリクス・ログ収集。

2.5 Auto Scaling

  • HPA(Horizontal Pod Autoscaler): CPU/メモリ等でPod数をスケール。
  • Cluster Autoscaler: Pending PodをトリガーにASGでノード数をスケール(EC2ノードグループ)。
  • Karpenter: AWSネイティブのノードプロビジョナー。Cluster Autoscalerより高速・効率的。インスタンスタイプを自動選定。

2.6 EKS Anywhere と EKS Distro

  • EKS Anywhere: オンプレミスや他クラウドにEKSと同一のKubernetesバージョンをデプロイ。AWS EKS Connectorでコンソール可視化。
  • EKS Distro: EKSが使うKubernetesバイナリ・依存関係をオープンソース提供。自前Kubernetesの標準化用途。

3. アーキテクチャおよび技術要素

  1. AWSがControl Plane(API Server・etcd)をマルチAZで管理する。
  2. データプレーン(マネージドノードグループ / Fargate)にPodを配置する。
  3. Pod間通信はVPC CNI(各PodにENI割り当て)で行う。
  4. 外部通信はAWS Load Balancer Controller が ALB Ingress / NLB を自動作成。
  5. EBS/EFS CSIドライバーで永続ストレージを提供。
  6. CloudWatch / Prometheus / Grafana で監視・可視化。

典型パターン: ALB(Ingress) → EKS Pod(Fargate or EC2) → RDS/ElastiCache。 CI/CDは CodePipeline / GitHub Actions + Helm deploy が標準。

4. セキュリティと認証・認可

  • IAM × Kubernetes RBAC: IAMはAWS APIへのアクセス制御、RBACはKubernetes内部の操作制御(ClusterRole / Role)。両層の管理が必要。
  • IRSA / EKS Pod Identity: Podに最小権限IAMロールを付与。ノードロールへの集約は禁止。
  • aws-auth ConfigMap: IAMユーザー/ロールをKubernetes RBACにマッピング(IRSA方式では必須)。
  • Secrets管理: Kubernetes Secrets は etcd に平文保存(KMSエンベロープ暗号化を推奨)。AWS Secrets Manager CSI Driverでマウントするのがベストプラクティス。
  • ネットワーク: Kubernetes NetworkPolicy + セキュリティグループ(ノード / Pod)の二層制御。
  • ECRイメージスキャン: Amazon Inspector統合でプッシュ時脆弱性検出。

5. 料金形態

  • EKS クラスター: 1クラスター毎に時間課金(固定料金)。
  • EC2ノード(マネージドノードグループ): EC2インスタンス料金が発生。
  • Fargate: PodのvCPU・メモリの使用量-秒単位課金。
  • EKS Anywhere: クラスター1台あたりの年間サブスクリプション(サポート付きの場合)。
  • EKS Distro: ソフトウェアとして無料(サポートは有料)。

6. よくあるアーキテクチャ・設計パターン

  • マイクロサービス移行: 既存Kubernetes構成をそのままEKSに移行。Helm/Argoのエコシステムを継続活用。
  • マルチテナントクラスター: Namespace + RBAC + NetworkPolicyで分離。複数チームが1クラスターを共有。
  • GPU/ML: マネージドノードグループ(p4d/p5)+ Karpenter でGPUノードをオンデマンド起動。
  • ハイブリッド: EKS AnywhereでオンプレKubernetesを統一管理。AWS EKS Connectorでコンソール一元化。
  • サーバーレスK8s: Fargateプロファイルでノード管理を排除。小規模・開発環境向け。

7. 設定・デプロイ手順(ハンズオン例)

  1. eksctl create cluster でクラスター・マネージドノードグループを一括作成。
  2. AWS Load Balancer Controller Add-on を Helm でインストールし、IRSAを設定する。
  3. アプリをHelmチャートでデプロイし、Ingress リソースでALBを自動作成。
  4. Karpenter をインストールし、Provisioner/NodePool を定義する(Cluster Autoscaler代替)。
  5. EKS Pod Identity でPodのIAMロールを設定する(OIDCプロバイダー不要)。
  6. CloudWatch Container Insights を有効化してメトリクス・ログを収集する。

8. 試験で問われやすいポイント

8.1 EKS を選ぶ条件(最頻出)

Q: 「Kubernetes互換が必要」「既存K8sワークロードを移行」したい場合は?
A: EKS。ECSはKubernetes非互換なので不正解。

Q: 「運用負荷を最小化」「AWS独自でシンプルなコンテナ実行」の場合は?
A: ECS(Fargate)。EKSはKubernetes知識と管理が必要。

8.2 データプレーンの選択

Q: ノード管理不要でKubernetes Podを実行したい場合は?
A: EKS on Fargate。ただしDaemonSet不可・GPU不可。

Q: GPUやDaemonSetが必要な場合は?
A: マネージドノードグループ(EC2)。

8.3 IAM × RBAC の理解

Q: PodがS3にアクセスする権限の正しい付与方法は?
A: IRSA または EKS Pod Identity。ノードEC2ロールへの権限付与は最小権限原則違反で誤り。

Q: IRSAとEKS Pod Identityの違いは?
A: IRSAはOIDCプロバイダー設定が必要。EKS Pod Identityはより新しく設定が簡単(2023年~)。

8.4 EKS Anywhere vs ECS Anywhere

Q: オンプレでKubernetesを使いたい場合は?
A: EKS Anywhere。ECS AnywhereはKubernetesではなくECS(AWS独自)。

8.5 Karpenter vs Cluster Autoscaler

Q: EKSノードの自動スケーリングを高速化・効率化したい場合は?
A: Karpenter。Cluster Autoscalerより起動が速く、インスタンスタイプを自動選定できる。