プライベートサブネットにおいて Fargate で Amazon ECS タスクを実行するにはどうすればよいですか?

最終更新日: 2022 年 7 月 15 日

プライベートサブネットにおいて、AWS Fargate で Amazon Elastic Container Service (Amazon ECS) タスクを実行したいと考えています。

簡単な説明

プライベートサブネットで Fargate タスクを実行できます。ただし、ユースケースによっては、パブリックリポジトリからイメージをプルしたりなど、特定の操作にはインターネットアクセスが必要になる場合があります。または、タスクのためにインターネットアクセスを禁止したい場合があります。

インターネットにアクセスできないプライベートサブネットで Fargate タスクを実行するには、 VPC エンドポイントを使用します。VPC エンドポイントを使用すると、タスクにインターネットへのアクセスを許可せずに Fargate タスクを実行できます。必要なエンドポイントは、プライベート IP アドレスを介してアクセスされます。

プライベートサブネットからインターネットにアクセスするタスクが必要な場合は、NAT Gateway を使用してインターネットアクセスを許可します。必要なエンドポイントは、NAT ゲートウェイのパブリック IP アドレスを介してアクセスされます。

解決方法

VPC を作成する

パブリックサブネットまたはプライベートサブネットを使用して Amazon Virtual Private Cloud (Amazon VPC) を作成します

次に、ユースケースに応じて、この記事の「インターネットアクセスなしでプライベートサブネットを使用する (VPC エンドポイント方式)」または「インターネットアクセスでプライベートサブネットを使用する」セクションのステップに従います。

インターネットにアクセスできないプライベートサブネットを使用する (VPC エンドポイント方式)

インターフェイスエンドポイントと S3 ゲートウェイを作成するには:

  1. S3 ゲートウェイエンドポイントを作成します
  2. ECR インターフェイスエンドポイントを作成します
  3. タスクで Secrets Manager を使用してシークレットをタスクと CloudWatch Logs に挿入する場合は、Secrets ManagerCloudWatch ログ のインターフェイスエンドポイントを作成します。

次に、この記事の「Amazon ECS クラスターとサービスの作成」セクションの手順に従います。

インターネットにアクセスできるプライベートサブネットを使用する

NAT ゲートウェイを作成します。

NAT ゲートウェイを作成するときは、次のことを確認してください。

  • NAT ゲートウェイをパブリックサブネット内に配置します。
  • プライベートサブネットのルートテーブルを更新します。[Destination] (送信先) には、0.0.0.0/0 を入力します。[Target] (ターゲット) で、NAT ゲートウェイの ID を選択します。

次に、この記事の「Amazon ECS クラスターとサービスの作成」セクションの手順に従います。

Amazon ECS クラスターおよびサービスを作成する

  1. ネットワーキング専用テンプレートを使用して Amazon ECS クラスターを作成します (Fargate を使用します)。
  2. Amazon ECS サービスを作成します

サービスのネットワークを設定するときは、次のことを確認してください。

  1. クラスター VPC 用にステップ 1 で作成したクラスターを選択します。
  2. 前に選択した方法に基づいて、VPC エンドポイント用に設定したプライベートサブネット、または NAT ゲートウェイ用に設定したサブネットを選択します。

これで、新しいタスクがプライベートサブネットで起動します。


この記事は役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?