Auto Scaling 상태 확인 설정 - AWS Elastic Beanstalk

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Auto Scaling 상태 확인 설정

Amazon EC2 Auto Scaling은 시작하는 각 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스의 상태를 모니터링합니다. 인스턴스가 예기치 않게 종료된 경우 Auto Scaling은 종료를 감지하고 대체 인스턴스를 시작합니다. 기본적으로 사용자의 환경을 위해 생성된 Auto Scaling 그룹에는 Amazon EC2 상태 확인이 사용됩니다. 환경의 인스턴스가 Amazon EC2 상태 확인에 실패하면 Auto Scaling이 인스턴스를 중단하고 바꿉니다.

Amazon EC2 상태 확인은 인스턴스의 상태만 다루며, 애플리케이션, 서버 또는 인스턴스에서 실행되는 모든 Docker 컨테이너의 상태는 다루지 않습니다. 애플리케이션이 중단되었지만 애플리케이션이 실행되는 인스턴스가 여전히 정상일 경우 인스턴스가 로드 밸런서에서 제외될 수 있으나 Auto Scaling이 자동으로 바꾸지는 않습니다. 문제를 해결하려면 기본 동작을 수행하는 것이 좋습니다. 애플리케이션이 중단되는 즉시 Auto Scaling에서 인스턴스를 바꾸면 시작 후 곧바로 애플리케이션이 중단되었더라도 사용자는 무언가 잘못되었음을 깨닫지 못할 수 있습니다.

Auto Scaling에서 애플리케이션이 응답을 중지한 인스턴스를 바꾸게 하려는 경우 구성 파일을 사용하여 Auto Scaling 그룹에서 Elastic Load Balancing 상태 확인을 사용하도록 구성할 수 있습니다. 다음 예에서는 그룹이 로드 밸런서의 상태 확인은 물론 Amazon EC2 상태 확인도 사용하여 인스턴스 상태를 확인하도록 설정합니다.

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

HealthCheckTypeHealthCheckGracePeriod 속성에 대한 자세한 내용은 AWS CloudFormation 사용 설명서AWS::AutoScaling::AutoScalingGroupAmazon EC2 Auto Scaling 사용 설명서Auto Scaling 인스턴스 상태 확인을 참조하세요.

기본적으로 Elastic Load Balancing 상태 확인은 포트 80을 통해 인스턴스에 TCP 연결을 시도하도록 구성되어 있습니다. 이를 통해 인스턴스에서 실행 중인 웹 서버가 연결을 수락하고 있음을 확인합니다. 하지만 웹 서버뿐 아니라 애플리케이션 또한 양호한 상태가 되도록 로드 밸런서 상태 확인을 사용자 지정할 수 있습니다. 유예 기간 설정은 인스턴스가 종료되어 바뀌지 않고 상태 확인에 실패할 수 있는 시간(초)을 설정합니다. 로드 밸런서에서 제외된 후에도 인스턴스가 복구될 수 있으므로 애플리케이션에 적합한 시간을 인스턴스에 부여하세요.