このページの改善にご協力ください
本ユーザーガイドの改善にご協力いただけませんか? このページの下部までスクロールし、[GitHub でこのページの編集] を選択します。皆さまにご協力いただくことで、あらゆる人々に使いやすいユーザーガイドになります。
AWS Outposts を使用して Amazon EKS をオンプレミスにデプロイする
Amazon EKS を使用して、オンプレミス Kubernetes アプリケーションを AWS Outposts で実行できます。次の方法で Amazon EKS を Outposts にデプロイできます。
-
拡張クラスター - Outpost の AWS リージョン とノードで Kubernetes コントロールプレーンを実行します。
-
ローカルクラスター - Outpost で Kubernetes コントロールプレーンとノードを実行します。
どちらのデプロイオプションでも、Kubernetes コントロールプレーンは、AWS によって完全に管理されています。クラウドで使用するのと同じ Amazon EKS API、ツール、コンソールを使用して Outposts で Amazon EKS を作成および実行することができます。
以下の図に、これらのデプロイのオプションを示します。
各デプロイオプションを使用する時
ローカルクラスターと拡張クラスターはどちらも汎用のデプロイオプションであり、さまざまなアプリケーションに使用できます。
ローカルクラスターでは、Amazon EKS クラスター全てを Outposts でローカルに実行できます。この方法により、クラウドへの一時的なネットワーク切断によって生じる可能性のあるアプリケーションダウンタイムのリスクを軽減できます。このようなネットワーク接断は、ファイバーの切断や天候によって発生する可能性があります。すべての Amazon EKS クラスター全体が Outposts でローカルに実行されるため、アプリケーションは引き続き使用できます。クラウドへのネットワーク切断中にクラスターオペレーションを実行できます。詳細については、「AWS Outposts でローカル Amazon EKS クラスターを準備して、ネットワークの切断に備える」を参照してください。Outposts から親 AWS リージョン へのネットワーク接続の品質が気になる場合、およびネットワークの切断による高可用性を必要とする場合は、ローカルクラスターデプロイオプションを使用してください。
拡張クラスターでは、Kubernetes コントロールプレーンが親 AWS リージョン で動作するため、Outpost の容量を節約できます。このオプションは、Outpost から AWS リージョン への信頼性が高く冗長なネットワーク接続に投資できる場合に適している可能性があります。このオプションでは、ネットワーク接続の品質が重要です。Kubernetes が Kubernetes コントロールプレーンとノード間のネットワーク切断を処理する方法によって、アプリケーションのダウンタイムが発生する可能性があります。Kubernetes の動作の詳細については、Kubernetes ドキュメントの「スケジューリング、プリエンプション、エビクション
デプロイオプションの比較
以下の表は、これら 2 つのオプションの違いを比較したものです。
機能 | 拡張クラスター | ローカルクラスター |
---|---|---|
Kubernetes コントロールプレーンの位置 |
AWS リージョン |
Outpost |
Kubernetes コントロールプレーンアカウント |
AWS アカウント |
お客様のアカウント |
リージョナルな可用性 |
「サービスエンドポイント」を参照してください | 米国東部 (バージニア北部)、米国東部 (オハイオ)、米国西部 (北カリフォルニア)、米国西部 (オレゴン)、アジアパシフィック (ソウル)、アジアパシフィック (シンガポール)、アジアパシフィック (東京)、アジアパシフィック (シドニー)、カナダ (中部)、欧州 (フランクフルト)、欧州 (アイルランド)、欧州 (ロンドン)、中東 (バーレーン)、南米 (サンパウロ) |
Kubernetes マイナーバージョン |
||
プラットフォームのバージョン |
「各 Kubernetes バージョンの Amazon EKS プラットフォームのバージョンを表示する」を参照してください。 | 「AWS Outposts の Kubernetes および Amazon EKS プラットフォームバージョンについて説明します。」を参照してください。 |
Outpost フォームファクター |
Outpost ラック | Outpost ラック |
ユーザーインターフェイス |
AWS Management Console、AWS CLI、Amazon EKS API、 |
AWS Management Console、AWS CLI、Amazon EKS API、eksctl 、AWS CloudFormation、および Terraform |
マネージドポリシー |
AmazonEKSClusterPolicy および AmazonEKSServiceRolePolicy | AmazonEKSLocalOutpostClusterPolicy および AmazonEKSLocalOutpostServiceRolePolicy |
クラスター VPC およびサブネット |
「VPC とサブネットの Amazon EKS ネットワーキング要件を表示する」を参照してください。 | 「AWS Outposts で Amazon EKS クラスターの VPC とサブネットを作成する」を参照してください。 |
クラスターエンドポイントのアクセス |
公共または個人、あるいはその両方 | 非公開のみ |
Kubernetes API サーバー認証 |
AWS Identity and Access Management (IAM) および OIDC |
IAM および |
ノードタイプ |
セルフマネージド型のみ | セルフマネージド型のみ |
ノードのコンピュートタイプ |
Amazon EC2 オンデマンド |
Amazon EC2 オンデマンド |
ノードストレージタイプ | Amazon EBS |
Amazon EBS |
Amazon EKS 最適化 AMI |
Amazon Linux、Windows、Bottlerocket | Amazon Linux のみ |
IP バージョン |
|
|
アドオン |
Amazon EKS アドオンまたはセルフマネージドアドオン | セルフマネージド型アドオンのみ |
デフォルトの Container Network Interface |
Amazon VPC CNI plugin for Kubernetes |
Amazon VPC CNI plugin for Kubernetes |
Kubernetes コントロールプレーンのログ |
Amazon CloudWatch Logs |
Amazon CloudWatch Logs |
負荷分散 |
AWS Load Balancer Controller を使用して Application Load Balancer のみをプロビジョニングします (Network Load Balancer はプロビジョニングしない) | AWS Load Balancer Controller を使用して Application Load Balancer のみをプロビジョニングします (Network Load Balancer はプロビジョニングしない) |
シークレットエンベロープ暗号化 | 「既存のクラスターで AWS KMS を使用して Kubernetes シークレットを暗号化する」を参照してください。 | サポートされていません |
サービスアカウントの IAM ロール | 「サービスアカウントの IAM ロール」を参照してください。 | サポートされていません |
トラブルシューティング |
「Amazon EKS クラスターとノードに関する問題をトラブルシューティングする」を参照してください。 | 「AWS Outposts でローカル Amazon EKS クラスターをトラブルシューティングする」を参照してください。 |