
로드 밸런서를 통해 인터넷에 노출되어야 하는 Fargate 서비스가 있으며, 테스트를 위해 지금까지 작업의 임의 퍼블릭 IP를 사용했기 때문에 작업에 적합하도록 퍼블릭 IP를 비활성화하기로 결정했습니다. 로드 밸런서를 통해서만 서비스에 액세스할 수 있습니다.
하지만 퍼블릭 IP를 비활성화하면 Fargate 내부 컨테이너가 S3에서 env 파일을 다운로드할 수 없게 되는 것 같습니다. 이상한 사실은 ECR에서 이미지를 가져왔지만 env 파일을 가져오려고 하면 작업이 실패한다는 것입니다.
이에 따르면:https://aws.amazon.com/premiumsupport/knowledge-center/ecs-task-environment-variables/
ECS 작업이 퍼블릭 서브넷에 있는 경우 다음을 확인하십시오. 해당 작업에 퍼블릭 IP 주소가 활성화되어 있는지 확인하십시오.
서비스는 퍼블릭 서브넷에 있으므로 이에 따라 퍼블릭 IP가 있어야 합니다.
퍼블릭 서브넷 자체가 인터넷에 액세스할 수 있어야 하는데 이유가 있나요? 그런데 왜 ECR 풀이 작동하는 걸까요?
감사해요
답변1
공용 IP를 비활성화했다고 말씀하셨습니다. 컨테이너/서버가 인터넷 게이트웨이를 통해 S3에 도달하려면 공용 IP가 필요합니다.
공용 IP 없이 S3에 액세스하려면 다음을 사용하세요.S3 VPC 엔드포인트.