

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

# `AWSSupport-TroubleshootCloudWatchAgent`
<a name="automation-aws-troubleshootcloudwatchagent"></a>

 **説明** 

**AWSSupport-TroubleshootCloudWatchAgent** ランブックは、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスの Amazon CloudWatch Agent のトラブルシューティングを自動化します。Amazon EC2 ランブックは、一連の基本チェックと (オプション) 拡張チェックを通じてこのトラブルシューティングを実行します。

基本的なチェックには以下が含まれます。
+  AWS Identity and Access Management (IAM) インスタンスプロファイルを確認する
+ 必要な Amazon CloudWatch エージェント IAM アクセス許可が Amazon EC2 インスタンスにアタッチされているかどうかを確認します。

拡張チェックは、提供された Amazon EC2 インスタンス ID が Systems Manager マネージドインスタンスである場合にのみ実行されます。これらの拡張チェックには以下が含まれます。
+ インスタンスの Amazon CloudWatch エージェントのステータスを確認する
+ Amazon CloudWatch Agent のログを分析して、一般的な問題や関連するトラブルシューティング手順を確認する
+ Amazon EC2 インスタンスで関連するログと設定ファイルを圧縮し、オプションで任意の Amazon Simple Storage Service (Amazon S3) バケットにアップロードします。
+ インスタンスと必要なエンドポイント間の接続チェックを実行する

