Amazon Elastic Kubernetes Service (Amazon EKS) は、AWS とオンプレミスで Kubernetes を簡単に実行できるマネージド Kubernetes サービスです。 Kubernetes は、コンテナ化されたアプリケーションのデプロイ、スケーリング、管理を自動的に行うためのオープンソースシステムです。Amazon EKS は Kubernetes 準拠を認定されているため、アップストリームの Kubernetes で実行される既存のアプリケーションには Amazon EKS との互換性があります。

Amazon EKS は、コンテナのスケジューリング、アプリケーションの可用性管理、クラスターデータの保存などの主要タスクを担当する Kubernetes コントロールプレーンノードの可用性とスケーラビリティを自動的に管理します。

Amazon EKS を使用すれば、Amazon Elastic Compute Cloud (Amazon EC2) と AWS Fargate の両方で Kubernetes アプリケーションを実行できます。Amazon EKS を使用すると、AWS インフラストラクチャのあらゆるパフォーマンス、スケール、信頼性、可用性とともに、AWS ネットワークサービスおよびセキュリティサービス、たとえば負荷分散のための Application Load Balancer (ALB)、ロールに基づいたアクセスコントロール (RBAC) 向けの AWS Identity and Access Management (IAM)、ポッドネットワーク向け AWS Virtual Private Cloud (VPC) サポートなどとの統合を活用できます。

マネージド型 Kubernetes クラスター

マネージド型コントロールプレーン

Amazon EKS には、複数の AWS アベイラビリティーゾーン (AZ) 全体で動作するスケーラブルで可用性の高い Kubernetes コントロールプレーンがあります。Amazon EKS は、Kubernetes API サーバーと etcd 永続レイヤーの可用性とスケーラビリティを自動的に管理します。Amazon EKS は 3 つの AZ にわたって Kubernetes コントロールプレーンを実行し、高可用性を確保します。また、正常に作動していないコントロールプレーンノードを自動的に検出して置き換えます。

サービスの統合

AWS Controllers for Kubernetes (ACK) では、Kubernetes 環境内から AWS のサービスを直接管理制御することができます。ACK を使用すると、AWS のサービスを利用するスケーラブルで可用性の高い Kubernetes アプリケーションを簡単に構築できます。

ホストされている Kubernetes コンソール

EKS は、Kubernetes クラスター用の統合コンソールを提供します。クラスターオペレーターとアプリケーションのデベロッパーは、EKS を単一の場所として使用して、Amazon EKS で実行されている Kubernetes アプリケーションを整理、視覚化、トラブルシューティングすることができます。EKS コンソールは AWS によってホストされ、すべての EKS クラスターで自動的に利用できます。

EKS アドオン

EKS アドオンは、Kubernetes の運用機能を拡張するための一般的な運用ソフトウェアです。EKS を使用して、アドオンソフトウェアをインストールして最新の状態に保つことができます。Amazon EKS クラスターを開始するときに、クラスターで実行するアドオンを選択します。これには、オブザーバビリティ、ネットワーキング、自動スケーリング、AWS のサービス統合のための Kubernetes ツールが含まれます。

マネージド型ノードグループ

Amazon EKS では、1 つのコマンドでクラスターのノードを作成、更新、スケーリング、および終了できます。これらのノードは、Amazon EC2 Spot Instances を活用してコストを削減することもできます。 マネージド型ノードグループは AWS アカウントの最新の EKS 最適化またはカスタム Amazon マシンイメージ (AMI) を使用して Amazon EC2 インスタンスを実行しますが、更新と終了はアプリケーションが使用可能な状態を維持するようにノードを適切にドレインします。

ノードの起動と単一行の管理に eksctl を使用する

eksctl コマンドラインツールを使えば、Amazon EKS を数分で起動して実行することができます。「eksctl create cluster」コマンドを実行するだけで、EKS クラスターを作成できます。eksctl を使用すれば、ノードやアドオンの管理など、クラスターの管理と操作を簡素化できます。

Windows サポート

Amazon EKS は、Windows ワーカーノードと Windows コンテナスケジューリングをサポートしています。EKS は、Windows ワーカーノードと Linux ワーカーノードの同時実行をサポートしているため、お客様はどちらのオペレーティングシステムでもアプリケーションの管理に同じクラスターを使用できます。

ARM サポート

AWS Graviton2 プロセッサは、Arm ベースの EC2 インスタンスに電力を供給し、パフォーマンスと機能を大幅に向上させ、大幅なコスト削減を実現します。アプリケーションのコスト効率を改善することは、コンテナを実行する第一の目標です。両方を組み合わせると、優れた価格性能比が得られます。たとえば、ワークロードのテストでは、Graviton2 プロセッサに基づくインスタンスタイプが、同等の x86 ベースの M5、C5、および R5 ファミリーよりも最大 40% 優れた価格性能比であることが実証されています。AWS Graviton2 上の Amazon EKS は、両方のサービスが利用できるリージョンの場合、一般的に利用可能です。

