AWS Fargate - Amazon EKS

「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」

AWS Fargate

このトピックでは、 を使用して で Kubernetes ポッドを実行する方法について説明しますAmazon EKS。AWS Fargate

AWS Fargate は、コンテナに適切なサイズのコンピューティング能力をオンデマンドで提供するテクノロジーです。AWS Fargate を使用すると、コンテナを実行するために仮想マシンのグループをプロビジョニング、設定、スケールする必要がありません。これにより、サーバータイプの選択、ノードグループをスケールするタイミングの決定、クラスターのパッキングの最適化を行う必要がなくなります。

Fargate で開始するポッド、および、Amazon EKS クラスターの一部として定義されている Fargate プロファイルでの実行方法を制御できます。

Amazon EKS は、Kubernetes が提供するアップストリームの拡張可能なモデルを使用して AWS により構築されたコントローラーを使用して、Kubernetes と AWS Fargate を統合します。これらのコントローラーは、Amazon EKS マネージド型 Kubernetes コントロールプレーンの一部として実行され、ネイティブ Kubernetes ポッドを Fargate にスケジューリングします。Fargate コントローラーには、いくつかの変更と検証アドミッションコントローラーに加えて、デフォルトの Kubernetes スケジューラーとともに実行される新しいスケジューラーが含まれています。Fargate で実行する条件を満たすポッドを起動すると、クラスターで実行されている Fargate コントローラーはポッドを Fargate に認識、更新、およびスケジュールします。

Fargate で実行する各ポッドは、独自の分離境界を持ち、基本となるカーネル、CPU リソース、メモリリソース、または Elastic Network Interface を別のポッドと共有しません。

このトピックでは、 Fargate で実行されているポッドのさまざまなコンポーネントについて説明し、 Fargateで を使用する際の特別な考慮事項について喚起Amazon EKSします。

AWS Fargateでの Amazon EKSの使用は、現在以下のリージョンで利用可能です。

リージョン名 [リージョン]
米国東部 (オハイオ) us-east-2
米国東部(バージニア北部) us-east-1
米国西部 (北カリフォルニア) us-west-1
米国西部 (オレゴン) us-west-2
アジアパシフィック (香港) ap-east-1
アジアパシフィック (ムンバイ) ap-south-1
アジアパシフィック (ソウル) ap-northeast-2
アジアパシフィック (シンガポール) ap-southeast-1
アジアパシフィック (シドニー) ap-southeast-2
アジアパシフィック (東京) ap-northeast-1 (apne1-az1、、および apne1-az2 apne1-az4のみ)
カナダ (中部) ca-central-1
欧州 (フランクフルト) eu-central-1
欧州 (アイルランド) eu-west-1
欧州 (ロンドン) eu-west-2
欧州 (パリ) eu-west-3
欧州 (ストックホルム) eu-north-1
南米 (サンパウロ) sa-east-1
中東 (バーレーン) me-south-1

AWS Fargate に関する考慮事項

Amazon EKS での Fargate の使用についての考慮事項を以下に示します。

  • Classic Load Balancerおよび Network Load Balancer は IP ターゲットでのみ使用できます。Fargate で AWS Application Load Balancer を使用することもできます。詳細については、「ロードバランサー – IP ターゲット」および「でのアプリケーションロードバランシングAmazon EKS」を参照してください。

  • Fargate で実行するには、ポッドがスケジュールされた時点で Fargate プロファイルと一致する必要があります。Fargateプロファイルと一致しないポッドは、 としてスタックされる可能性がありますPending。 一致するFargateプロファイルが存在する場合、 に再スケジュールするために作成した保留中のポッドを削除できますFargate。

  • デーモンセットは Fargate ではサポートされていません。アプリケーションにデーモンが必要な場合は、そのデーモンをポッドのサイドカーコンテナとして実行するように再設定する必要があります。

  • 特権を持つコンテナは Fargate ではサポートされていません。

  • で実行されているポッドFargateは、 HostPortまたはポッドマニフェストHostNetworkで指定することはできません。

  • は現在GPUs、 では使用できませんFargate。

  • で実行されているポッドポッドのセキュリティグループで を使用することはできませんFargate。

  • Fargate で実行されている Pod は、プライベートサブネットでのみサポートされます (AWS サービスへの NAT ゲートウェイアクセスがありますが、インターネットゲートウェイへの直接ルートはありません)。そのため、クラスターの VPC にはプライベートサブネットを使用できる必要があります。アウトバウンドインターネットアクセスのないクラスターについては、「プライベートクラスター」を参照してください。

  • を使用して、最初に Fargate ポッドの CPU とメモリのサイズを適切にし、次に を使用してそれらのポッドVertical Pod Autoscalerをスケーリングできます。Horizontal Pod AutoscalerVertical Pod Autoscaler で、より大きな CPU とメモリの組み合わせでポッドを Fargate に自動的に再デプロイする場合は、Vertical Pod Autoscaler のモードを Autoまたは に設定Recreateして、正しく機能することを確認します。詳細については、 の Vertical Pod Autoscaler ドキュメントを参照してくださいGitHub。

  • VPC で DNS 解決と DNS ホスト名を有効にする必要があります。詳細については、「VPC の DNS サポートを更新する」を参照してください。

  • Fargate は、他のポッドとリソースを共有することなく、VM 分離環境で各ポッドを実行します。ただし、Kubernetes はシングルテナントオーケストレーターであるため、Fargate はポッドレベルのセキュリティ分離を保証することはできません。個別の Amazon EKS クラスターを使用して、セキュリティを完全に分離する必要がある機密性の高いワークロードまたは信頼できないワークロードを実行する必要があります。

  • Fargate プロファイルでは、VPC セカンダリ CIDR ブロックからのサブネットの指定がサポートされます。サブネットで使用可能な IP アドレスは、数が限られているため、セカンダリ CIDR ブロックを指定することもできます。結果的に、クラスター内に作成できるポッドの数が制限されます。ポッドに別のサブネットを使用することで、使用可能な IP アドレスの数を増やすことができます。詳細については、「VPC への CIDR ブロックIPv4の追加」を参照してください。