**重要**  
`RunVpcReachabilityAnalyzer` パラメータが に設定されている場合`true`、このランブックは子ランブック を呼び出す必要があるかどうかを判断します`AWSSupport-AnalyzeAWSEndpointReachabilityFromEC2`。子ランブックは、関連するコストを持つ VPC Reachability Analyzer を使用します。料金の詳細については、[Amazon VPC 料金](https://aws.amazon.com/vpc/pricing/)ドキュメントを参照してください。

**重要**  
このランブックは、IAM インスタンスプロファイルロールに必要なアクセス許可のみをチェックします。代わりに`.aws/credentials`ファイルで定義された認証情報に依存すると、`verifyIamPermissions`ステップの結果が不正確になる可能性があります。

 **動作の仕組み** 

ランブックは次のステップを実行します。
+ **getInstanceProfile**: 提供された Amazon EC2 インスタンスに IAM インスタンスプロファイルがアタッチされているかどうかを確認します。
+ **verifyIamPermissions**: インスタンスに関連付けられたインスタンスプロファイルをチェックして、必要な IAM アクセス許可が適用されているかどうかを確認します。
+ **getInstanceInformation**: インスタンスにアクティブな Systems Manager エージェントがあるかどうかを確認し、インスタンスの OS タイプを取得します。
+ **getAgentStatus**: インスタンスの Amazon CloudWatch エージェントのステータスを確認します (拡張チェック）。
+ **analyzeLogs/analyzeLogsWindows**: OS タイプに基づいて Amazon CloudWatch エージェントログの結果を分析し、出力します。
+ **collectLogs/collectLogsWindows**: OS タイプに基づいて関連する Amazon CloudWatch Agent トラブルシューティングファイルをバンドルして出力します。
+ **checkEndpointReachability/checkEndpointReachabilityWindows**: インスタンスが OS タイプに基づいて必要なエンドポイントに到達できるかどうかを確認します。
+ **analyzeAwsEndpointReachabilityFromEC2**: 子オートメーションランブックを呼び出して、必要なエンドポイントへの選択したインスタンスの到達可能性を確認します (有効になっている場合）。

 [このオートメーションを実行する (コンソール)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootCloudWatchAgent) 

**ドキュメントタイプ**

オートメーション

**[所有者]**

Amazon

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

/

**必要な IAM アクセス許可**

`AutomationAssumeRole` パラメータでは、ランブックを正常に使用するために、次のアクションが必要です。
+ ec2:DescribeInstances
+ iam:GetInstanceProfile
+ iam:GetRole
+ iam:ListAttachedRolePolicies
+ iam:ListRolePolicies
+ iam:GetRolePolicy
+ iam:GetPolicy
+ iam:GetPolicyVersion
+ iam:SimulatePrincipalPolicy
+ ssm:DescribeInstanceInformation
+ SSM: SendCommand
+ ssm:GetCommandInvocation
+ ssm:DescribeInstanceAssociationsStatus
+ ssm:StartAutomationExecution

ポリシーの例: 

```
{
        "Version": "2012-10-17",		 	 	 
        "Statement": [
            {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeInstances",
                "iam:GetInstanceProfile",
                "iam:GetRole",
                "iam:ListAttachedRolePolicies",
                "iam:ListRolePolicies",
                "iam:GetRolePolicy",
                "iam:GetPolicy",
                "iam:GetPolicyVersion",
                "iam:SimulatePrincipalPolicy",
                "ssm:DescribeInstanceInformation",
                "ssm:SendCommand",
                "ssm:GetCommandInvocation",
                "ssm:DescribeInstanceAssociationsStatus",
                "ssm:StartAutomationExecution"
            ],
            "Resource": "*"
            }
        ]
        }
```

 **指示** 

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

1. ドキュメントの Systems Manager [https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootCloudWatchAgent/description](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootCloudWatchAgent/description)で に移動します。

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

1. 入力パラメータには、次のように入力します。
   + **AutomationAssumeRole（オプション):**
     + 説明: (オプション) Systems Manager Automation がユーザーに代わってアクションを実行できるようにする IAM ロールの ARN。ロールを指定しない場合、Systems Manager Automation はこのランブックを開始するユーザーのアクセス許可を使用します。
     + 型: `AWS::IAM::Role::Arn`
   + **InstanceId (必須):**
     + 説明: (必須) Amazon CloudWatch エージェントをトラブルシューティングする Amazon EC2 インスタンスの ID。 Amazon CloudWatch 
     + 型: `AWS::EC2::Instance::Id`
     + 許可パターン: `^i-[0-9a-f]{8,17}$`
   + **S3UploadBucket (オプション):**
     + 説明: (オプション) 収集された Amazon CloudWatch エージェントログをアップロードする Amazon S3 バケットの名前。 Amazon CloudWatch Amazon EC2 インスタンスプロファイルには、このバケットにファイルをアップロードするための正しいアクセス許可が必要です。これには、ターゲット Amazon EC2 インスタンスが Systems Manager マネージドインスタンスであることも必要です。
     + 型: `AWS::S3::Bucket::Name`
     + 許可パターン: `^$|^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$`
     + デフォルト: `""`
   + **S3BucketOwnerAccountId (オプション):**
     + 説明: (オプション) Amazon CloudWatch エージェントログをアップロードする Amazon S3 バケットを所有する AWS アカウント番号。 Amazon CloudWatch このパラメータを変更しない場合、ランブックは自動化を実行するユーザーまたはロールの AWS アカウント ID を使用します。
     + 型: `String`
     + 許可パターン: `^\\{\\{ global:ACCOUNT_ID \\}\\}$|^[0-9]{12}$`
     + デフォルト: `{{ global:ACCOUNT_ID }}`
   + **CheckEC2Endpoint (オプション):**
     + 説明: (オプション) エージェント設定で オプションを使用して`append_dimensions`、エージェントによって収集されたメトリクスに Amazon EC2 メトリクスディメンションを追加する`true`かどうかを指定します。`append_dimensions` を使用する場合、Amazon CloudWatch エージェントは Amazon EC2 API エンドポイントへの接続を必要とするため、拡張チェックを介して追加の接続テストが実行されます。
     + 型: `String`
     + 使用できる値: `[true, false]`
     + デフォルト: `false`
   + **RunVpcReachabilityAnalyzer (オプション):**
     + 説明: (オプション) ネットワークの問題が拡張チェックによって決定された場合、または指定されたインスタンス ID がマネージドインスタンスでない場合は、`AWSSupport-AnalyzeAWSEndpointReachabilityFromEC2`子オートメーション`true`を実行するように を指定します。
     + 型: `Boolean`
     + デフォルト: `false`
   + **RetainVpcReachabilityAnalysis (オプション):**
     + 説明: (オプション) `RunVpcReachabilityAnalyzer`が の場合にのみ該当します`true`。VPC Reachability Analyzer によって作成されたネットワークインサイトパスと関連する分析を保持する`true`には、 を指定します。デフォルトでは、これらのリソースは分析が成功すると削除されます。
     + 型: `Boolean`
     + デフォルト: `false`

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

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

1. ドキュメントは以下のステップを実行します。
   + **getInstanceProfile**:

     提供された Amazon EC2 インスタンスに IAM インスタンスプロファイルがアタッチされているかどうかを確認します。
   + **branchOnInstanceProfileStatus**:

     インスタンスプロファイルがインスタンスにアタッチされている場合、オートメーションを分岐して、必要なインスタンスプロファイルのアクセス許可をチェックします。
   + **verifyIamPermissions**:

     インスタンスに関連付けられたインスタンスプロファイルをチェックして、必要な IAM アクセス許可が適用されているかどうかを確認します。
   + **getInstanceInformation**:

     インスタンスにアクティブな Systems Manager エージェントがあるかどうかを確認し、インスタンスの OS タイプを取得します。
   + **branchOnManagedInstance**:

     インスタンスが管理されている場合、自動化を分岐して拡張チェックを実行します。
   + **getAgentStatus**:

     インスタンス上の Amazon CloudWatch エージェントのステータスを確認します。
   + **branchOnInstanceOsType**:

     OS に基づいて特定のログ収集/分析コマンドを実行する自動化を分岐します。
   + **analyzeLogs/analyzeLogsWindows**:

     OS タイプに基づいて Amazon CloudWatch エージェントログの結果を分析し、出力します。
   + **collectLogs/collectLogsWindows**:

     OS タイプに基づいて、関連する Amazon CloudWatch Agent トラブルシューティングファイルをバンドルして出力します。
   + **checkEndpointReachability/checkEndpointReachabilityWindows**:

     インスタンスが OS タイプに基づいて必要なエンドポイントに到達できるかどうかを確認します。
   + **branchOnRunVpcReachabilityAnalyzer**:

     有効になっており、ネットワークの問題が検出された場合、VPC 到達可能性分析を実行する自動化を分岐します。
   + **generateEndpoints**:

     拡張チェックの失敗と の値からチェックするエンドポイントを生成します`CheckEC2Endpoint`。
   + **analyzeAwsEndpointReachabilityFromEC2**:

     オートメーションランブック`AWSSupport-AnalyzeAWSEndpointReachabilityFromEC2`を呼び出して、必要なエンドポイントへの選択したインスタンスの到達可能性を確認します。
   + **outputFindings**:

     自動化実行ステップの結果を出力します。

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

**リファレンス**

Systems Manager Automation
+ [このオートメーションを実行する (コンソール)](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootCloudWatchAgent/description)
+ [オートメーションを実行する](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-working-executing.html)
+ [オートメーションの設定](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-setup.html)
+ [自動化ワークフローのサポート](https://aws.amazon.com/premiumsupport/technology/saw/)