Amazon EKSとは?AWS上のマネージドKubernetes
Amazon EKS (Elastic Kubernetes Service) はAWSのマネージドKubernetesです: AWSがcontrol planeを実行し、あなたはworker nodesまたはFargate上でworkloadを実行します。
Kubernetesは強力ですが、自前で運用するには運用負荷が高いです。EKSは、高可用性と自動パッチ適用でKubernetesのcontrol planeをあなたに代わって管理することで、最も難しい部分を取り除きます。あなたはworkerキャパシティとmanifestを持ち込み、AWSがclusterの頭脳を健全に保ちます。
EKSがあなたに代わって管理するもの
EKSは、KubernetesのAPI server、scheduler、etcdデータストアを複数のavailability zoneにわたって実行します。あなたはもうcontrol planeの面倒を見る必要はありません。worker nodeがどう実行されるかは依然として選べます: managed node groups、self-managed nodes、またはサーバーレスのFargate profiles。
どう操作するか
EKSとは、任意のKubernetes clusterと話すのと同じ方法で話します: kubectlと標準のmanifestまたはHelm chartsで。EKSはIAMを使ってkubectlを認証し、AWSのアイデンティティをKubernetesのroleにマッピングするので、アクセス制御があなたのAWSアカウントに結びつきます。
EKSが理にかなうとき
- すでにKubernetesを実行していて、AWS上でマネージドにしたい。
- operatorやツールの幅広いKubernetesエコシステムが必要。
- 共有clusterスケジューリングの恩恵を受ける多数のサービスを実行している。
- 共通のKubernetes APIを使ってクラウド間の移植性が欲しい。
EKS対ECS
ECSはよりシンプルでAWS固有です; EKSはより複雑になる代わりに完全なKubernetesエコシステムを与えます。既存のKubernetes投資がないチームは、しばしばECSやFargateから始めます; Kubernetesに標準化したチームはEKSを選びます。
CI/CDでの役割
pipelineがイメージをbuildし、ECRにpushし、それから更新されたmanifestまたはHelm releaseをclusterに適用します。認証には、Kubernetesのservice accountにマッピングするIAM/OIDC roleを使います。Argo CDのようなGitOpsツールもrepoを監視してclusterを調整でき、CIはGit内のイメージタグを更新するだけにできます。
重要なポイント
- EKSはマネージドKubernetesです: AWSがcontrol planeを実行し、あなたはworkloadを実行します。
- 標準のkubectlとHelmを使い、IAMがKubernetesのアクセスにマッピングされます。
- pipelineは、ECRにpushしてmanifestまたはHelm releaseを適用してデプロイします。