EKS

AWS のマネージド Kubernetes サービス

AWSコンテナ

EKS とは

Amazon EKS (Elastic Kubernetes Service) は、AWS が提供するマネージド Kubernetes サービスである。コントロールプレーン (API サーバー、etcd) の運用を AWS が担い、ユーザーはワーカーノードとワークロードの管理に集中できる。

ECS vs EKS

観点 ECS EKS
オーケストレーター AWS 独自 Kubernetes (OSS)
学習コスト 低い 高い
エコシステム AWS に閉じる Kubernetes エコシステム全体
ポータビリティ AWS のみ マルチクラウド、オンプレミス
運用コスト コントロールプレーン無料 $0.10/時間 (約 $73/月)
適用場面 AWS に特化したシンプルな構成 大規模、マルチクラウド、既存 K8s 資産

AWS だけで完結するなら ECS の方がシンプルで安い。Kubernetes のエコシステム (Helm、Istio、ArgoCD) を活用したい場合や、マルチクラウド戦略がある場合は EKS を選択する。

ワーカーノードの選択肢

タイプ 管理負荷 コスト 適用場面
Managed Node Groups EC2 料金 汎用ワークロード
Fargate Fargate 料金 (割高) 運用負荷を最小化
Self-managed Nodes EC2 料金 GPU、カスタム AMI
Karpenter 低〜中 EC2 料金 (最適化) 動的スケーリング

Fargate on EKS は Pod 単位でサーバーレス実行できるが、DaemonSet が使えない、ストレージが EFS に限定されるなどの制約がある。

EKS のアーキテクチャ

[AWS マネージド]
  コントロールプレーン: API Server, etcd, Scheduler, Controller Manager[ユーザー管理]
  ワーカーノード (EC2 / Fargate)
    ├── Pod A (アプリ)
    ├── Pod B (アプリ)
    └── Pod C (サイドカー: Envoy, Fluent Bit)

コントロールプレーンは 3 AZ に分散配置され、AWS が可用性を保証する。

コスト最適化

  • Karpenter: Pod の要求に応じて最適なインスタンスタイプを自動選択し、ビンパッキング効率を最大化
  • Spot Instances: 中断耐性のあるワークロードに Spot を使い、最大 90% のコスト削減
  • Graviton: ARM ベースの Graviton インスタンスで、同等性能を 20% 低コストで実現
  • 不要な Pod の削除: kubectl top pods でリソース使用量を確認し、過剰なリクエスト/リミットを調整

関連書籍も参考になる。

関連用語