2016-10-12 3 views
4

ALB (ELBv2)를 사용하여 주어진 서비스의 작업에 의해 노출되는 여러 포트 매핑으로 트래픽을 라우팅 할 수 있기를 원합니다.다중 포트 매핑이있는 ECS 서비스에 Application Load Balancer를 사용하는 방법?

예 -

서비스 A는 작업 정의 B. 실행 한 작업으로 구성되어

작업 정의 B가 내부적으로 두 개의 서로 다른 포트 번호 (포트 8000에 두 데몬을 실행 한 '컨테이너'및 포트 9000, 두 TCP 모두). 따라서 작업 정의 B에는 ALB에 매핑되어야하는 두 개의 포트가 있습니다.

나는 ALB가 노출하는 항구에 대해 너무 걱정하지 않는다. (그들은 8000과 9000 일 필요는 없지만 있다면 도움이 될 것이다).

  • my-lb-dns.com:8000 -> MYSERVICE : 8000
  • my-lb-dns.com:9000 -> MYSERVICE : 다중를 만드는 방법에 대한 9000

어떤 아이디어 청취자 및 목표 그룹은 이것을 달성하기 위해? 콘솔 UI의 어떤 것도 나를 그렇게 할 수 없으며 API도별로 도움이되지 못했습니다.

고맙습니다.

+0

안녕하세요 @ultimoo, 나는 똑같은 시나리오로 고심하고 있습니다. 해결할 수 있었습니까? – shmish111

+1

@ shmish111 아니요, 현재 ecs 서비스에서로드 밸런서를 초과하는 다중 포트를 노출 할 수 없습니다. – ultimoo

+0

안녕하세요 @ultimoo, 나 역시 Apache Zookeeper와 비슷한 응용 프로그램로드 균형 조정을 포함하지 않지만 비슷한 시나리오를 가지고 있습니다. 각 사육사 인스턴스는 세 가지 목적으로 세 개의 포트가 필요합니다 (포트 2181, 2888, 3888). 이 포트를 통해 이러한 사육사 인스턴스 (일반적으로 3 ~ 5 명)의 클러스터가 서로 통신합니다. 그러나 (AWS GUI에서 볼 수 있듯이) ECS 컨테이너가 더 많은 포트를 호스트에 매핑 할 수 없다고 말하면, 나는 이것이 작동하지 않을 것이라고 생각합니다. 내 결론은 정확합니까? –

답변

7

AWS 지원에 대해 말한 후 ECS 서비스는 하나의 포트만 공개 할 것으로 예상되는 마이크로 서비스를 대상으로합니다. ECS 서비스에 두 개 이상의 포트를 매핑하는 응용 프로그램로드 밸런서를 사용하면 지원되지 않습니다.

물론 적절한 대상 그룹 등을 구성하여 추가 Load Balancer를 수동으로 추가 할 수 있지만 서비스가 업데이트되거나 확장 될 때 및 기본 컨테이너 인스턴스가 변경 될 때 ECS는 자동으로 구성을 업데이트하지 않습니다.