Elastic Beanstalk 환경에서 비정상적인 Amazon EC2 인스턴스의 교체를 자동화하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 4월 24일

AWS Elastic Beanstalk 환경에서 비정상적인 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스의 교체를 자동화하고 싶습니다.

간략한 설명

기본적으로 Auto Scaling 그룹의 상태 확인 구성EC2 인스턴스의 상태 확인을 수행하는 EC2 유형으로 설정됩니다. 비정상적인 EC2 인스턴스의 교체를 자동화하려면 구성 파일을 사용하여 인스턴스의 Auto Scaling 그룹의 상태 확인 유형을 EC2에서 ELB로 변경해야 합니다.

다음 사항에 유의하십시오.

  • 상태 확인은 EC2 인스턴스의 상태만 다루며 애플리케이션, 서버 또는 인스턴스에서 실행 중인 도커 컨테이너의 상태는 다루지 않습니다.
  • 애플리케이션이 충돌하면 로드 밸런서가 대상에서 비정상적인 인스턴스를 제거합니다. 그러나 Auto Scaling 그룹은 로드 밸런서에 의해 표시된 비정상적인 인스턴스를 자동으로 교체하지 않습니다.
  • Auto Scaling 그룹의 상태 확인 유형을 EC2에서 ELB로 변경하여 상태 확인이 실패할 때 Auto Scaling 그룹이 비정상적인 인스턴스를 자동으로 교체하도록 할 수 있습니다.

참고: .ebextensions 생성 및 배포에 대한 자세한 내용은 .ebextensions를 사용하여 Elastic Beanstalk 환경을 사용자 지정하려면 어떻게 해야 합니까?를 참조하십시오.

해결 방법

다음 단계는 로드 밸런서가 있는 환경에만 적용됩니다.

1.    소스 번들의 루트 디렉터리에 .ebextensions라는 폴더를 생성합니다.

2.    .config 파일이라는 리소스 기반 .ebextension을 생성합니다. 다음 예제를 참조하십시오.

Example .ebextensions/autoscaling.config
===============================================
Resources:
  AWSEBAutoScalingGroup:
    Type: AWS::AutoScaling::AutoScalingGroup
    Properties:
      HealthCheckType: ELB
      HealthCheckGracePeriod: 300
===============================================

참고: HealthCheckGracePeriod는 Amazon EC2 Auto Scaling이 서비스 상태가 된 EC2 인스턴스의 상태를 확인하기 전에 대기하는 시간(초)을 나타냅니다.

3.    업데이트된 애플리케이션 소스 번들에 대한 zip 파일을 생성한 다음 애플리케이션을 배포합니다.

참고: eb deploy를 사용하여 애플리케이션을 배포할 수도 있습니다.

Auto Scaling 그룹의 상태 확인 유형이 ELB로 설정되어 있는지 확인합니다.

1.    Amazon EC2 콘솔을 엽니다.

2.    탐색 창에서 [Auto Scaling 그룹]을 선택합니다.

3.    [필터]에 Auto Scaling 그룹의 환경 ID를 입력한 다음 결과 목록에서 Auto Scaling 그룹을 선택합니다.

4.    Auto Scaling 그룹의 [세부 정보] 탭에서 [상태 확인 유형]이 [ELB]로 설정되어 있는지 확인합니다.


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

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?