답변:
대부분의 경우 서비스 발견에 ALB / NLB를 사용하려고합니다. 일부 비용이 발생하지만 일부 DoS 보호, 스케일링 메트릭, 로깅, SSL / TLS 등 많은 이점을 얻을 수 있습니다.
그러나 ECS 서비스 검색을 사용할 수 있습니다 .
서비스 검색은 Amazon Route 53 자동 이름 지정 API 작업을 사용하여 서비스 작업의 DNS 항목을 관리하여 VPC 내에서 검색 할 수 있도록합니다.
과
공용 네임 스페이스는 지원되지만 서비스 검색 서비스를 만들기 전에 Route 53에 등록 된 기존 공용 호스팅 영역이 있어야합니다.
서비스 검색에는 작업이 awsvpc, 브리지 또는 호스트 네트워크 모드를 사용해야합니다.
다음은 fargate에서 서비스 검색을 사용하는 방법을 자세히 설명하는 블로그 항목입니다. https://aws.amazon.com/blogs/aws/amazon-ecs-service-discovery/
나는 노력했다. 문제는 fargate가 사용하는 공용 IP가 TASK에 첨부되어 있기 때문에 작업이 다시 시작되면 새 IP 주소가 제공되고 dns 레코드를 업데이트해야합니다. 그것이 alb / nlb가 사용되는 이유입니다.
이론적으로 dns 호스트 레코드를 관리하기 위해 다른 것, 람다 함수 또는 무언가를 사용할 수 있습니다.
ECS 개발자 안내서에 명시된 바와 같이 :
Amazon ECS는 퍼블릭 DNS 네임 스페이스에 서비스 등록을 지원하지 않습니다
따라서 ECS Service Discovery를 통한 즉시 사용 가능한 공개 도메인 등록 기회는 없습니다. 그러나 할 수있는 일은 배포 후 컨테이너의 퍼블릭 IP 주소를 가져 오기 위해 AWS SKD를 사용하고 퍼블릭 Route 53 호스팅 영역에 등록하는 것입니다.
이 기사 에서는 컨테이너를 재배치 할 때마다 람다 함수를 사용하여 정확하게 수행하는 방법을 보여줍니다.