翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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
次の手順に従って自動化を設定します。
-
Systems Manager
AWSSupport-TroubleshootWindowsPerformance
の「ドキュメント」で に移動します。 -
[Execute automation] (オートメーションを実行) を選択します。
-
入力パラメータには、次のように入力します。
-
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
。
-
-
[実行] を選択します。
-
自動化が開始されます。
-
ドキュメントは以下のステップを実行します。
-
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
ステップが失敗またはタイムアウトすることがあります。
-
-
完了したら、出力セクションで実行の詳細な結果を確認します。
ターゲットインスタンスに必要な前提条件がすべて含まれている実行。
ターゲットインスタンスが Linux プラットフォームにあり、実行が失敗した実行。ステップ ID を選択すると、失敗の詳細が表示されます。
ステップ の失敗の詳細
AssertInstanceIsWindows
。
リファレンス
Systems Manager Automation