ECS – API애플리케이션 – S3 웹리소스 고정아이피 구성

ECS로 구성된 애플리케이션의 웹 리소스의 고정아이피 구성이 필요했다. 가끔 유용하게 활용할 수 있는 사례라 구성도를 따로 그려봤다.

문제정의

  • 애플리케이션 서버는 ECS – Fargate – ALB 환경으로 구축
  • S3에 웹 리소스가 배포됨.
  • 애플리케이션 서버와 웹리소스에 고정아이피 주소 필요
  • 백엔드와의 연결은 HTTP만 사용해도 됨.

해결

  • Network Load Balancer에 고정아이피를 설정
  • NLB는 포트라우팅만 지원하므로 Nginx의 virtual server 설정으로 애플리케이션과 웹리소스 라우팅
  • Task Definition상 Nginx와 애플리케이션 서버를 하나에 둠
  • Nginx는 리버스프록시(localhost)로 애플리케이션 연결, S3와의 연결도 리모트 리버스프록시 사용.
  • S3는 Bucket Policy를 이용해 VPC고정으로 연결

구성도

참고