Amazon ECS の停止したタスクの接続を検証する
ネットワーク接続の問題により、タスクが停止することがあります。断続的な問題である可能性がありますが、タスクがエンドポイントに接続できないことが原因である可能性が最も高いです。
タスクの接続をテストする
AWSSupport-TroubleshootECSTaskFailedToStart
ランブックを使用して、タスクの接続をテストできます。ランブックを使用する場合は、次のリソースに関する情報が必要です。
-
タスク ID
最後に失敗したタスク のID を使用します。
-
タスクが属していたクラスター
ランブックの使用方法については、「AWS Systems Manager Automation ランブックリファレンス」の「AWSSupport-TroubleshootECSTaskFailedToStart
」を参照してください。
ランブックはタスクを分析します。タスクの開始を妨げる可能性のある次の問題については、「出力」セクションで結果を確認できます。
設定済みのコンテナレジストリーへのネットワーク接続
VPC エンドポイント接続
セキュリティグループのルール設定
VPC エンドポイントの問題を修正する
AWSSupport-TroubleshootECSTaskFailedToStart
ランブックの結果に VPC エンドポイントの問題が表示された場合は、次の設定を確認します。
-
エンドポイントを作成する VPC では、プライベート DNS を使用する必要があります。
-
タスクが接続できないサービスの AWS PrivateLink エンドポイントが、タスクと同じ VPC 内にあることを確認してください。詳細については、以下のいずれかを参照してください。
サービス サービスの VPC エンドポイント情報 Amazon ECR Amazon ECS およびインターフェイスの VPC エンドポイント (AWS PrivateLink) Systems Manager Systems Manager のために VPC エンドポイントを使用して EC2 インスタンスのセキュリティを強化する Secrets Manager AWS Secrets Manager VPC エンドポイントを使用する CloudWatch CloudWatch VPC エンドポイント Amazon S3 Amazon S3 用 AWS PrivateLink -
ポート 443 DNS (TCP) トラフィックで HTTPS を許可するタスクサブネットのアウトバウンドルールを設定します。詳細については、「Amazon Elastic Compute Cloud ユーザーガイド」の「セキュリティグループへのルールの追加」を参照してください。
-
カスタムネームドメインサーバーを使用する場合は、DNS クエリの設定を確認します。クエリは、53 番ポートで外部への通信を行うことができ、UDP および TCP プロトコルを使用する必要があります。また、443 番ポートでの HTTPS 通信も必要です。詳細については、「Amazon Elastic Compute Cloud ユーザーガイド」の「セキュリティグループルールを構成する」を参照してください。
-
サブネットにネットワーク ACL がある場合は、次の ACL ルールが必要です。
-
ポート 1024-65535 でトラフィックを許可するアウトバウンドルール
-
ポート 443 の TCP トラフィックを許可するインバウンドルール
ルールの設定方法については、「Amazon Virtual Private Cloud ユーザーガイド」の「network ACLs」を参照してください。
-
ネットワークの問題を修正する
AWSSupport-TroubleshootECSTaskFailedToStart
ランブックの結果にネットワークの問題が表示されたら、次の設定を確認します。
ランブックに基づいて次の設定を実行します。
-
パブリックサブネットのタスクでは、タスクの起動時に [Auto-assign public IP] (自動割り当てパブリック IP)を [ENABLED] (有効)に指定する必要があります。詳細については、「Amazon ECS タスクとしてのアプリケーションの実行」を参照してください。
-
インターネットトラフィックを処理するにはゲートウェイが必要です。タスクサブネットのルートテーブルには、ゲートウェイへのトラフィック用のルートが必要です。
詳細については、「Amazon Virtual Private Cloud ユーザーガイド」の「ルートテーブルのルートの追加と削除」を参照してください。
ゲートウェイタイプ ルートテーブルの送信先 ルートテーブルのターゲット NAT 0.0.0.0/0 NAT ゲートウェイ ID インターネットゲートウェイ
0.0.0.0/0 インターネットゲートウェイ ID -
タスクサブネットにネットワーク ACL がある場合は、次の ACL ルールが必要です。
-
ポート 1024-65535 でトラフィックを許可するアウトバウンドルール
-
ポート 443 の TCP トラフィックを許可するインバウンドルール
ルールの設定方法については、「Amazon Virtual Private Cloud ユーザーガイド」の「network ACLs」を参照してください。
-
ランブックに基づいて次の設定を実行します。
-
タスクの起動時に、[自動割り当てパブリック IP] で [無効] を選択します。
-
リクエストがインターネットにルーティンされるように VPC の NAT ゲートウェイを設定します。詳細については、「Amazon Virtual Private Cloud ユーザーガイド」の「NAT ゲートウェイ」を参照してください。
-
タスクサブネットのルートテーブルには、NAT ゲートウェイへのトラフィック用のルートが必要です。
詳細については、「Amazon Virtual Private Cloud ユーザーガイド」の「ルートテーブルのルートの追加と削除」を参照してください。
ゲートウェイタイプ ルートテーブルの送信先 ルートテーブルのターゲット NAT 0.0.0.0/0 NAT ゲートウェイ ID -
タスクサブネットにネットワーク ACL がある場合は、次の ACL ルールが必要です。
-
ポート 1024-65535 でトラフィックを許可するアウトバウンドルール
-
ポート 443 の TCP トラフィックを許可するインバウンドルール
ルールの設定方法については、「Amazon Virtual Private Cloud ユーザーガイド」の「network ACLs」を参照してください。
-
ランブックに基づいて次の設定を実行します。
-
クラスターの作成時に、[Amazon EC2 インスタンスのネットワーク] の [IP の自動割り当て] で、[オンにする] を選択します。
このオプションにより、インスタンスのプライマリネットワークインターフェイスにパブリック IP アドレスを割り当てます。
-
インターネットトラフィックを処理するにはゲートウェイが必要です。インスタンスサブネットのルートテーブルには、ゲートウェイへのトラフィック用のルートが必要です。
詳細については、「Amazon Virtual Private Cloud ユーザーガイド」の「ルートテーブルのルートの追加と削除」を参照してください。
ゲートウェイタイプ ルートテーブルの送信先 ルートテーブルのターゲット NAT 0.0.0.0/0 NAT ゲートウェイ ID インターネットゲートウェイ
0.0.0.0/0 インターネットゲートウェイ ID -
インスタンスサブネットにネットワーク ACL がある場合は、次の ACL ルールが必要です。
-
ポート 1024-65535 でトラフィックを許可するアウトバウンドルール
-
ポート 443 の TCP トラフィックを許可するインバウンドルール
ルールの設定方法については、「Amazon Virtual Private Cloud ユーザーガイド」の「network ACLs」を参照してください。
-
ランブックに基づいて次の設定を実行します。
-
クラスターの作成時に、[Amazon EC2 インスタンスのネットワーク] の [IP の自動割り当て] で、[オフにする] を選択します。
-
リクエストがインターネットにルーティンされるように VPC の NAT ゲートウェイを設定します。詳細については、Amazon VPC ユーザーガイド の NAT ゲートウェイ を参照してください。
-
インスタンスサブネットのルートテーブルには、NAT ゲートウェイへのトラフィック用のルートが必要です。
詳細については、「Amazon Virtual Private Cloud ユーザーガイド」の「ルートテーブルのルートの追加と削除」を参照してください。
ゲートウェイタイプ ルートテーブルの送信先 ルートテーブルのターゲット NAT 0.0.0.0/0 NAT ゲートウェイ ID -
タスクサブネットにネットワーク ACL がある場合は、次の ACL ルールが必要です。
-
ポート 1024-65535 でトラフィックを許可するアウトバウンドルール
-
ポート 443 の TCP トラフィックを許可するインバウンドルール
ルールの設定方法については、「Amazon Virtual Private Cloud ユーザーガイド」の「network ACLs」を参照してください。
-