"AWSSupport-TroubleshootElasticBeanstalk" 런북을 사용하여 AWS Elastic Beanstalk 환경에 발생한 문제를 확인하고 해결하는 방법

4분 분량
콘텐츠 수준: 중급
6

본 기사는 AWS 지원 자동화 워크플로우 (Support Automation Workflow)의 "AWSSupport-TroubleshootElasticBeanstalk" 런북을 사용하여 AWS Elastic Beanstalk 환경에 발생한 문제를 진단하고 해결하는 방법에 대하여 설명합니다.

AWS Elastic Beanstalk (EB) 서비스는 사용자가 애플리케이션 배포를 위해 필요한 AWS 클라우드 인프라를 구성하거나 그 구조에 대하여 자세히 알 필요 없이도 AWS의 클라우드 인프라에 사용자의 애플리케이션을 신속하고 편리하게 배포하고 관리할 수 있는 기능을 제공합니다.

하지만 사용자의 애플리케이션을 EB 환경을 통해 배포, 운영하는 중에 종종 다양한 이유로 환경의 상태가 '성능 저하됨 (Degraded)', '심각 (Severe)' 등으로 변경되는 상황이 발생할 수 있습니다.

그림 1: 성능 저하됨 (Degraded) 상태로 전환된 EB 환경 'RePostExample-env' 그림 1: 성능 저하됨 (Degraded) 상태로 전환된 EB 환경 'RePostExample-env'

이러한 경우 이슈 해결을 위해 AWS Premium Support에서 서포트 케이스를 생성하여 문제 해결에 지원을 받거나, AWS 지원 자동화 워크플로우 (Support Automation Workflow) 런북을 활용하여 AWS Premium Support의 지원을 기다리지 않고 직접 빠르게 이슈를 진단하고 해결할 수도 있습니다.

AWS 지원 자동화 워크플로우는 AWS Systems Manager 셀프 서비스 자동화 런북 모음입니다. 이러한 런북은 AWS Support Engineering 팀에서 고객 문제를 해결하며 배운 모범 사례를 바탕으로 작성되었습니다. 이를 통해 AWS 고객은 AWS 리소스의 일반적인 문제를 진단, 수정, 해결할 수 있습니다. 또한 네트워크 문제를 사전에 식별하고 로그 수집 및 분석의 다양한 작업을 수행할 수 있습니다. AWS 지원 자동화 워크플로우 런북은 AWS 모범 사례에 따라 수동 작업 및 관리 오버헤드, 인적 오류를 줄일 수 있습니다.

AWS 지원 자동화 워크플로우에서 제공되는 "AWSSupport-TroubleshootElasticBeanstalk" 런북을 이용하면 AWS Elastic Beanstalk 환경에 발생한 문제를 직접 빠르게 진단하고 해결할 수 있습니다.

"AWSSupport-TroubleshootElasticBeanstalk" 런북은 사용자를 대신하여 아래와 같은 자원에 대하여 확인합니다.

  • 로드 밸런서, AWS CloudFormation 스택, Amazon EC2 Auto Scaling 그룹, Amazon EC2 인스턴스 및 Amazon VPC에 대한 구성 세부 정보를 확인합니다.
  • 서브넷과 연결된 보안 그룹 규칙, 라우팅 테이블, 네트워크 액세스 제어 목록(ACL)과 연결된 네트워크 구성 문제 여부를 확인합니다.
  • Elastic Beanstalk 엔드포인트에 대한 연결 및 공용 인터넷 액세스를 확인합니다.
  • 로드 밸런서 및 Amazon EC2 인스턴스의 상태를 확인합니다.
  • Elastic Beanstalk 환경에서 로그 번들을 검색하고 선택적으로 AWS Support에 로그 번들 파일을 업로드합니다.

본 기사에서는 "AWSSupport-TroubleshootElasticBeanstalk" 런북을 이용하여 AWS Elastic Beanstalk (EB) 환경에 발생한 이슈에 대한 해결 예시를 제공합니다.

문제 해결을 위해 런북을 사용한 예시

예를 들어 환경의 상태가 '성능 저하됨 (Degraded)'으로 전환된 경우 그 원인을 진단하고 해결할 방법을 찾기 위해 본 런북에서 제공하는 자동화 (Automation) 도구를 콘솔에서 실행할 수 있습니다.

