AWS Fargate - Amazon EKS

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

AWS Fargate

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

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

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

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

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

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

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-az1apne1-az2、および apne1-az4 のみ)
カナダ (中部) ca-central-1 (cac1-az1 および cac1-az2 のみ)
欧州 (フランクフルト) 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 にはプライベートサブネットを使用できる必要があります。アウトバウンドインターネットアクセスのないクラスターについては、「プライベートクラスター」を参照してください。

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

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

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

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