View a markdown version of this page

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

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

AWSSupport-CollectEKSLinuxNodeStatistics

설명

AWSSupport-CollectEKSLinuxNodeStatistics 실행서는 Amazon EKS 클러스터의 일부인 Amazon EC2 인스턴스와 컨테이너 ID가 지정된 경우 인스턴스에서 실행되는 containerd 컨테이너에서 Linux 통계를 수집합니다. Amazon EC2 인스턴스는에서 관리해야 합니다 AWS Systems Manager.

수집되는 호스트 수준 Linux 통계는 다음과 같습니다.

  • OS 정보.

  • 네트워크 인터페이스 통계 - ethtool/sys/class/net/interface/statistics 디렉터리에서.

  • 파일 설명자 수입니다.

  • 임시 포트 수입니다.

  • iptables 규칙의 덤프입니다.

  • 전체 conntrack 테이블을 확인합니다.

컨테이너 수준 Linux 통계에는 다음이 포함됩니다.

  • 식별자 정보 - 이미지 URI 및 레이블.

  • 네트워크 인터페이스 통계 - ethtool/sys/class/net/interface/statistics 디렉터리에서.

  • NetworkTargets 파라미터가 채워진 경우 Traceroute 및 DNS 결과입니다.

  • 패킷 캡처 분석 수 - TCP 재전송, 순서에 맞지 않는 패킷 등

실행서는 Amazon Linux 2, Amazon Linux 2023 및 Debian/Ubuntu를 포함한 다양한 Linux 배포판에서 데이터를 수집합니다. Amazon ECR 퍼블릭 갤러리에서 다음 이미지의 최신 버전을 사용합니다.

  • amazon-ecs-network-sidecar 문제 해결 도구에 액세스할 수 있는 이미지입니다.

  • aws-cli 통계 보고서 JSON 파일 및 패킷 캡처 파일을 지정된 Amazon S3 버킷에 업로드하는 이미지입니다.

중요

이 실행서는 Fargate 인스턴스를 지원하지 않습니다. 실행 중에 인스턴스가 종료되거나 연결이 끊어지면이 실행서가 실패할 수 있습니다.

어떻게 작동하나요?

실행서는 다음 작업을 수행합니다.

  • 대상 Amazon S3 버킷이 퍼블릭 읽기 또는 쓰기 액세스 권한을 부여하지 않는지 확인합니다.

  • 대상 Amazon EC2 인스턴스가 Systems Manager에서 관리되고 실행 중인 상태인지 확인합니다.

  • 인스턴스가 Linux 운영 체제를 실행 중인지 확인합니다.

  • Amazon EC2 인스턴스 및 선택적으로 지정된 컨테이너에서 포괄적인 Linux 통계를 수집합니다.

  • 수집된 통계를 지정된 Amazon S3 버킷에 업로드합니다.

이 자동화 실행(콘솔)

필수 IAM 권한

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

AutomationAssumeRole 파라미터에는 다음 작업이 필요합니다.

  • s3:GetAccountPublicAccessBlock

  • s3:GetBucketPublicAccessBlock

  • s3:GetBucketAcl

  • s3:GetBucketPolicyStatus

  • s3:GetBucketLocation

  • s3:GetEncryptionConfiguration

  • s3:PutObject

  • ssm:DescribeInstanceInformation

  • ssm:SendCommand

  • ssm:GetCommandInvocation

  • ec2:DescribeInstances

