Amazon EKS とは - Amazon EKS

このページの改善にご協力ください

このユーザーガイドに貢献するには、すべてのページの右側のペインにある「GitHub でこのページを編集する」リンクを選択してください。

Amazon EKS とは

ヒント

今後開催予定の Amazon EKS ワークショップに登録してください。

Amazon EKS: Kubernetes 管理の簡素化

Amazon Elastic Kubernetes Service (EKS) は、Kubernetes クラスターの操作の複雑性を解消する、フルマネージドの Kubernetes サービスです。EKS を使用すると次の利点があります。

  • 運用オーバーヘッドを減らしてアプリケーションをすばやくデプロイできる

  • 絶えず変化するワークロードの需要に合わせてシームレスにスケールできる

  • AWS 統合と自動更新によりセキュリティが向上する

  • 標準 EKS または完全に自動化された EKS 自動モードから選択

Amazon Elastic Kubernetes Service (Amazon EKS) は、Amazon Web Services (AWS) クラウドと独自のデータセンター (EKS AnywhereAmazon EKS Hybrid Nodes) のどちらでも、Kubernetes クラスターを実行するための要となるプラットフォームです。

Amazon EKS は、Kubernetes クラスターの構築、保護、および保守を簡素化します。独自のデータセンターを維持するよりも、ピーク需要を満たすのに十分なリソースを提供する方がコスト効率が良い場合があります。Amazon EKS を使用するためのアプローチには、主に次の 2 つがあります。

  • EKS 標準: EKS でクラスターを作成すると、AWS が Kubernetes コントロールプレーンを管理します。ノードを管理する、ワークロードをスケジュールする、AWS クラウドと統合する、コントロールプレーン情報を保存しスケールしてクラスターを常時稼働させる、といったことを行うコンポーネントが自動的に処理されます。

  • EKS Auto Mode: EKS Auto Mode 機能を使用すると、EKS の制御が Node (Kubernetes データプレーン) の管理にも及びます。インフラストラクチャの自動プロビジョニング、最適なコンピューティングインスタンスの選択、リソースの動的なスケーリング、継続的なコストの最適化、オペレーティングシステムへのパッチ適用、AWS セキュリティサービスとの統合により、Kubernetes の管理を簡素化します。

以下の図は、Amazon EKS が Kubernetes クラスターを AWS クラウドとどのように統合するかを示しています。これは、クラスターの作成にどの方法を選択したかによって異なります。

Amazon EKS 標準と EKS Auto Mode

Amazon EKS では、摩擦を取り除いて本番稼働までの時間を短縮し、パフォーマンス、可用性、回復力を高め、システムセキュリティを強化できます。詳細については、「Amazon Elastic Kubernetes Service」を参照してください。

Kubernetes を使用した構築とスケーリング: Amazon EKS 機能

Amazon EKS はクラスターの構築と管理に役立つだけでなく、Kubernetes を使用したアプリケーションシステムの構築とスケーリングにも役立ちます。Amazon EKS 機能は、ハンズフリーの Kubernetes ネイティブツールによってクラスターの機能を拡張するフルマネージド型のクラスターサービスで、以下が含まれます。

  • Argo CD: Argo CD は、ワークロード、AWS リソース、クラウドインフラストラクチャに対して宣言型の GitOps ベースの継続的デプロイを提供します。

  • Kubernetes 用 AWS コントローラー (ACK): ACK は、AWS リソースの Kubernetes ネイティブな作成とライフサイクル管理を可能にし、ワークロードオーケストレーションと Infrastructure-as-code ワークフローを統合します。

  • kro (Kube Resource Orchestrator): kro はネイティブ Kubernetes 機能を拡張して、カスタムリソースの作成、オーケストレーション、および構成を簡素化し、独自にカスタマイズしたクラウドの構成要素を作成するツールを提供します。

EKS 機能は、これらの基盤となるプラットフォームコンポーネントをクラスターにインストール、保守、スケーリングする運用上の負担を最小限に抑えるクラウドリソースであり、クラスタープラットフォームのオペレーションではなくソフトウェアの構築に集中できます。

詳細についてはEKS 機能を参照してください。

Amazon EKS の機能

Amazon EKS には次の高度な機能があります。

管理インターフェイス

EKS には、AWS マネジメントコンソール、Amazon EKS API/SDK、CDK、AWS CLI、eksctl CLI、AWS CloudFormation、Terraform など、クラスターをプロビジョニング、管理、保守するためのインターフェイスがいくつか用意されています。詳細については、「Amazon EKS の使用を開始する」および「Amazon EKS クラスターのライフサイクルと設定」を参照してください。

アクセス制御ツール

EKS は、Kubernetes と AWS Identity and Access Management (AWS IAM) の両方の機能を利用して、ユーザーとワークロードからのアクセスを管理します。詳細については、「IAM ユーザーおよびロールに Kubernetes API へのアクセスを付与する」および「Kubernetes ワークロードに Kubernetes サービスアカウントを使用して AWS へのアクセスを許可する」を参照してください。

