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

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

AWSSupport-TroubleshootWindowsPerformance

説明

ランブックは、Amazon Elastic Compute Cloud (Amazon EC2) Windows インスタンスで進行中のパフォーマンス問題のトラブルシューティングAWSSupport-TroubleshootWindowsPerformanceに役立ちます。ランブックは、ターゲットインスタンスからログをキャプチャし、CPU、メモリ、ディスク、およびネットワークパフォーマンスメトリクスを分析します。オプションで、オートメーションはプロセスダンプをキャプチャして、パフォーマンス低下の潜在的な原因を特定するのに役立ちます。このランブックにインストールを許可した場合、オートメーションは最新のEC2Rescueツールを使用してイベントログとシステムログもキャプチャします。

動作の仕組み

ランブックは次のステップを実行します。

  • Amazon EC2インスタンスで前提条件を確認します。

  • Amazon EC2 Windows インスタンスのルートディスクにパフォーマンスログを生成します。

  • キャプチャされたログを フォルダに保存します。 C:\ProgramData\Amazon\SSM\TroubleshootWindowsPerformance

  • Amazon Simple Storage Service (Amazon S3) バケットが提供されていて、オートメーションの継承ロールに必要なアクセス許可がある場合、キャプチャされたログは Amazon S3 バケットにアップロードされます。

  • Amazon EC2 Windows インスタンスに最新のEC2Rescueツールをインストールして、インストールを選択した場合はイベントとシステムログをキャプチャしますが、 によってキャプチャされたプロセスダンプとログは分析されませんEC2Rescue

重要
  • このランブックを実行するには、Amazon EC2 Windows インスタンスを で管理する必要があります AWS Systems Manager。詳細については、「Amazon EC2インスタンスがマネージドノード として表示されないのはなぜですか」を参照してください。

  • このランブックを実行するには、Amazon EC2 Windows インスタンスが、バージョン PowerShell 4.0 以降の Windows 8.1/Windows Server 2012 R2 (6.3) 以降で実行されている必要があります。詳細については、「Windows オペレーティングシステムのバージョン」を参照してください。

  • パフォーマンスログの生成には、ルートデバイスに少なくとも 10 GB の空き領域が必要です。ルートディスクが 100 GB を超える場合、空き容量はディスクサイズの 10% を超える必要があります。実行中にプロセスをダンプする場合、空き領域は 10 GB 以上、およびプロセスが 10 GB を超えるメモリを消費するときにプロセスが消費する合計メモリサイズを加算した値である必要があります。

  • ルートデバイスで生成されたログは自動的に削除されません。

  • ランブックはEC2Rescueツールをアンインストールしません。詳細については、「Windows Server で を使用するEC2Rescue」を参照してください。

  • パフォーマンスへの影響があるときに、このオートメーションを実行することがベストプラクティスです。 AWS Systems Manager ステートマネージャーの関連付けを使用するか、 AWS Systems Manager メンテナンスウィンドウをスケジュールして定期的に実行することもできます。

このオートメーションを実行する (コンソール)

ドキュメントタイプ

Automation

[所有者]

Amazon

[Platforms] (プラットフォーム)

Windows

パラメータ

必要なIAMアクセス許可

AutomationAssumeRole パラメータでは、ランブックを正常に使用するために、次のアクションが必要です。

  • ec2:DescribeInstances

  • ssm:DescribeAutomationExecutions

  • ssm:DescribeInstanceInformation

  • ssm:GetAutomationExecution

  • ssm:ListCommands

  • ssm:ListCommandInvocations

  • ssm:SendCommand

  • s3:ListBucket

  • s3:GetEncryptionConfiguration

  • s3:GetBucketPublicAccessBlock

  • s3:GetBucketPolicyStatus

  • s3:PutObject

  • s3:GetBucketAcl

  • s3:GetAccountPublicAccessBlock

(オプション) インスタンスプロファイルにアタッチされたIAMロール、またはインスタンスに設定されたIAMユーザーには、パラメータ に指定された Amazon S3 バケットにログをアップロードするための以下のアクションが必要ですLogUploadBucketName

  • s3:PutObject

  • s3:GetObject

  • s3:ListBucket

Instructions

