Amazon EKS

可用性が高くスケーラブルな Kubernetes サービス

Amazon Elastic Container Service for Kubernetes (Amazon EKS) は、Kubernetes クラスターのインストールと運用を自分で行うことなく、Kubernetes を AWS で簡単に実行できるようにするマネージドサービスです。Kubernetes は、コンテナ化されたアプリケーションのデプロイ、スケーリング、管理を自動的に行うためのオープンソースシステムです。Kubernetes を使用して本番アプリケーションを運用することには数々の困難が伴います。ユーザーは、Kubernetes マスターとパーシステンスレイヤーのスケーリングと可用性を管理する必要があります。そのためには、適切なインスタンスタイプを選択し、それを複数のアベイラビリティーゾーンで実行することや、正常に動作しているかをモニタリングし、正しく動作していないノードを置き換えることが必要です。また、マスターノードとワーカーノードに対してパッチとアップグレードを適用し、最新の Kubernetes が実行されている状態を維持しなければなりません。このような作業すべてには、専門知識と多くの手作業が必要とされます。Amazon EKS では、AWS がお客様に代わってアップグレードと高可用性を管理します。また、Amazon EKS では 3 つのアベリラビリティーゾーンで 3 つの Kubernetes マスターが実行されるため、高い可用性が確保されます。Amazon EKS では、正しく動作していないマスターが自動的に検出されて置き換えられます。さらに、マスターに対するバージョンのアップグレードとパッチの適用が自動的に行われます。

Amazon EKS はさまざまな AWS のサービスと統合されており、アプリケーションのスケーラビリティと安全性の確保に役立ちます。統合されている AWS のサービスには、負荷分散を行う Elastic Load Balancing、認証を行う IAM、ネットワークを分離させる Amazon VPC、プライベートネットワークへのアクセスを提供する AWS PrivateLink、ログ記録を行う AWS CloudTrail などがあります。Amazon EKS では、最新版のオープンソース Kubernetes が実行されています。そのため、Kubernetes コミュニティで提供されている既存のプラグインやツールがすべて利用可能です。Amazon EKS で動作するアプリケーションは、オンプレミスのデータセンターで実行されているかパブリッククラウドで実行されているかにかかわらず、標準的な Kubernetes 環境で動作しているアプリケーションと完全に互換性があります。そのため、コードを修正することなく、標準的な Kubernetes アプリケーションを Amazon EKS に簡単に移行できます。

Amazon EKS は現在プレビュー中です。サインアップするには、こちらをクリックしてください。

利点

完全マネージド型と高い可用性

Amazon EKS を使用すると、Kubernetes クラスターのインストールや管理、スケーリングを自分自身で行う必要がなくなります。Kubernetes は、ワーカーとマスターという 2 つのコンポーネントで構成されます。ワーカーは、コンテナが実行されるサーバーです。また、マスターは、ワーカーのクラスターを管理し、特定のサーバーにあるコンテナのスケジューリングと配置を行います。Amazon EKS では、各クラスターについて、3 つのアベリラビリティーゾーンにある 3 つの Kubernetes マスターが自動的に実行、管理されるため、可用性の高い Kubernetes クラスターを簡単に運用できます。Amazon EKS によって管理されるマルチ AZ アーキテクチャにより、いずれかの AWS アベイラビリティーゾーンが利用不能となっても弾力性が確保されます。また、Amazon EKS では、正しく動作していないマスターが自動的に検出されて置き換えられます。さらに、マスターに対するバージョンのアップグレードとパッチの適用が自動的に行われます。

安全性

Amazon EKS を使用すると、Kubernetes クラスターの安全性を容易に確保できます。どのようなマネージド型クラウドサービスを利用していても、Kubernetes 環境が持つ高度なセキュリティ機能がほぼすべて利用可能です。ワーカーはお客様の Amazon EC2 インスタンスで作成されます。他のお客様との間でコンピューティングリソースが共有されることはありません。Kubernetes の標準的なツール (Kubernetes を管理するための kubectl CLI など) を使用して Kubernetes クラスターを管理するには、Kubernetes マスターに接続する必要があります。Kubernetes マスターに接続するには、2 つの方法があります。AWS Identity and Access Management (IAM) で認証されたパブリックエンドポイントを使用する方法と、PrivateLink を使用する方法です。

Amazon EKS では、IAM と Kubernetes が統合されています。これにより、Kubernetes で用意されているネイティブな認証システムを使用して IAM エンティティを登録できます。Kubernetes マスターに接続するための認証情報を手動で設定する必要はありません。これにより、IAM を使用してマスターを直接認証できると同時に、Kubernetes マスターのパブリックエンドポイントへのアクセスを細かく管理できます。

また、お使いの Amazon VPC から Kubernetes マスターに直接アクセスしたい場合は、PrivateLink を使用できます。PrivateLink では、Kubernetes マスターと Amazon EKS サービスエンドポイントは、Amazon VPC においてプライベート IP アドレスを持つ Elastic Network Interface として扱われます。これにより、パブリック IP アドレスを使用することやインターネット経由でトラフィックを移動することなく、お使いの Amazon VPC 内で Kubernetes マスターと Amazon EKS サービスに直接アクセスできます。

Kubernetes コミュニティのツールとの完全な互換性

Amazon EKS では、最新版のオープンソース Kubernetes が実行されています。そのため、サポートされている既存の機能、プラグイン、アプリケーションがすべて利用可能です。また、既存の Kubernetes 環境で実行されているアプリケーションと完全に互換するため、そのようなアプリケーションをシームレスに Amazon EKS クラスターに移行できます。

仕組み

Wesley_Diagram_Final

Kubernetes の一般的なユースケース

100x100_benefit_git-repository

マイクロサービス

Amazon EKS を AWS のサービスと組み合わせてマイクロサービスアプリケーションを実行できます。その際、Kubernetes の機能すべて、およびよく使用されているオープンソースツールを活用できます。

100x100_benefit_hybrid-cloud

コンテナのハイブリッドデプロイ

Amazon EKS では、オンプレミスで実行されている Kubernetes デプロイメントとの互換性を保ちつつ、可用性の高いスケーラブルな Kubernetes クラスターを AWS で実行できます。

AWS_Benefit Icon_AutomatedOperations

バッチ処理

Amazon EKS では、Kubernetes Job API を使ってワークロードをバッチ処理することが可能です。これにより、お使いのマネージド型 Amazon EKS Kubernetes クラスターにおいて、ワークロードをシーケンシャルまたはパラレルに実行できます。これらのワークロードは、Amazon EC2 のオンデマンドインスタンス、リザーブドインスタンス、スポットインスタンスで実行できます。

vmware_migration_08172017

クラウドへのアプリケーション移行

コードを変更することなく、従来のエンタープライズアプリケーションをコンテナ化して Amazon EKS に簡単に移行できます。

ブログ投稿記事

Jeff-Barr_Bio-Pic
Amazon Elastic Container Service for Kubernetes (プレビュー版) の紹介

Amazon EKS は、各クラスターの Kubernetes コントロールプレーンの可用性とスケーラビリティを完全に管理します。Amazon EKS では、AWS がお客様に代わってアップグレードと高可用性を管理します。
続きを読む »

始める準備はできましたか?
プレビューにサインアップ
ご不明な点がおありですか?
お問い合わせ