[공부정리] ECS 배포중 ResourceInitializationError: unable to pull secrets or registry auth 오류 해결

jeyong·2024년 6월 3일
0

공부 / 생각 정리  

목록 보기
74/120
post-custom-banner

이번 게시글에서는 ECS 배포중에 발생한 ResourceInitializationError: unable to pull secrets or registry auth... 오류를 해결한 과정을 작성하겠다.

1. 발생한 오류

발생한 오류이다. 이 오류는 Private Subnet 환경에 위치한 ECS Fargate 또는 퍼블릭 IP를 사용하지 않는 ECS Fargate가 ECR의 Docker 이미지를 pull할 수 없기 때문에 발생한다.

2. 해결방안

발생한 오류를 해결하는 방안은 아래와 같이 3가지가 있다.

2-1. VPC Endpoint

사진과 같이 VPC Endpoint를 설정하는 것이다. VPC Endpoint는 Private 네트워크에 있는 인스턴스에서 VPC 외부의 AWS 서비스와 통신이 필요한 경우 사용한다.

2-2. NAT Gateway

다른 방법으로는 NAT Gateway를 구성하는 것이다. NAT 게이트웨이는 NAT(네트워크 주소 변환) 서비스이다. 프라이빗 서브넷의 인스턴스가 VPC 외부의 서비스에 연결할 수 있도록 해준다.

2-3. fargate 퍼블릭 IP 사용

마지막 방법으로는 Fargate 태스크에 퍼블릭 IP를 할당하는 것이다. 사실 이 오류는 보안적인 이유로 Private Subnet을 사용하려다가 발생한 경우가 많다. 퍼블릭 IP를 사용하게 되면 Task가 Public Subnet에 위치하게 되므로, 보안 측면에서는 덜 선호되는 방법이다.

비용적인 측면에서는 NAT Gateway < VPC Endpoint < 퍼블릭 IP 순이다. 하지만 NAT Gateway가 이미 구성되어 있는 것과 같은 자신의 개인적인 상황 또는, 앞서 언급했듯이 보안적인 측면을 고려하는 상황 등 자신의 상황에 맞게 선택하는 것이 중요하다고 생각한다.

profile
노를 젓다 보면 언젠가는 물이 들어오겠지.
post-custom-banner

0개의 댓글