次の手順に従って自動化を設定します。

  1. Systems Manager AWSSupport-TroubleshootWindowsPerformanceの「ドキュメント」で に移動します。

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

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

    • AutomationAssumeRole (オプション):

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

    • InstanceId (必須):

      オートメーションを実行するターゲット Amazon EC2 Windows インスタンスの ID。オートメーションを実行するには、インスタンスを Systems Manager で管理する必要があります。

    • CaptureProcessDump (オプション):

      キャプチャするプロセスダンプタイプ。オートメーションは、オートメーションの開始時にパフォーマンスへの影響を引き起こす可能性のあるプロセスの 1 つのプロセスダンプをキャプチャできます。インスタンスのルートボリュームには、少なくとも 10 GB の空き領域が必要です (ルートボリュームサイズが 100 GB を超える場合はディスクサイズの 10% を超え、プロセスが 10 GB を超えるメモリを消費する場合にプロセスが消費する合計メモリサイズを加えた 10 GB)。

    • LogCaptureDuration (オプション):

      このオートメーションが問題の発生中にログをキャプチャ15する 1 から までの分数。デフォルトは 5 です。

    • LogUploadBucketName (オプション):

      ログをアップロードするアカウントの Amazon S3 バケット。バケットはサーバー側の暗号化 (SSE) で設定する必要があります。また、バケットポリシーは、キャプチャされたログへのアクセスを必要としないユーザーに不要な読み取り/書き込みアクセス許可を付与してはなりません。Amazon EC2 Windows インスタンスは、Amazon S3 バケットにアクセスできる必要があります。

    • インストールEC2RescueTool (オプション):

      Yes に設定すると、ランブックは最新バージョンのEC2Rescueツールをインストールして Windows イベントとシステムログをキャプチャできます。デフォルトは No です。

    • 確認 (必須):

      このオートメーションランブックによって実行されるアクションの完全な詳細を読み、同意する場合は「」と入力しますYes, I understand and acknowledge

    Input parameters form for troubleshooting Amazon EC2 Windows instance performance issues.
  4. [実行] を選択します。

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

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

    • CheckConcurrency:

      インスタンスをターゲットとするこのランブックの実行が 1 つだけであることを確認します。ランブックが同じインスタンスをターゲットとする別の実行を検出すると、エラーが返され、終了します。

    • AssertInstanceIsWindows:

      Amazon EC2インスタンスが Windows オペレーティングシステムで実行されていることをアサートします。それ以外の場合、自動化は終了します。

    • AssertInstanceIsManagedInstance:

      Amazon EC2インスタンスが によって管理されていることをアサートします AWS Systems Manager。それ以外の場合、オートメーションは終了します。

    • VerifyPrerequisites:

      インスタンス OS PowerShell のバージョンを検証し、インスタンスが Systems Manager を介して接続され、 PowerShell コマンドを実行できることを確認します。このオートメーションは、Windows 8.1 / Server 2012 R2 (6.3) 以降で実行されている PowerShell 4.0 以降をサポートしています。バージョンが古い場合、自動化は失敗します。Amazon S3 バケットにログをアップロードすることを選択した場合、この自動化は AWS Tools for PowerShell モジュールが利用可能であることを確認します。そうでない場合、オートメーションは終了します。

    • BranchOnProcessDump:

      パフォーマンスに影響を与えたプロセスのダンプをキャプチャするように設定したかどうかに基づいて分岐します。

    • CaptureProcessDump:

      インスタンスに、このオートメーションを実行するのに十分な領域があるかどうかを確認します (最高 / CPU メモリを選択した場合)。

    • CapturePerformanceLogs:

      ディスク容量を再度チェックし、インスタンスで PowerShell スクリプトを実行して perfmon カウンターを作成し、Performance Monitor と Windows Performance Recorder のログ記録を開始します。定義された が満たされると、スクリプトLogCaptureDurationは停止します。

    • SummarizePerformanceLogs:

      前のステップ で生成されたXMLレポートを要約してCapturePerformanceLogs、オートメーションの出力として表示されるプロセッサ時間 () の WorkingSet64 (メモリCPU) と % を消費する責任のあるプロセスを見つけます。、ネットワークインターフェイス LogicalDisk、メモリ、、、 TCPv4の使用に関する同様の情報を生成UDPv4しIPv4、出力フォルダanalysis_output.logに保存します。

    • BranchOnInstallEC2Rescue:

      Amazon EC2インスタンスに最新のEC2Rescueツールをインストールするように設定した場合、 は分岐します。

    • InstallEC2RescueTool:

      を使用してEC2Rescueログをキャプチャするために、インスタンス OS に EC2Rescue ツールをインストールしますAWS-ConfigureAWSPackage

    • RunEC2RescueTool:

      インスタンス OS でEC2Rescueツールを実行して、必要なすべてのログをキャプチャします。 は、スペースを節約するために必要なログのみをEC2Rescueキャプチャします。

    • BranchOnIfS3BucketProvided:

      のユーザー入力に基づいて分岐LogUploadBucketNameし、ログをアップロードできるバケット名があるかどうかを確認します。

    • GetS3BucketPublicStatus:

      Amazon S3 バケットが提供されているかどうかを判断し、提供されている場合は、Amazon S3 バケットがパブリックではなく、 で設定されていることを確認しますSSE。

    • UploadLogResult:

      提供された Amazon S3 バケットにログをアップロードします。 PowerShell バージョンが 5.0 以上の場合、ログはZIPアーカイブに圧縮され、アップロードされます。アップロードが完了するとZIP、ファイルを削除します。 PowerShell バージョンが 5.0 未満の場合、ファイルはフォルダに直接アップロードされます。

    • CleanUpLogsOnFailure:

      ステップが失敗したときにCapturePerformanceLogs、ステップによって生成されたすべてのログをクリーンアップします。SSM エージェントが正しく動作していない場合、または Windows システムが応答しない場合、CleanUpLogsOnFailureステップが失敗またはタイムアウトすることがあります。

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

    ターゲットインスタンスに必要な前提条件がすべて含まれている実行。

    Output logs showing performance capture process, EC2Rescue completion, and top CPU/memory usage processes.

    ターゲットインスタンスが Linux プラットフォームにあり、実行が失敗した実行。ステップ ID を選択すると、失敗の詳細が表示されます。

    Execution status showing failed overall status with 2 executed steps, 1 succeeded and 1 failed.

    ステップ の失敗の詳細AssertInstanceIsWindows

    Failure details showing verification error for Linux property value instead of Windows.

リファレンス

Systems Manager Automation