ECS コンテナインスタンスにアタッチ済みの ENI 数を確認する方法を教えてください

2023.02.07

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていた内容

ECS on EC2 でawsvpcネットワークモードのタスクを実行しています。
ECS サービスを更新したところ、ENI のリソース上限に遭遇した旨のサービスイベントメッセージが表示されました。 EC2 インスタンスタイプ毎に上限があるようですが、利用しているインスタンスにアタッチ済みの ENI 数を確認する方法を教えてください。

service hato-service was unable to place a task because no container instance met all of its requirements. The closest matching container-instance abcdefg1234567890 encountered error "RESOURCE:ENI". For more information, see the Troubleshooting section of the Amazon ECS Developer Guide.

どう対応すればいいの?

Amazon EC2 コンソールのインスタンスセクションで、「ネットワーキングタブ」をご確認ください。

awsvpcネットワークモードの ECS タスクは、タスクごとに独自の ENI が用意され、コンテナインスタンス(EC2) にアタッチされます。EC2 インスタンスにアタッチできる ENI 数はインスタンスタイプ毎の上限があり、上限を超えると ENI が割り当てできず ECS タスクの起動はエラーとなります。

コンテナインスタンスにアタッチ済みの ENI 数は、EC2 コンソールの「ネットワーキングタブ」から確認できます。

確認してみた

エラーが発生した EC2 インスタンスを確認するため、サービスイベントメッセージに含まれるコンテナインスタンス ID を選択します。

インスタンス ID を選択します。

EC2 コンソールから「ネットワーキング」タブを選択します。

ネットワークインターフェイスセクションを確認します。
今回の場合は、3つの ENI がアタッチ済みのようです。

参考資料