コンピューティングリソース

コンピューティングリソースの場合、幅広い Amazon EC2 インスタンスタイプと Nitro や Graviton などの AWS イノベーションを Amazon EKS で使用して、ワークロードのコンピューティングを最適化できます。詳細については、「ノードを使用してコンピューティングリソースを管理する」を参照してください。

[ストレージ]

EKS Auto Mode は、EBS ボリュームを使用して、ストレージクラスを自動的に作成します。コンテナストレージインターフェイス (CSI) ドライバーを使用すると、アプリケーションのストレージニーズに応じて Amazon S3、Amazon EFS、Amazon FSx、Amazon File Cache を使用することもできます。詳細については、「クラスターのアプリケーションデータストレージを使用する」を参照してください。

セキュリティ

責任共有モデルは、Amazon EKS のセキュリティとの関連で採用されています。詳細については、「Security best practices」、「Infrastructure security」、「Kubernetes security」を参照してください。

モニタリングツール

オブザーバビリティダッシュボードを使用して Amazon EKS クラスターをモニタリングします。モニタリングツールには、PrometheusCloudWatchCloudtrailADOT Operator などがあります。ダッシュボード、Metrics Server、およびその他のツールの詳細については、「Amazon EKS クラスターのコストをモニタリングして最適化する」および「Kubernetes Metrics Server でのリソース使用状況の表示」を参照してください。

クラスター機能

EKS は、オープンソースのイノベーションに基づいて、継続的なデプロイ、クラウドリソース管理、リソース構成のためのマネージドクラスター機能を提供します。EKS はクラスターに Kubernetes API をインストールしますが、コントローラーやその他のコンポーネントは EKS で実行され、フルマネージド型であるため、パッチ適用、スケーリング、モニタリングを自動化できます。詳細については、「EKS 機能」を参照してください。

Kubernetes の互換性とサポート

Amazon EKS は Kubernetes 準拠の認定を受けており、Kubernetes と互換性のあるアプリケーションをリファクタリングなしでデプロイできるほか、Kubernetes コミュニティのツールとプラグインを使用できます。EKS では、Kubernetes について標準サポート延長サポートの両方を提供しています。詳細については、「EKS の Kubernetes バージョンライフサイクルを理解する」を参照してください。

Amazon EKS で利用できるサービス

Amazon EKS を使用してデプロイしたクラスターで他の AWS サービスを利用できます。

Amazon EC2

Amazon EC2 では、オンデマンドでスケーラブルなコンピューティング能力が得られます。

Amazon EBS

Amazon EBS では、スケーラブルで高性能のブロックストレージリソースをアタッチできます。

Amazon ECR

Amazon ECR では、コンテナイメージを安全に保存できます。

Amazon CloudWatch

Amazon CloudWatch では、AWS のリソースおよびアプリケーションをリアルタイムでモニタリングできます。

Amazon Prometheus

Amazon Managed Service for Prometheus では、コンテナ型アプリケーションのメトリクスを追跡できます。

エラスティックロードバランシング

Elastic Load Balancing では、受信トラフィックを複数のターゲットに分散できます。

Amazon GuardDuty

Amazon GuardDuty で EKS クラスターへの脅威を検出します。

AWS Resilience Hub

AWS Resilience Hub では、EKS クラスターの耐障害性を評価できます。

Amazon EKS の料金

Amazon EKS には、Kubernetes クラスターバージョンのサポートに基づくクラスタごとの価格設定、Amazon EKS Auto Mode の価格設定、Amazon EKS Hybrid Nodes の vCPU ごとの価格設定があります。

Amazon EKS を使用する場合、Kubernetes ワーカーノードでアプリケーションを実行するために使用した AWS リソースに対して個別に料金を支払います。例えば、Amazon EBS ボリュームとパブリック IPv4 アドレスを持つ Amazon EC2 インスタンスとして Kubernetes ワーカーノードを実行している場合、Amazon EC2 を介したインスタンス容量、Amazon EBS を介したボリューム容量、および Amazon VPC を介した IPv4 アドレスに対して課金されます。

詳細な料金情報については、Kubernetes アプリケーションで使用している AWS サービスのそれぞれの料金ページを参照してください。

  • Amazon EKS クラスター、Amazon EKS Auto Mode、Amazon EKS 機能、Amazon EKS Hybrid Nodes の料金については、「Amazon EKS の料金」を参照してください。

  • Amazon EC2 の料金については、「Amazon EC2 オンデマンド料金」および「Amazon EC2 スポット料金」を参照してください。

  • AWS Fargate の料金については、「AWS Fargate の料金」を参照してください。

  • Amazon EKS クラスターで使用されるコンピューティングに Savings Plans を使用できます。詳細については、「Pricing with Savings Plans」(貯蓄プランによる価格設定) を参照してください。