기본 상태 보고 - AWS Elastic Beanstalk

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

기본 상태 보고

AWS Elastic Beanstalk 여러 소스의 정보를 사용하여 환경이 사용 가능한지 확인하고 인터넷의 요청을 처리합니다. 환경의 상태는 Elastic Beanstalk 콘솔의 환경 개요 페이지에 네 가지 색상 중 하나로 표시됩니다. DescribeEnvironmentsAPI 및 EB CLI를 통한 호출을 eb status 통해서도 사용할 수 있습니다.

버전 2 Linux 플랫폼 버전 이전에 유일한 상태 보고 시스템은 기본 상태였습니다. 기본 상태 보고 시스템은 로드 밸런싱 수행 환경의 경우 Elastic Load Balancing에서 수행하는 상태 확인을 기반으로, 단일 인스턴스 환경의 경우 Amazon Elastic Compute Cloud에서 수행하는 상태 확인을 기반으로 Elastic Beanstalk 환경의 인스턴스 상태에 대한 정보를 제공합니다.

Elastic Beanstalk는 EC2 인스턴스의 상태를 확인하는 것 외에도, 환경의 여러 리소스를 모니터링하여 사용자가 환경을 사용할 수 없게 하는 없거나 잘못 구성된 리소스를 보고합니다.

사용자 환경의 리소스에서 수집한 지표는 5분 간격으로 CloudWatch Amazon에 게시됩니다. 여기에는 EC2의 운영 체제 측정치와 Elastic Load Balancing의 요청 측정치가 포함됩니다. 환경 콘솔의 모니터링 페이지에서 이러한 CloudWatch 지표를 기반으로 한 그래프를 볼 수 있습니다. 기본 상태의 경우 환경의 상태를 판단하는 데 이러한 측정치를 사용하지 않습니다.

상태 색상

Elastic Beanstalk는 웹 서버 환경에서 실행되는 애플리케이션이 상태 확인에 응답하는 방식에 따라 웹 서버 환경의 상태를 보고합니다. Elastic Beanstalk는 다음 표와 같이 네 가지 색상 중 하나를 사용하여 상태를 설명합니다.

색상 설명

회색

환경을 업데이트하는 중입니다.

녹색

환경이 최근의 상태 확인을 통과했습니다. 환경에 있는 하나 이상의 인스턴스를 사용할 수 있으며 요청을 받고 있습니다.

Yellow

환경이 하나 이상의 상태 확인에 실패했습니다. 환경에 대한 일부 요청에 실패합니다.

빨간색

환경이 세 개 이상의 상태 확인에 실패했거나, 환경 리소스를 사용할 수 없게 되었습니다. 요청에 지속적으로 실패합니다.

이러한 설명은 기본 상태 보고를 사용하는 환경에만 적용됩니다. 확장 상태와 관련된 세부 정보는 상태 색상 및 상태 단원을 참조하십시오.

Elastic Load Balancing 상태 확인

로드 밸런싱 수행 환경에서 Elastic Load Balancing은 환경의 각 인스턴스에 10초마다 요청을 보내 인스턴스가 정상임을 확인합니다. 기본적으로 로드 밸런서는 포트 80에서 TCP 연결을 열도록 구성되어 있습니다. 연결을 승인한 인스턴스는 정상 상태로 간주됩니다.

애플리케이션의 기존 리소스를 지정하여 이 설정을 재정의할 수 있습니다. 예를 들어 경로를 /health로 지정하면 상태 확인 URL은 HTTP:80/health로 설정됩니다. 상태 확인 URL은 항상 애플리케이션에서 제공하는 경로로 설정해야 합니다. 애플리케이션 앞의 웹 서버에서 제공하거나 캐시하는 정적 페이지로 설정하면 상태 확인에 애플리케이션 서버 또는 웹 컨테이너와 관련된 문제가 표시되지 않습니다. 상태 확인 URL을 수정하는 지침은 상태 확인을 참조하십시오.

상태 확인 URL이 구성되면 Elastic Load Balancing은 200 OK 응답을 반환하도록 보내는 GET 요청을 기대합니다. 애플리케이션이 5초 이내에 응답하지 못하거나 다른 HTTP 상태 코드로 응답하는 경우 상태 확인에 실패합니다. 5번 연속으로 상태 확인에 실패하면 Elastic Load Balancing은 해당 인스턴스를 서비스에서 제외시킵니다.

Elastic Load Balancing 상태 확인에 대한 자세한 내용은 Elastic Load Balancing 사용 설명서에서 상태 확인을 참조하십시오.

참고