런북 자동화 도구 실행 절차:

  1. AWS Systems Manager 콘솔로 이동하여 왼편의 네비게이션 메뉴에서 '자동화 (Automation)' 메뉴를 선택합니다. 그림 2: AWS systems Manager 콘솔의 왼편에서 '자동화 (Automation)' 메뉴를 선택 그림 2: AWS systems Manager 콘솔의 왼편에서 '자동화 (Automation)' 메뉴를 선택

  2. '자동화 (Automation)' 화면에서 '자동화 실행 (Execute automation)' 버튼을 선택합니다. 그림 3: '자동화 실행 (Execute automation)' 버튼를 선택하여 자동화 런북 찾기 그림 3: '자동화 실행 (Execute automation)' 버튼를 선택하여 자동화 런북 찾기

  3. 중앙의 자동화 런북에서 "AWSSupport-TroubleshootElasticBeanstalk"을 검색하고 선택한 뒤 하단에서 다음(Next)를 클릭합니다. 그림 4: AWSSupport-TroubleshootElasticBeanstalk 런북 검색 그림 4: AWSSupport-TroubleshootElasticBeanstalk 런북 검색

그림 5: AWSSupport-TroubleshootElasticBeanstalk 런북 탐색 결과 그림 5: AWSSupport-TroubleshootElasticBeanstalk 런북 탐색 결과

그림 6: AWSSupport-TroubleshootElasticBeanstalk 런북 선택 - '다음 (Next)' 버튼 클릭 그림 6: AWSSupport-TroubleshootElasticBeanstalk 런북 선택 - '다음 (Next)' 버튼 클릭

  1. 단순 실행 (Simple execution) 모드로 런북을 실행하며 입력 파라미터 섹션에서 애플리케이션 이름 (ApplicationName)과 환경 이름 (EnvironmentName)과 같은 필수 값을 포함하여 필요한 경우 선택 값을 입력한 후 하단의 '실행 (Execute)' 버튼을 클릭합니다. 그림 7: ApplicationName, EnvironmentName 등의 정보 입력 그림 7: ApplicationName, EnvironmentName 등의 정보 입력

그림 8: 정보 입력 완료 이후 '실행 (Execute)' 버튼을 클릭하여 런북 실행 그림 8: 정보 입력 완료 이후 '실행 (Execute)' 버튼을 클릭하여 런북 실행

  1. 런북 자동화 도구가 실행을 마치면 EB 환경에 대하여 진단 작업 수행 결과를 확인합니다.

그림 9: 런북 자동화 도구 실행 시작 그림 9: 런북 자동화 도구 실행 시작

그림 10: 런북 실행 완료 후 마지막 단계 'Finish'의 실행 결과를 확인 그림 10: 런북 실행 완료 후 마지막 단계 'Finish'의 실행 결과를 확인

그림 11: 'CheckEc2Health' 단계를 살펴보라는 메시지를 확인 그림 11: 'CheckEc2Health' 단계를 살펴보라는 메시지를 확인

그림 12: 'CheckEc2Health' 단계에서 'eb-docker' 구성요소가 동작하지 않음을 확인 그림 12: 'CheckEc2Health' 단계에서 'eb-docker' 구성요소가 동작하지 않음을 확인

  1. 런북을 통해 확인한 문제의 원인을 해결하고 웹 애플리케이션 및 EB 환경의 상태가 복구되는 것을 확인합니다.

그림 13: 문제가 발생한 EC2 인스턴스에 접속하여 문제 해결 - 도커 이미지 재시작 그림 13: 문제가 발생한 EC2 인스턴스에 접속하여 문제 해결 - 도커 이미지 재시작

그림 14: 문제 해결 이후 웹 애플리케이션 정상 작동 확인 그림 14: 문제 해결 이후 웹 애플리케이션 정상 작동 확인

그림 15: 문제 해결 이후 EB 환경 상태가 '정상 (OK)'으로 복구된 것을 확인 그림 15: 문제 해결 이후 EB 환경 상태가 '정상 (OK)'으로 복구된 것을 확인

만약, 위와 같이 AWS 지원 자동화 워크플로우 (Support Automation Workflow) 런북을 진행하였음에도 불구 이슈가 해결되지 않거나 이슈 해결에 보다 전문적인 도움이 필요한 경우 위와 같이 실행한 런북 실행 ID 및 실행 결과 등의 정보와 함께 AWS Premium Support에 도움을 요청해 주시길 바랍니다.

profile pictureAWS
지원 엔지니어
게시됨 2달 전239회 조회
2 댓글

유익하네요! 서포트에 매번 물어볼 때 기다려야 한다는 불편한 점이 존재했는데, 빠르게 스스로 알아볼 수 있다는 것이 좋은 것 같아요 :) 좋은 글 감사드립니다!

hyeon
답글을 게시함 2달 전

본 기사에 대한 피드백 감사합니다. hyeon님.
re:Post 커뮤니티에서 많은 도움 받으시길 바랍니다!

profile pictureAWS
지원 엔지니어
답글을 게시함 2달 전