ネットワークとセキュリティ

Amazon EKS は、高度な機能と、AWS のサービスとテクノロジーパートナーソリューションとの統合により、Kubernetes クラスターへのセキュリティの提供を容易にします。例えば、IAM はきめ細かなアクセスコントロールを提供し、Amazon VPC はお使いの Kubernetes クラスターを他のお客様から隔離します。

サービス検出

AWS Cloud Map は、クラウドリソース検出サービスです。 Cloud Map では、アプリケーションリソースのカスタム名を定義し、動的に変化するリソースの更新された場所を管理することができます。これにより、ウェブサービスで常に最新のリソースの場所が検出されるため、アプリケーションの可用性は向上します。Cloud Map では、Kubernetes サービスの起動時に内部サービスロケーションを開始および削除するたびに、それらを Cloud Map サービスレジストリに自動で伝播するオープンソースの Kubernetes コネクタである external-dns と連携します。Kubernetes ベースのサービスは、すべてのコンテナワークロードのために統合されたサービスレジストリを提供する Cloud Map 経由で検出可能です。

サービスメッシュ

サービスメッシュは、アプリケーション内の各マイクロサービスにおける通信方法を標準化し、複雑なマイクロサービスアプリケーションの構築および実行を容易にします。AWS App Mesh は、エンドーツーエンドの可視性と高可用性を実現するように、アプリケーションを設定します。Kubernetes 用の AWS App Mesh コントローラーを使用して、メッシュに接続された新しいサービスを作成し、トラフィックルーティングを定義し、暗号化などのセキュリティ機能を設定できます。さらに、App Mesh では、サービスを検出するために Kubernetes ポッドを AWS Cloud Map に自動的に登録できます。App Mesh は、提供された Envoy ブートストラップ構成で指定されたエンドポイントに、メトリクス、ログ、およびトレースをエクスポートします。App Mesh では、メッシュ対応のマイクロサービス間で、トラフィックルーティング、回路遮断、再試行などの制御を設定するための API を使用できます。App Mesh Mutual TLS は、サービスがプライベートネットワークで発生した場合でも、サービス間のすべてのリクエストを暗号化する際に役立ちます。さらに、認証コントロールを追加することで、許可したサービス間でのみ通信が可能になります。

VPC ネイティブネットワーキング

EKS クラスターは Amazon VPC で実行されるため、独自の VPC セキュリティグループとネットワークアクセスコントロールリスト (ACL) の使用が可能になります。他のお客様とコンピューティングリソースを共有しないため、安全で信頼性の高いアプリケーションを構築するための高レベルの分離性が得られます。EKS は、Amazon VPC のコンテナネットワークインターフェイス (CNI) を使用し、Kubernetes ポッドが VPC から IP アドレスを受け取れるようにします。 Amazon EKS では、Project Calico ネットワークポリシーエンジンと連動し、きめ細かなネットワークポリシーを Kubernetes ワークロードに付加します。Kubernetes ネットワークポリシー API を使用して、サービス単位でアクセスを制御することができます。

AWS IAM Authenticator

Amazon EKS は Kubernetes RBAC (Kubernetes 用ネイティブロールベースのアクセスコントロールシステム) を AWS IAM に統合します。RBAC ロールを各 IAM エンティティにを直接割り当てることができるため、Kubernetes コントロールプレーンノードへのきめ細かなアクセス許可の制御が可能になります。

サービスアカウントの IAM

Amazon EKS で Kubernetes サービスアカウントに IAM アクセス許可を割り当てることができます。IAM ロールは、他のコンテナ化されたサービス、データベースやシークレットなどのクラスター外部の AWS リソース、または AWS 外で実行されているサードパーティーのサービスやアプリケーションへのアクセスを制御できます。これにより、クラスターの可用性とコストの最適化を簡素化しつつ、複数の同じ場所に配置されたサービスを使用してクラスターを実行する際に、きめ細かなポッドレベルのアクセス制御が可能になります。

コンプライアンス

Amazon EKS は、規制された機密性の高いアプリケーション向けの複数のコンプライアンスプログラムによって認定されています。Amazon EKS は SOCPCIISOFedRAMP-ModerateIRAPC5K-ISMSENS HighOSPARHITRUST CSF に準拠しており、また HIPAA 準拠サービスです。

ロードバランシング

Amazon EKS は、Application Load Balancer (ALB)、Network Load Balancer (NLB)、および Classic Load Balancer を含む Elastic Load Balancing の使用をサポートしています。

Amazon EKS クラスターでは、標準の Kuberentes クラスターロードバランシング、または Kubernetes をサポートする任意のイングレスコントローラーを実行することができます。

サーバーレスコンピューティング

EKS では、サーバーレスコンピューティングを使用して Kubernetes アプリケーションを実行するための AWS Fargate がサポートされています。Fargate ではサーバーのプロビジョニングと管理が不要となり、アプリケーションごとにリソースを指定してその分のみ料金を支払うことができます。また、設計段階からのアプリケーション分離によりセキュリティを強化できます。

