Elastic Beanstalk 환경에서 Windows 인스턴스에서 로그를 수집하려면 어떻게 해야 합니까?

2분 분량
0

AWS Elastic Beanstalk 환경의 Windows 인스턴스에서 로그를 수집하려고 합니다.

간략한 설명

AWSSupport-CollectElasticBeanstalkLogs 자동화를 사용하여 Elastic Beanstalk 환경의 Windows 인스턴스에서 로그를 수집할 수 있습니다. Windows 인스턴스의 경우 RDP(원격 데스크톱 프로토콜)로 각 개별 Windows 인스턴스에 연결하여 로그를 한 번에 하나씩 수집해야 합니다. 그러나 AWSSupport-CollectElasticBeanstalkLogs 자동화를 사용하여 여러 Windows 인스턴스에서 로그를 자동으로 수집하면 이 수동 프로세스를 방지할 수 있습니다.

기본적으로 자동화는 인스턴스의 로그 번들을 .zip 파일로 다음 중 하나에 업로드합니다.

  • 계정의 기본 Elastic Beanstalk 버킷
  • 사용자가 지정하는 Amazon Simple Storage Service (Amazon S3) 버킷

자동화는 다음 위치에서 로그 파일을 수집합니다.

  • C:\Program Files\Amazon\ElasticBeanstalk\HealthD\Logs\*
  • C:\Program Files\Amazon\ElasticBeanstalk\logs\*
  • C:\cfn\log\*
  • C:\inetpub\logs\*

참고: AWS Command Line Interface (AWS CLI) 명령을 실행할 때 오류가 발생할 경우 AWS CLI의 최신 버전을 사용하고 있는지 확인하세요.

해결 방법

AWS Systems Manager 콘솔 또는 AWS CLI를 사용하여 자동화를 실행할 수 있습니다.

콘솔:

1.    Systems Manager 콘솔을 엽니다.

2.    탐색 창의 변경 관리(Change Management) 섹션에서 **자동화(Automation)**를 선택합니다.

3.    **자동화 실행(Execute automation)**을 선택합니다.

4.    아마존 소유(Owned by Amazon) 탭에서 AWSSupport-CollectElasticBeanstalkLogs 자동화 문서를 검색하여 선택한 후 **다음(Next)**을 선택합니다.

5.    입력 파라미터(Input parameters) 섹션에서 시나리오에 적합한 필드를 입력합니다.

6.    **실행(Execute)**을 선택합니다.

자동화 진행 상황을 모니터링하려면 다음을 수행합니다.

1.    Systems Manager 콘솔의 탐색 창에서 변경 관리(Change Management) 섹션의 **자동화(Automation)**를 선택합니다.

2.    실행 ID(Execution ID) 열에서 자동화를 선택합니다.

3.    자동화 진행 상황을 검토합니다. 실행 단계(Execution steps) 섹션은 현재 자동화가 어떤 단계에 있는지 보여줍니다. 출력(Outputs) 섹션에는 자동화가 실패할 경우 문제를 해결하는 데 도움이 되는 로그가 포함되어 있습니다.

AWS CLI:

1.    번들 로그를 수집하여 계정의 Elastic Beanstalk용 기본 S3 버킷에 업로드합니다.

aws ssm start-automation-execution --document-name "AWSSupport-CollectElasticBeanstalkLogs"\
        --parameters "InstanceId=INSTANCEID,\
                               EnvironmentId=ENVIRONMENTID,\
                               AutomationAssumeRole=AUTOMATIONROLE"

2.    번들 로그를 수집하여 S3 버킷에 업로드합니다.

aws ssm start-automation-execution --document-name "AWSSupport-CollectElasticBeanstalkLogs"\
        --parameters "InstanceId=INSTANCEID,\
                              EnvironmentId=ENVIRONMENTID,\
                              S3BucketName=BUCKETNAME,\
                              S3BucketPath=BUCKETPATH,\
                              AutomationAssumeRole=AUTOMATIONROLE"

3.    실행 출력을 검색합니다.

aws ssm get-automation-execution --automation-execution-id EXECUTIONID --output text --query 'AutomationExecution.Outputs'

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