IAM 정책 예제:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetAccountPublicAccessBlock" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetBucketPublicAccessBlock", "s3:GetBucketAcl", "s3:GetBucketPolicyStatus", "s3:GetBucketLocation", "s3:GetEncryptionConfiguration" ], "Resource": "arn:aws:s3:::S3_BUCKET_NAME" }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::S3_BUCKET_NAME/*" }, { "Effect": "Allow", "Action": [ "ssm:DescribeInstanceInformation" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:SendCommand" ], "Resource": [ "arn:aws:ssm:*:*:document/AWS-RunShellScript", "arn:aws:ec2:*:111122223333:instance/*" ] }, { "Effect": "Allow", "Action": [ "ssm:GetCommandInvocation" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:DescribeInstances" ], "Resource": "*" } ] }

지침

다음 단계에 따라 자동화를 구성합니다.

  1. Systems ManagerAWSSupport-CollectEKSLinuxNodeStatistics의 문서로 이동합니다.

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

  3. 입력 파라미터에 다음을 입력합니다.

    • AutomationAssumeRole(선택 사항):

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

    • InstanceId(필수):

      통계를 수집할 Amazon EC2 인스턴스의 ID입니다.

    • S3BucketName(필수):

      Amazon EC2 인스턴스의 JSON 출력을 파일로 내보낼 Amazon S3 버킷의 이름입니다. Amazon EC2

    • S3KeyPrefix(선택 사항):

      Amazon EC2 인스턴스의 JSON 출력을 파일로 내보내는 Amazon S3 키 접두사(하위 폴더)입니다. Amazon EC2 기본값: AWSSupport-CollectEKSLinuxNodeStatistics.

    • S3BucketOwnerRoleArn(선택 사항):

      Amazon S3 버킷 및 계정을 가져올 수 있는 권한이 있는 IAM 역할의 ARN은 퍼블릭 액세스 설정, 버킷 암호화 구성, 버킷 ACLs, 버킷 정책 상태 및 버킷에 객체 업로드를 차단합니다. 이 파라미터를 지정하지 않으면 실행서는이 실행서를 시작하는 AutomationAssumeRole (지정된 경우) 또는 사용자(지정되지 않은 경우)AutomationAssumeRole를 사용합니다.

    • S3BucketOwnerAccount(선택 사항):

      Amazon S3 버킷을 소유한 AWS 계정입니다. 이 파라미터를 지정하지 않으면 실행서는 버킷이이 계정에 있다고 가정합니다.

    • ContainerId(선택 사항):

      지정된 Amazon EC2 인스턴스에서 실행되는 컨테이너의 ID입니다.

    • NetworkTargets(선택 사항):

      DNS 확인 및 traceroute를 사용한 연결을 테스트하기 위한 IPv4 주소 및/또는 DNS 이름의 쉼표로 구분된 목록입니다.

  4. 실행을 선택합니다.

  5. 자동화가 시작됩니다.

  6. 문서는 다음 단계를 수행합니다.

    • CheckBucketAccess:

      대상 Amazon S3 버킷이 객체에 대한 읽기 및/또는 쓰기 퍼블릭 액세스 권한을 부여할 가능성이 있는지 확인합니다.

    • AssertInstanceIsSSMManaged:

      Systems Manager에서 대상 Amazon EC2 인스턴스를 관리하는지 확인합니다. 그렇지 않으면 자동화가 종료됩니다.

    • VerifyInstanceState:

      통계 수집을 시도하기 전에 Amazon EC2 인스턴스가 실행 중인 상태인지 확인합니다.

    • BranchOnVerifyLinuxInstance:

      계속하기 전에 인스턴스가 Linux 인스턴스인지 확인합니다.

    • BranchOnVerifyInstanceRunning:

      계속하기 전에 인스턴스가 실행 중인 상태인지 확인합니다.

    • CollectEKSLinuxNodeStatistics:

      OS 정보, 네트워크 인터페이스 통계, 파일 설명자, 임시 포트, 방화벽 규칙 및 선택적으로 컨테이너 수준 통계를 포함하여 Amazon EC2 인스턴스에서 포괄적인 Linux 통계를 수집합니다.

    • GenerateStatisticsOutputS3Uri:

      자동화 문서의 출력으로 사용할 Linux 통계 파일에 대한 전체 Amazon S3 URI를 생성합니다.

  7. 완료 후에는 Outputs 섹션에서 실행의 세부 결과를 검토합니다.

참조

Systems Manager Automation