Amazon EKS
ユーザーガイド

Amazon EKS とは

Amazon Elastic Kubernetes Service (Amazon EKS) は、独自の Kubernetes コントロールプレーンを立ち上げたり維持したりすることなく、AWS で Kubernetes を簡単に実行できるようにするマネージド型サービスです。Kubernetes は、コンテナ化されたアプリケーションのデプロイ、スケーリング、および管理を自動化するためのオープンソースシステムです。

Amazon EKS は、高可用性を確保するために、複数のアベイラビリティーゾーンで Kubernetes コントロールプレーンインスタンスを実行します。Amazon EKS は、異常なコントロールプレーンインスタンスを自動的に検出して置換するために、コントロールプレーンインスタンスのバージョンのアップグレードやパッチ適用を自動的に行います。

Amazon EKS は、多くの AWS サービスと統合されていて、次のようなアプリケーションのスケーラビリティとセキュリティを提供します。

  • コンテナイメージの Amazon ECR

  • 負荷を分散させる Elastic Load Balancing

  • 認証のための IAM

  • 分離のための Amazon VPC

Amazon EKS は、オープンソース Kubernetes ソフトウェアの最新バージョンを実行するため、Kubernetes コミュニティの既存のすべてのプラグインとツールを使用できます。Amazon EKS で実行されているアプリケーションは、標準の Kubernetes 環境で実行されているアプリケーションと完全に互換性があります。オンプレミスのデータセンターで実行されているか、パブリッククラウドで実行されているかは関係ありません。つまり、標準的な Kubernetes アプリケーションであれば、コードを変更することなく、簡単に Amazon EKS に移行できます。

Amazon EKS のコントロールプレーンアーキテクチャ

Amazon EKS はクラスターごとに単一のテナント Kubernetes コントロールプレーンを実行し、コントロールプレーンインフラストラクチャはクラスター間または AWS アカウント間で共有されません。

このコントロールプレーンは、リージョン内の 3 つのアベイラビリティーゾーンにまたがって動作する 2 つ以上の API サーバーノードと 3 つの etcd ノードで構成されています。Amazon EKS は、異常なコントロールプレーンインスタンスを自動的に検出して置き換え、必要に応じてリージョン内のアベイラビリティーゾーン全体でそれらを再起動します。Amazon EKS は、高可用性を維持するために AWS リージョンのアーキテクチャーを利用します。そのため、Amazon EKS は API サーバーエンドポイントの可用性の SLA を提供できます。

Amazon EKS は、Amazon VPC ネットワークポリシーを使用して、コントロールプレーンコンポーネント間のトラフィックを単一のクラスター内に制限します。Kubernetes RBAC ポリシーで許可されている場合を除き、クラスターのコントロールプレーンコンポーネントは、他のクラスターまたは他の AWS アカウントからの通信を表示したり受信したりすることはできません。

この安全で可用性の高い構成により、Amazon EKS は信頼性が高くなり、本番ワークロードに推奨されます。

Amazon EKS の仕組み


    Amazon EKS のしくみ

Amazon EKS の簡単な開始方法。

  1. まず、 AWS マネジメントコンソール で、AWS CLI または AWS SDK. の 1 つを使って Amazon EKS クラスターを作成します。

  2. 次に、Amazon EKS クラスターに登録するワーカーノードを起動します。当社では、ノードを自動的に設定する AWS CloudFormation テンプレートを提供しています。

  3. クラスターの準備ができたら、お気に入りの Kubernetes ツール (kubectl など) をクラスターと通信できるように設定できます。

  4. 他の Kubernetes 環境と同じ方法で、Amazon EKS クラスターでアプリケーションをデプロイし、管理します。

必要なリソースと、初めての Amazon EKS クラスターを作成する方法の詳細については、Amazon EKS の開始方法 を参照してください。