상태 확인 URL을 구성해도 환경의 Auto Scaling 그룹의 상태 확인 동작은 변경되지 않습니다. 비정상 인스턴스는 로드 밸런서에서 제거되지만, Elastic Load Balancing 상태 확인을 토대로 인스턴스를 교체하도록 Amazon EC2 Auto Scaling을 구성하지 않는 한 Amazon EC2 Auto Scaling에서 이를 자동으로 교체하지 않습니다. Elastic Load Balancing 상태 확인에 실패한 인스턴스를 교체하도록 Amazon EC2 Auto Scaling을 구성하려면 Auto Scaling 상태 확인 설정 단원을 참조하십시오.

단일 인스턴스 및 작업자 티어 환경 상태 확인

단일 인스턴스 또는 작업자 티어 환경에서 Elastic Beanstalk는 Amazon EC2 인스턴스 상태를 모니터링하여 인스턴스의 상태를 확인합니다. HTTP 상태 확인 URL을 비롯한 Elastic Load Balancing 상태 설정은 이러한 인스턴스 유형에서 사용할 수 없습니다.

Amazon EC2 인스턴스 상태 확인에 대한 자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서상태 확인을 사용한 인스턴스 모니터링을 참조하십시오.

추가 확인

Elastic Beanstalk는 Elastic Load Balancing 상태 확인 외에도 환경의 리소스를 모니터링하여 배포하지 못했거나 올바르게 구성되지 않았거나 사용할 수 없게 된 리소스의 상태를 빨간색으로 변경합니다. 여기에서는 다음을 확인합니다.

  • 환경의 Auto Scaling 그룹을 사용할 수 있으며 인스턴스가 최소 하나 이상 있습니다.

  • 환경의 보안 그룹을 사용할 수 있으며 포트 80에서 수신 트래픽을 허용하도록 구성되었는지 여부

  • 환경 CNAME이 있으며 올바른 로드 밸런서를 가리키는지 여부

  • 작업자 환경에서 Amazon Simple Queue Service(Amazon SQS) 대기열이 최소 3분에 한 번씩 폴링되는지 여부

아마존 CloudWatch 메트릭스

기본 상태 보고를 사용하는 Elastic Beanstalk 서비스는 아마존에 지표를 게시하지 않습니다. CloudWatch 환경 콘솔의 모니터링 페이지에서 그래프를 생성하는 데 사용되는 CloudWatch 지표는 사용자 환경의 리소스에 의해 게시됩니다.

예를 들어 EC2는 환경의 Auto Scaling 그룹의 인스턴스에 대해 다음 측정치를 게시합니다.

CPUUtilization

현재 사용 중인 컴퓨팅 유닛의 비율(%)

DiskReadBytes
DiskReadOps
DiskWriteBytes
DiskWriteOps

읽고 쓴 바이트 수와 읽기 및 쓰기 작업 수

NetworkIn
NetworkOut

보내고 받은 바이트 수

Elastic Load Balancing은 환경의 로드 밸런서에 대해 다음 측정치를 게시합니다.

BackendConnectionErrors

로드 밸런서와 환경 인스턴스 간의 연결 실패 수

HTTPCode_Backend_2XX
HTTPCode_Backend_4XX

환경의 인스턴스에서 생성한 성공한(2XX) 응답 코드 및 클라이언트 오류(4XX) 응답 코드 수

Latency

로드 밸런서가 인스턴스에 요청을 전달한 시기와 응답을 받은 시기 사이의 시간(초)

RequestCount

완료된 요청 수

이러한 목록은 포괄적이지 않습니다. 이러한 리소스에 대해 보고할 수 있는 지표의 전체 목록은 Amazon CloudWatch 개발자 안내서의 다음 주제를 참조하십시오.

지표
네임스페이스 주제
AWS::ElasticLoadBalancing::LoadBalancer Elastic Load Balancing 측정치 및 리소스
AWS::AutoScaling::AutoScaling그룹 Amazon Elastic Compute Cloud 측정치 및 리소스
AWS::SQS::Queue Amazon SQS 측정치 및 리소스
AWS::RDS::DBInstance Amazon RDS 차원 및 측정치

작업자 환경 상태 지표

작업자 환경에서만 SQS 데몬은 환경 상태에 대한 사용자 지정 메트릭을 게시합니다. 여기서 값은 1이면 Green입니다. CloudWatch 네임스페이스를 사용하여 계정의 CloudWatch 상태 지표 데이터를 검토할 수 있습니다. ElasticBeanstalk/SQSD 측정치 차원은 EnvironmentName이고, 측정치 이름은 Health입니다. 모든 인스턴스는 동일한 네임스페이스에 측정치를 게시합니다.

데몬에서 측정치를 게시하도록 하려면 환경의 인스턴스 프로파일에 cloudwatch:PutMetricData를 호출할 권한이 있어야 합니다. 이 권한은 기본 인스턴스 프로파일에 포함되어 있습니다. 자세한 내용은 Elastic Beanstalk 인스턴스 프로파일 관리을(를) 참조하세요.