先日 Fargate プラットフォームバージョン 1.4.0 がリリースされました。
タスク Elastic Network Interface (ENI) が追加のトラフィックフローの実行を開始
変更点の中にこのようなものがあり、VPCエンドポイントを使用している場合は追加のエンドポイントの設定が必要になります。
必要な設定がされていない場合、下記のようなエラーが出ます。
ResourceInitializationError: unable to pull secrets or registry auth: execution resource retrieval failed: unable to retrieve ecr registry auth: service call has been retried 1 time(s): RequestError: send request failed caused by: Post https://api.ecr....
説明文にも書いてあるとおり、 ecr.api
エンドポイントの追加は必要です。
実際の例としては、以前は Fargate で ECR にプライベートリンクを使用していた場合、ecr.dkr エンドポイントを設定するだけで済みました。プラットフォームバージョン 1.4.0 では、api.ecr エンドポイントも設定する必要があります。
resource "aws_vpc_endpoint" "ecr_api" { service_name = "com.amazonaws.ap-northeast-1.ecr.api" vpc_endpoint_type = "Interface" vpc_id = aws_vpc.this.id subnet_ids = aws_subnet.private.*.id security_group_ids = [aws_security_group.ecs_private_link.id] private_dns_enabled = true }
そのほかにも Secrets Manager
や Systems Manager
を使用している場合は、追加で設定が必要です。
- 例: SSM
resource "aws_vpc_endpoint" "ssm" { service_name = "com.amazonaws.ap-northeast-1.ssm" vpc_endpoint_type = "Interface" vpc_id = aws_vpc.this.id subnet_ids = aws_subnet.private.*.id security_group_ids = [aws_security_group.ecs_private_link.id] private_dns_enabled = true }
Fargate どんどん良くなっていって素晴らしい!