

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

# `AWSSupport-TroubleshootOpenSearchHighCPU`
<a name="automation-troubleshoot-opensearch-high-cpu"></a>

 **説明** 

 `AWSSupport-TroubleshootOpenSearchHighCPU` ランブックは、Amazon OpenSearch Service ドメインから診断データを収集し、[CPU](https://repost.aws/knowledge-center/opensearch-troubleshoot-high-cpu) の高い問題をトラブルシューティングする自動ソリューションを提供します。

 **動作の仕組み** 

 `AWSSupport-TroubleshootOpenSearchHighCPU` ランブックは、Amazon OpenSearch Service ドメインの CPU 使用率が高い場合のトラブルシューティングに役立ちます。

 ランブックは次のステップを実行します。
+  指定された Amazon OpenSearch Service ドメインに対して [DescribeDomain](https://docs.aws.amazon.com//opensearch-service/latest/APIReference/API_DescribeDomain.html) API を実行して、クラスターメタデータを取得します。
+  Amazon OpenSearch Service ドメインがパブリックか Amazon VPC ベースかを確認し CloudFormation、 の助けを借りて、パブリックまたは [Amazon VPC ベースの](https://docs.aws.amazon.com//opensearch-service/latest/developerguide/vpc.html) AWS Lambda 関数を作成します。
+  Lambda 関数は、Amazon OpenSearch Service ドメインから診断データを取得します。
+  AWS Step Functions ステートマシンを使用して複数の Lambda 関数の実行を調整し、より包括的なデータを収集します。
+  デフォルトでは、収集されたデータを Amazon CloudWatch ロググループに 24 時間保存します。
+  CloudWatch ロググループを除く、作成されたリソースを削除します。

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

オートメーション

**[所有者]**

Amazon

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

Linux、macOS、Windows

**パラメータ**

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

`AutomationAssumeRole` パラメータでは、ランブックを正常に使用するために、次のアクションが必要です。
+ `cloudformation:CreateStack`
+ `cloudformation:CreateStack`
+ `cloudformation:DescribeStacks`
+ `cloudformation:DescribeStackEvents`
+ `cloudformation:DeleteStack`
+ `lambda:CreateFunction`
+ `lambda:DeleteFunction`
+ `lambda:InvokeFunction`
+ `lambda:GetFunction`
+ `lambda:TagResource`
+ `es:DescribeDomain`
+ `ec2:DescribeSecurityGroups`
+ `ec2:DescribeSubnets`
+ `ec2:DescribeVpcs`
+ `ec2:DescribeNetworkInterfaces`
+ `ec2:CreateNetworkInterface`
+ `ec2:DescribeInstances`
+ `ec2:AttachNetworkInterface`
+ `ec2:DeleteNetworkInterface`
+ `logs:CreateLogGroup`
+ `logs:PutRetentionPolicy`
+ `logs:TagResource`
+ `states:CreateStateMachine`
+ `states:DeleteStateMachine`
+ `states:StartExecution`
+ `states:TagResource`
+ `states:DescribeStateMachine`
+ `states:DescribeExecution`
+ `iam:PassRole`
+ `iam:CreateRole`
+ `iam:DeleteRole`
+ `iam:GetRole`
+ `iam:PutRolePolicy`
+ `iam:DeleteRolePolicy`
+ `ssm:DescribeAutomationExecutions`
+ `ssm:GetAutomationExecution`

**注記**  
 `iam:CreateRole`、`iam:DeleteRole`、`iam:GetRole`、、 `iam:DeleteRolePolicy`は`iam:PutRolePolicy``iam:PutRolePolicy`、**LambdaInvocationRoleForStepFunctions** パラメータに既存の IAM ロールを使用していない場合にのみ必要です。

ランブックを正常に使用するには、 `LambdaExecutionRole`パラメータに次のアクションが必要です。
+ `es:ESHttpGet`
+ `ec2:CreateNetworkInterface`
+ `ec2:DescribeNetworkInterfaces`
+ `ec2:DeleteNetworkInterface`
+ `logs:CreateLogStream`
+ `logs:PutLogEvents`

Lambda 実行ロールは、このランブックに必要な AWS サービスとリソースにアクセスするためのアクセス許可を関数に付与します。詳細については、「[Lambda 実行ロール](https://docs.aws.amazon.com//lambda/latest/dg/lambda-intro-execution-role.html)」を参照してください。

**注記**  
 `ec2:DescribeNetworkInterfaces`、`ec2:CreateNetworkInterface`、 `ec2:DeleteNetworkInterface`は、OpenSearch Service クラスターが [Amazon VPC ベース](https://docs.aws.amazon.com//opensearch-service/latest/developerguide/vpc.html)で、Lambda 関数が Amazon VPC ネットワークインターフェイスを作成および管理できるようにする場合にのみ必要です。詳細については、[「Amazon VPC および Lambda 実行ロールのリソースへのアウトバウンドネットワーキング](https://docs.aws.amazon.com//lambda/latest/dg/configuration-vpc.html#vpc-permissions)の接続」を参照してください。 [https://docs.aws.amazon.com//lambda/latest/dg/lambda-intro-execution-role.html](https://docs.aws.amazon.com//lambda/latest/dg/lambda-intro-execution-role.html)

`LambdaInvocationRoleForStepFunctions` パラメータは、ステートマシンが Lambda 関数を呼び出すための AWS Step Functions アクセス許可を付与します。以下は、OpenSearch Service ドメインから診断データを取得する Lambda 関数を呼び出すアクセス許可を Step Functions に付与する IAM ポリシーの例です。詳細については、[「 デベロッパーガイド」の「ステートマシン IAM ロール](https://docs.aws.amazon.com/step-functions/latest/dg/procedure-create-iam-role.html)の作成」を参照してください。 AWS Step Functions 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "lambda:InvokeFunction",
            "Resource": [
                "arn:aws:lambda:{{us-east-1}}:{{111122223333}}:function:AWSSupport-HighCPU-*"
            ]
        }
    ]
}
```

------

 **指示** 

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

1. コンソールで [AWSSupport-TroubleshootOpenSearchHighCPU](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootOpenSearchHighCPU/description) AWS Systems Manager に移動します。

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

1. 次の入力パラメータを入力します。
   + **AutomationAssumeRole（オプション):**

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

     CPU の高い問題についてトラブルシューティングする Amazon OpenSearch Service ドメインの名前。
   + **LambdaExecutionRoleForOpenSearch (必須):**

     Lambda 関数にアタッチする IAM ロールの ARN。Lambda 関数は、このロールの認証情報を使用して Amazon OpenSearch Service ドメインへのリクエストに署名します。Amazon OpenSearch Service ドメインできめ細かなアクセスコントロールが有効になっている場合は、最小限の「cluster\_monitor」アクセス許可を持つ OpenSearch Service Dashboards バックエンドロールにこのロールをマッピングする必要があります。
   + **LambdaInvocationRoleForStepFunctions (オプション):**

     (オプション) Step Functions ワークフローにアタッチする IAM ロールの ARN。ステートマシンは、このロールの認証情報を使用して、OpenSearch Service ドメインから診断データを取得する Lambda 関数を呼び出します。ロールが指定されていない場合、このオートメーションはアカウントに Step Functions の IAM ロールを作成します。
   + **DataRetentionDays (オプション):**

     Amazon OpenSearch Service ドメインから収集された診断データを保持する日数。デフォルトでは、データは 24 時間 (1 日) 保持されます。データは最大 30 日間保持できます。
   + **NumberOfDataSamples (オプション):**

     Amazon OpenSearch Service ドメインから収集するデータサンプルの数。デフォルトでは、5 つのデータサンプルが収集されます。最大 10 個のサンプルを収集でき、サンプルコレクションごとに Lambda 関数が呼び出されます。

1. OpenSearch Service クラスターで[きめ細かなアクセスコントロール](https://docs.aws.amazon.com//opensearch-service/latest/developerguide/fgac.html)を有効にしている場合は、`LambdaExecutionRole`ロール ARN が少なくとも アクセス`cluster_monitor`許可を持つロールにマッピングされていることを確認してください。  
![cluster_monitor アクセス許可が選択された クラスター アクセス許可セクションを示すアクセス許可タブ。](http://docs.aws.amazon.com/ja_jp/systems-manager-automation-runbooks/latest/userguide/images/awssupport-troubleshoot-opensearch-high-cpu_cluster_permissions.png)  
![削除ボタンとマップオプションを使用した Lambda 実行ロール ARN を示すバックエンドロールセクション。](http://docs.aws.amazon.com/ja_jp/systems-manager-automation-runbooks/latest/userguide/images/awssupport-troubleshoot-opensearch-high-cpu_backend_roles.png)

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

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

1. 自動化ランブックは以下のステップを実行します。
   + **checkConcurrency:**

     指定された Amazon OpenSearch Service ドメインをターゲットとするこのランブックの実行が 1 つだけであることを確認します。ランブックが同じドメイン名をターゲットとする別の実行を検出した場合、エラーが返されて終了します。
   + **getDomainConfig:**

     ターゲット OpenSearch Service ドメインの設定の詳細を取得します。
   + **provisionResources:**

     を使用してデータ収集用のリソースをプロビジョニングします CloudFormation。
   + **waitForStackCreation:**

      CloudFormation スタックが完了するまで待ちます。
   + **describeStackResources:**

      CloudFormation スタックを記述し、ステートマシンの ARN を取得します。
   + **runStateMachine:**

     Step Functions ステートマシンを実行して、データコレクターの Lambda 関数を 1 回以上呼び出します。
   + **describeErrorsFromStackEvents:**

      CloudFormation スタックのエラーについて説明します。
   + **unstageOpenSearchHighCPUAutomation:**

     `AWSSupport-TroubleshootOpenSearchHighCPU` CloudFormation スタックを削除します。
   + **describeErrorsFromStackDeletion:**

      CloudFormation スタックの削除中に発生したエラーについて説明します。
   + **finalStatus:**

     `AWSSupport-TroubleshootOpenSearchHighCPU` ランブックの最終出力を返します。

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

     診断データが保存されている CloudWatch ロググループを提供します。  
![finalStatus.FinalOutput とホットスレッドデータ収集の完了メッセージと CloudWatch ロググループ参照を示す出力セクション。](http://docs.aws.amazon.com/ja_jp/systems-manager-automation-runbooks/latest/userguide/images/awssupport-troubleshoot-opensearch-high-cpu_outputs.png)

 **リファレンス** 

Systems Manager Automation
+ [このオートメーションを実行する (コンソール)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootOpenSearchHighCPU)
+ [オートメーションを実行する](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/)

AWS サービスドキュメント
+ 詳細については、[「Amazon OpenSearch Service のトラブルシューティング](https://docs.aws.amazon.com//opensearch-service/latest/developerguide/handling-errors.html)」を参照してください。