ハイブリッドデプロイ

AWS Outposts で EKS を使用すれば、オンプレミスシステムへの特に低いレイテンシーを必要とするコンテナ化したアプリケーションを実行できます。AWS Outposts は、AWS のインフラストラクチャ、AWS のサービス、API、およびツールを、実質的にすべての接続サイトに拡張するフルマネージドサービスです。EKS on Outposts では、クラウド上でコンテナを管理するのとまったく同じように簡単にオンプレミスのコンテナを管理できます。

AWS Local Zones または AWS Wavelength で実行されているノードを EKS に接続して、エッジで AWS が管理するインフラストラクチャの選択肢を増やすことができます。

Amazon EKS Distro は、独自のオンプレミスのインフラストラクチャで使用するために、AWS 上の Amazon EKS で使用されているものと同じオープンソースの Kubernetes ソフトウェアディストリビューションをパッケージ化します。EKS Distro クラスターを、独自のツールまたは Amazon EKS Anywhere (2021 年以降) を使用して管理します。

Amazon EKS Anywhere を使用すれば、独自の仮想マシン (VM) やベアメタルサーバーを含め、オンプレミスで Kubernetes クラスター (Amazon EKS Distro のソフトウェアを使用して構築) を簡単に作成および操作できます。EKS Anywhere を使用すると、Kubernetes クラスターを管理するための独自のツールを構築およびサポートする際の複雑さが軽減されます。EKS Anywhere は、ベアメタル、VMware vSphere、クラウド仮想マシンなどのインフラストラクチャで、クラスターの作成、管理、運用を簡素化するオートメーションツールを提供します。これには、デフォルトのログ記録、モニタリング、ネットワーク、およびストレージ構成を持つクラウド仮想マシンも含まれます。EKS Anywhere は、クラスターのインストールやライフサイクル管理、オブザーバビリティ、クラスターのバックアップ、ポリシー管理など、Kubernetes を本番環境で運用するために必要な追加のツールやコンポーネントを追加します。

ログ記録

Amazon EKS は、AWS CloudTrail と統合され、監査履歴を含む EKS 管理操作の可視性を提供します。CloudTrail を用いると Amazon EKS API への API コールを表示することができます。Amazon EKS は、分析、デバッグ、監査を行う目的で、Kubernetes コントロールプレーンログを Amazon CloudWatch に配信します。

認定準拠性

Amazon EKS では、アップストリーム版の Kubernetes が実行されており、Kubernetes への準拠性が認証されていますので、Kubernetes コミュニティで提供されている既存のプラグインやツールがすべて利用可能です。Amazon EKS で動作するアプリケーションは、オンプレミスのデータセンターで実行されているかパブリッククラウドで実行されているかにかかわらず、標準的な Kubernetes 環境で動作しているアプリケーションと完全に互換性があります。これは、コードをリファクタリングすることなく、標準的な Kubernetes アプリケーションならどれでも Amazon EKS に簡単に移行できることを意味します。

マネージド型クラスターの更新

Amazon EKS ではAmazon EKSは、アップデート作業を管理することなく、実行中のクラスターを、最新バージョンの Kubernetes に簡単にアップデートできます。Kubernetes バージョンのアップデートはインプレースで実行されるため、新規クラスターの作成やアプリケーションの新規クラスターへの移行の必要もありません。

Kubernetes の新バージョンは Amazon EKS での使用向けにリリースされ検証されています。3 種類の Kubernetes の安定バージョンが更新プロセスの一部として常にサポートされています。SDK、CLI、または AWS コンソールを介して、新しいバージョンのインストールを開始し、飛行中のアップデートステータスを確認することができます。

アドバンストワークロードサポート

Amazon EKS は最適化された Amazon マシンイメージ (AMI) を提供し、これには GPU 対応の P2P3 Amazon EC2 インスタンス向けに設定された NVIDIA ドライバーも含まれています。これにより、Amazon EKSを使用して、機械学習 (ML)、Kubeflow、深層学習 (DL) コンテナ、ハイパフォーマンスコンピューティング (HPC)、財務分析、ビデオトランスコーディングなどの高度なコンピューティングを行うワークロードの実行が容易になりました。

オープンソースとの互換性

Amazon EKS は Kubernetes コミュニティツールと完全な互換性があり、よく利用されている Kubernetes アドオンをサポートしています。これには、クラスター用の DNS サービスを作成する CoreDNS および Kubernetes Dashboard のウェブベースの UI と kubectl コマンドラインツールの両方が含まれ、Amazon EKS でクラスターにアクセスし管理するのに役立ちます。

詳細については、Kubernetes コミュニティツールの GitHub ページを参照してください。

Amazon EKS の料金表

料金ページを見る
構築の準備はできましたか?
Amazon EKS の使用を開始する
ご不明な点がおありですか?
お問い合わせ