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

2분 분량
0

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

간략한 설명

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

다음 사항에 유의하세요.

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

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

해결 방법

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

구성 파일을 사용하여 인스턴스 Auto Scaling 그룹의 상태 확인 유형을 ELB로 변경합니다.

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 그룹의 [세부 정보(Details)] 탭에서 [상태 확인 유형(Health Check Type)]이 [ELB]로 설정되어 있는지 확인합니다.


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