View a markdown version of this page

AWSSupport-CollectEKSInstanceLogs - AWS Systems Manager Automation 런북 참조

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

AWSSupport-CollectEKSInstanceLogs

설명

AWSSupport-CollectEKSInstanceLogs 실행서는 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스로부터 운영 체제 및 Amazon Elastic Kubernetes Service(Amazon EKS) 관련 로그 파일을 수집하여 일반적인 문제를 해결하는 데 도움을 줍니다. 자동화가 관련 로그 파일을 수집하고 있는 동안, 임시 디렉터리 생성, 임시 디렉터리에 대한 로그 파일 복사, 아카이브로 로그 파일 압축하기 등 파일 시스템 구조에 대한 변경내용이 적용됩니다. 이 활동으로 인해 Amazon EC2 인스턴스에서 CPUUtilization 증가를 초래할 수 있습니다. CPUUtilization에 대한 자세한 내용은 Amazon CloudWatch 사용 설명서인스턴스 지표를 참조하세요.

LogDestination 파라미터에 대한 값을 지정하는 경우, 지정하는 Amazon Simple Storage Service(Amazon S3) 버킷의 정책 상태를 자동화에서 평가합니다. Amazon EC2 인스턴스로부터 수집한 로그의 보안을 돕기 위해, 정책 상태 isPublic(이)가 true(으)로 설정되어 있거나 액세스 제어 목록(ACL)이 All Users Amazon S3의 미리 정의된 그룹에 READ|WRITE 권한을 부여하는 경우, 로그는 업로드되지 않습니다. Amazon S3의 미리 정의된 그룹에 대한 자세한 내용은 Amazon Simple Storage Service 사용 설명서에서 Amazon S3의 미리 정의된 그룹을 참조하세요.

참고

이 자동화에는 Amazon EC2 인스턴스에 연결된 루트 Amazon Elastic Block Store(Amazon EBS) 볼륨에서 사용 가능한 디스크 공간의 10% 이상이 필요합니다. 루트 볼륨에 사용 가능한 디스크 공간이 충분하지 않으면 자동화가 중지됩니다.

이 자동화 실행(콘솔)

문서 유형

자동화

소유자

Amazon

플랫폼

Linux

파라미터

  • AutomationAssumeRole

    유형: 문자열

    설명: (선택 사항) 사용자를 대신하여 Systems Manager Automation을 통해 작업을 수행할 수 있도록 허용하는 AWS Identity and Access Management (IAM) 역할의 Amazon 리소스 이름(ARN)입니다. 역할을 지정하지 않은 경우, Systems Manager Automation에서는 이 실행서를 시작하는 사용자의 권한을 사용합니다.

  • EKSInstanceId

    유형: 문자열

    설명: (필수) 로그를 수집할 Amazon EKS Amazon EC2 인스턴스의 ID입니다.

  • LogDestination

    유형: 문자열

    설명: (선택 사항) 보관된 로그를 업로드할 계정의 Amazon Simple Storage Service(Amazon S3) 버킷입니다.

필수 IAM 권한

실행서를 성공적으로 사용하려면 AutomationAssumeRole 파라미터에 다음 작업이 필요합니다.

  • ssm:StartAutomationExecution

  • ssm:GetAutomationExecution

  • ssm:SendCommand

Amazon EC2 인스턴스 프로파일에 필요한 IAM 권한

에서 사용하는 인스턴스 프로파일에는 AmazonSSMManagedInstanceCore Amazon 관리형 정책이 연결되어 EKSInstanceId 있어야 합니다.

또한 수집된 로그를 업로드할 수 있도록 LogDestination Amazon S3 버킷에 액세스할 수 있어야 합니다. 다음은 해당 인스턴스 프로파일에 연결할 수 있는 IAM 정책의 예입니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetBucketPolicyStatus", "s3:GetBucketAcl" ], "Resource": [ "arn:aws:s3:::LogDestination/*", "arn:aws:s3:::LogDestination" ] } ] }

가 AWS KMS 암호화를 LogDestination 사용하는 경우 IAM 정책에 추가 문을 추가하여 암호화에 사용되는 AWS KMS 키에 대한 액세스 권한을 부여해야 합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetBucketPolicyStatus", "s3:GetBucketAcl" ], "Resource": [ "arn:aws:s3:::LogDestination/*", "arn:aws:s3:::LogDestination" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:REGION:ACCOUNT:key/KMS-KEY-ID" } ] }

문서 단계

  • aws:assertAwsResourceProperty - EKSInstanceId 파라미터에서 지정된 값의 운영 체제가 Linux인지 확인합니다.

  • aws:runCommand - 운영 체제 및 Amazon EKS 관련 로그 파일을 수집하여 /var/log 디렉터리의 아카이브로 압축합니다.

  • aws:branch - LogDestination 파라미터에 대해 값이 지정되었는지 확인합니다.

  • aws:runCommand - LogDestination 파라미터에서 지정한 Amazon S3 버킷에 로그 아카이브를 업로드합니다.