AWS Elastic Beanstalk 애플리케이션을 배포할 때 로드 밸런서에 자체 보안 그룹을 사용하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 12월 17일

AWS Elastic Beanstalk 애플리케이션에 대한 로드 밸런싱, Auto Scaling 환경 유형을 생성하려고 합니다. 또한 로드 밸런서에 대한 자체 보안 그룹을 지정하려고 합니다.

간략한 설명

Elastic Beanstalk에서는 로드 밸런서에 대한 기본 보안 그룹을 생성합니다. 로드 밸런서에 연결하려는 기존 보안 그룹(ManagedSecurityGroup이라고도 함)이 있는 경우 이 기본 동작을 재정의할 수 있습니다. Elastic Beanstalk이 기본 보안 그룹을 생성하지 못하도록 하려면 하나 이상의 구성 파일을 애플리케이션 배포 패키지의 .ebextensions 디렉터리에 추가해야 합니다.

중요: 다음 단계는 Application Load Balancer 및 Classic Load Balancer에만 적용됩니다. Network Load Balancer에는 연결된 보안 그룹이 없습니다.

해결 방법

.ebextensions를 사용하여 Elastic Beanstalk 서비스에게 기존 보안 그룹을 로드 밸런서에 연결하도록 지시합니다. 그런 다음, Elastic Beanstalk이 생성한 기본 보안 그룹을 제거합니다.

1.    Elastic Beanstalk에 사용할 기존 보안 그룹이 있는지 확인합니다. 또는 Elastic Beanstalk 환경에서 로드 밸런서에 대한 새 보안 그룹을 생성할 수 있습니다.

2.    보안 그룹 ID를 기록합니다. (예: sg-123456.)

3.    로컬 애플리케이션 코드 디렉터리에 .ebextensions/ 디렉터리를 생성합니다.

참고: 자세한 내용은 구성 파일(.ebextensions)로 고급 환경 사용자 지정을 참조하십시오.

4.    .ebextensions/ 디렉터리에서 elbsg.config라는 파일을 생성합니다. 예를 들면 다음과 같습니다.

~/workspace/my-app/
├── .ebextensions
│   ├── elbsg.config
├── helloworld

참고: 자세한 내용은 구성 파일(.ebextensions)로 고급 환경 사용자 지정을 참조하십시오.

5.    Elastic Beanstalk 환경의 로드 밸런서 유형에 따라 elbsg.config 파일을 업데이트합니다.

Classic Load Balancer로 새 환경을 생성하거나 기존 환경을 업데이트하는 경우 SecurityGroups 설정을 사용하여 기본 보안 그룹을 재정의합니다. 예를 들면 다음과 같습니다.

option_settings:
 aws:elb:loadbalancer:
  ManagedSecurityGroup: "sg-123456"
  SecurityGroups: "sg-123456"

Application Load Balancer로 새 환경을 생성하거나 기존 환경을 업데이트하는 경우 SecurityGroups 설정을 사용하여 기본 보안 그룹을 재정의합니다. 예를 들면 다음과 같습니다.

option_settings:
 aws:elbv2:loadbalancer:
  ManagedSecurityGroup: "sg-123456"
  SecurityGroups: "sg-123456"

참고: 앞의 예에서 sg-123456을 보안 그룹 및 관리형 보안 그룹으로 바꾸십시오. 앞의 .ebextensions는 YAML 형식입니다. YAML 형식을 확인하십시오.

6.    코드와 새로운 .ebextensions/ 디렉터리를 함께 Elastic Beanstalk 환경에 새 애플리케이션 버전으로 배포합니다.

배포하면 보안 그룹이 로드 밸런서에 연결됩니다. 이제 환경 및 로드 밸런서가 기본 로드 밸런서 보안 그룹 대신 기존 보안 그룹을 사용합니다.


이 문서가 도움이 되었습니까?


결제 또는 기술 지원이 필요합니까?