공유 로드 밸런서를 사용하는 Elastic Beanstalk 환경용 리스너를 추가로 생성하려면 어떻게 해야 하나요?

2분 분량
0

공유 로드 밸런서를 사용하는 AWS Elastic Beanstalk 환경용 리스너를 추가로 생성하고 싶습니다.

간략한 설명


공유 로드 밸런서를 Elastic Beanstalk와 함께 사용하는 경우 aws:elbv2:listener:listener_port 옵션이나 Elastic Beanstalk 콘솔을 사용하여 리스너를 추가로 생성할 수 없습니다. 이는 Elastic Beanstalk가 로드 밸런서를 관리하지 않기 때문입니다.

공유 로드 밸런서를 사용하는 AWS Elastic Beanstalk 환경용 리스너를 추가로 생성하려면 .ebextension 사용자 지정 리소스를 사용하세요.

참고: 추가 리스너를 환경 수명 주기에 연결하고 해당 환경을 종료할 때는 리스너를 제거하는 것이 좋습니다.

해결 방법

1.     기본 리스너와 타겟 그룹을 포함하는 Application Load Balancer를 생성합니다.

2.    additional-listener.config라는 이름의 YAML 구성 파일을 생성합니다.

Resources:  AdditionalHttpListener:
      Type: AWS::ElasticLoadBalancingV2::Listener
	  Properties:
        LoadBalancerArn:
          "Fn::GetOptionSetting":
		    Namespace: "aws:elbv2:loadbalancer"
            OptionName: "SharedLoadBalancer"
        DefaultActions:
        - Type: forward
		  TargetGroupArn:
            Ref: AWSEBV2LoadBalancerTargetGroup
        Port: 8080
        Protocol: HTTP

참고: 위의 YAML 구성 파일은 AWS::ElasticLoadBalancingV2::Listener 리소스의 AWS CloudFormation 사양을 따릅니다.

3.    애플리케이션 소스 번들의 일부인 .ebextensions 폴더에 구성 파일을 추가합니다.

4.    업데이트된 애플리케이션 소스 번들의 .zip 파일을 생성합니다.

5.    새로운 Elastic Beanstalk 환경을 생성하려면 .zip 파일을 사용합니다. 또는 이전 단계의 공유 로드 밸런서로 구성된 기존 환경을 업데이트합니다.

구성 파일은 포트 8080에 Elastic Beanstalk 환경과 연결된 공유 로드 밸런서용 HTTP 리스너를 생성합니다. 그런 다음 리스너는 모든 트래픽을 기본 프로세스로 전달합니다. 리스너에 규칙을 추가하려면 AWS::ElasticLoadBalancingV2::ListenerRule 리소스 정의를 사용하여 구성 파일을 확장합니다. 리스너는 Elastic Beanstalk 환경의 추가 리소스이므로 환경이 종료되면 리스너도 제거됩니다. 자세한 내용은 공유 Application Load Balancer 구성을 참조하세요.

AWS 공식
AWS 공식업데이트됨 일 년 전