View a markdown version of this page

AWSSupport-CollectEKSLinuxNodeStatistics - AWS Systems Manager オートメーションランブックリファレンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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 パラメータが入力されている場合のトレースルートと DNS の結果。

  • パケットキャプチャ分析数 - TCP 再送信、順序外のパケットなど。

ランブックは、Amazon Linux 2、Amazon Linux 2023、Debian/Ubuntu など、さまざまな Linux ディストリビューションからデータを収集します。Amazon ECR パブリックギャラリーの次のイメージの最新バージョンを使用します。

  • amazon-ecs-network-sidecar トラブルシューティングツールにアクセスするための イメージ。

  • aws-cli 指定した Amazon S3 バケットに統計レポート JSON ファイルとパケットキャプチャファイルをアップロードするイメージ。

重要

このランブックは 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 Manager AWSSupport-CollectEKSLinuxNodeStatisticsで に移動します。

  2. [Execute automation] (オートメーションを実行) を選択します。

  3. 入力パラメータには、次のように入力します。

    • AutomationAssumeRole(オプション):

      Systems Manager Automation がユーザーに代わってアクションを実行できるようにする IAM ロールの Amazon リソースネーム (ARN)。ロールを指定しない場合、Systems Manager Automation はこのランブックを開始するユーザーのアクセス許可を使用します。

    • InstanceId (必須):

      統計を収集する Amazon EC2 インスタンスの ID。

    • S3BucketName (必須):

      Amazon EC2 インスタンスから JSON 出力をファイルとしてエクスポートする Amazon Amazon S3 バケットの名前。

    • S3KeyPrefix (オプション):

      Amazon EC2 インスタンスから JSON 出力をファイルとしてエクスポートするための Amazon S3 キープレフィックス (サブフォルダ)。デフォルト: AWSSupport-CollectEKSLinuxNodeStatistics

    • S3BucketOwnerRoleArn (オプション):

      Amazon S3 バケットとアカウントブロックパブリックアクセス設定、バケット暗号化設定、バケット ACLs、バケットポリシーステータスを取得し、バケットにオブジェクトをアップロードするアクセス許可を持つ IAM ロールの ARN。このパラメータが指定されていない場合、ランブックは、このランブックを開始する AutomationAssumeRole (指定されている場合) または ユーザー ( が指定されAutomationAssumeRoleていない場合) を使用します。

    • S3BucketOwnerAccount (オプション):

      Amazon S3 バケットを所有する AWS アカウント。このパラメータを指定しない場合、ランブックはバケットがこのアカウントにあることを前提としています。

    • ContainerId (オプション):

      指定された Amazon EC2 インスタンスで実行されているコンテナの ID。

    • NetworkTargets (オプション):

      DNS 解決をテストする IPv4 アドレスや DNS 名、および traceroute を使用した接続のカンマ区切りリスト。

  4. [実行] を選択します。

  5. 自動化が開始されます。

  6. ドキュメントは以下のステップを実行します。

    • CheckBucketAccess:

      ターゲット Amazon S3 バケットがオブジェクトへの読み取り/書き込みパブリックアクセスを許可する可能性があるかどうかを確認します。

    • AssertInstanceIsSSMManaged:

      ターゲット Amazon EC2 インスタンスが Systems Manager によって管理されていることを確認します。管理されていない場合、オートメーションは終了します。

    • VerifyInstanceState:

      統計の収集を試みる前に、Amazon EC2 インスタンスが実行中の状態であることを確認します。

    • BranchOnVerifyLinuxInstance:

      続行する前に、インスタンスが Linux インスタンスであることを確認します。

    • BranchOnVerifyInstanceRunning:

      続行する前に、インスタンスが実行中の状態であることを確認します。

    • CollectEKSLinuxNodeStatistics:

      OS 情報、ネットワークインターフェイス統計、ファイル記述子、エフェメラルポート、ファイアウォールルール、オプションでコンテナレベルの統計など、包括的な Linux 統計を Amazon EC2 インスタンスから収集します。

    • GenerateStatisticsOutputS3Uri:

      オートメーションドキュメントの出力として使用する Linux 統計ファイルへの完全な Amazon S3 URI を生成します。

  7. 完了したら、出力セクションで詳細な実行結果を確認します。

リファレンス

Systems Manager Automation