ECS 서비스의 로드 밸런서 연결 점검

요청 분산이 필요한 ECS 서비스에 로드 밸런서를 연결하세요.

설명

외부에서 들어오는 요청을 여러 태스크로 분산해야 하는 ECS 서비스는 적절한 트래픽 진입점이 필요합니다. 로드 밸런서 없이 태스크 주소를 직접 사용하면 태스크 교체나 장애에 대응하기 어려울 수 있습니다.

잠재적 영향

요청이 특정 태스크에 몰리거나 종료된 태스크로 전달되어 서비스 가용성이 떨어질 수 있습니다.

해결 방법

필요한 경우 서비스의 LoadBalancers에 대상 그룹과 컨테이너 이름·포트를 지정하고 리스너와 상태 확인을 구성하세요. 요청을 받지 않는 작업용 서비스에는 로드 밸런서가 필요하지 않을 수 있습니다.

예시

발췌 예시는 sample-app의 80번 포트를 대상 그룹에 연결합니다. 태스크 정의의 컨테이너 이름과 포트를 일치시키세요.

변경 전

yaml
Resources:
  ECSService:
    Type: AWS::ECS::Service
    Properties:
      Cluster: !Ref ECSCluster
      TaskDefinition: !Ref ECSTaskDefinition
      DesiredCount: 2

변경 후

yaml
Resources:
  ECSService:
    Type: AWS::ECS::Service
    Properties:
      Cluster: !Ref ECSCluster
      TaskDefinition: !Ref ECSTaskDefinition
      DesiredCount: 2
      LoadBalancers:
        - TargetGroupArn: !Ref TargetGroup
          ContainerName: sample-app
          ContainerPort: 80

참조