Amazon EKS とは?マネージド Kubernetes の特徴と使いどころ
EKS は AWS マネージドの Kubernetes サービス。Kubernetes コントロールプレーンの構築・運用・パッチ・バックアップを AWS が肩代わりし、利用者は アプリケーションのデプロイに集中できる。標準 Kubernetes 互換のため、オンプレや他クラ...
AWS が提供するマネージド Kubernetes サービス。標準 Kubernetes をそのまま動かしつつ、コントロールプレーンを AWS 側で管理。
1. 概要(端的に)
EKS は AWS マネージドの Kubernetes サービス。Kubernetes コントロールプレーンの構築・運用・パッチ・バックアップを AWS が肩代わりし、利用者は アプリケーションのデプロイに集中できる。標準 Kubernetes 互換のため、オンプレや他クラウドへの可搬性が高い。
2. 何ができるか
- マネージド コントロールプレーン:API サーバー・etcd・スケジューラを AWS 側で運用
- ノードグループ管理:EC2 or Fargate でワーカーノードを起動
- アップグレード自動化:Kubernetes のメジャーバージョンアップ
- ハイブリッド運用:EKS Anywhere(オンプレ)、EKS Distro(独自)
- Add-on:VPC CNI / CoreDNS / kube-proxy などをマネージドで提供
- AWS サービス統合:IAM Roles for Service Accounts(IRSA)、ALB Controller、Secrets 統合
3. 特徴
| 観点 | 特徴 |
|---|---|
| 標準 Kubernetes 互換 | アップストリーム同等。kubectl でそのまま操作 |
| コントロールプレーン | マネージド(料金 $0.10/h ≒ ¥15/h) |
| ワーカー | EC2 / Fargate / オンプレ(Anywhere) |
| エコシステム | Helm / Operator / Istio / Argo CD 等が動く |
| 可搬性 | Kubernetes 標準ゆえ別環境への移行容易 |
| 学習コスト | 高い(Kubernetes 自体の知識が必要) |
| コスト | コントロールプレーン定額 + ワーカー従量 |
vs ECS
| 観点 | EKS | ECS |
|---|---|---|
| 標準化 | Kubernetes 業界標準 | AWS 独自 |
| 可搬性 | 高(K8s 互換) | 低(AWS ロックイン) |
| 学習コスト | 高 | 低 |
| AWS 統合 | 高 | 非常に高い |
| エコシステム | Helm/Operator 等 | AWS サービスのみ |
| ベース料金 | $73/月(コントロールプレーン) | 無料 |
4. 仕組み
EKS は コントロールプレーン(AWS 管理) と データプレーン(利用者管理 or Fargate) に分かれる。
構成要素
- EKS クラスター:Kubernetes クラスター本体
- コントロールプレーン:API サーバー・etcd・コントローラーマネージャー(AWS 管理・冗長化済)
- ノードグループ:EC2 ワーカーの集合
- Fargate プロファイル:Fargate 上で Pod を動かす設定
- VPC CNI:ENI を使った Pod ネットワーキング(Pod に VPC IP)
- IRSA(IAM Roles for Service Accounts):Kubernetes ServiceAccount に IAM Role を紐付け
Pod ネットワーク(VPC CNI)
通常の Kubernetes は Pod に独自 IP を振るが、EKS は VPC のサブネット IP を Pod に直接付与。SG・NACL がそのまま効き、AWS 内通信が高速。
IRSA の仕組み
ServiceAccount(K8s)
↓ アノテーション
IAM Role(AWS)
↓
Pod 内で AWS API を呼ぶ時、自動的に Role の権限を取得
→ Pod 単位で AWS 権限を細かく制御できる(最小権限の原則)
ノードグループの種類
- マネージドノードグループ:AWS が EC2 起動・パッチを管理
- セルフマネージドノードグループ:完全自己管理
- Fargate:サーバーレスで Pod を実行(ワーカー不要)
5. ユースケース
ユースケース 1:マルチクラウド・ハイブリッド構成
他クラウド・オンプレと共通の Kubernetes マニフェストで運用。
ユースケース 2:Kubernetes エコシステム活用
Istio(サービスメッシュ)、Argo CD(GitOps)、Helm 等を活かす。
ユースケース 3:マイクロサービス大規模運用
数十〜数百のマイクロサービスを Kubernetes 流のリソース管理で。
ユースケース 4:ML プラットフォーム
Kubeflow / MLflow を EKS 上で構築、機械学習基盤に。
ユースケース 5:CI/CD(GitOps)
Argo CD / Flux でマニフェスト同期し、宣言的にデプロイ。
6. 関連用語
- ECS — AWS 独自の競合
- Fargate — EKS でも利用可能なサーバーレス
- ECR — Docker レジストリ
- EC2 — ワーカーノード
- IAM — IRSA で連携
- VPC — EKS が動くネットワーク
- CloudWatch — Container Insights で監視
7. 関連サイト
AWS 公式
参考
🎓 試験での出題傾向
| 試験 | 重要度 | 主な出題パターン |
|---|---|---|
| CLF | 中 | EKS の役割(マネージド K8s)の理解 |
| SAA | 高 | ECS vs EKS、Fargate との組み合わせ、IRSA |
| DVA | 中 | EKS でのアプリ デプロイの流れ |
| SOA | 中 | EKS 運用・モニタリング |