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

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

AWSSupport-TroubleshootOpenSearchHighCPU

説明

AWSSupport-TroubleshootOpenSearchHighCPU ランブックは、Amazon OpenSearch Service ドメインから診断データを収集し、高いCPU問題をトラブルシューティングする自動化されたソリューションを提供します。

動作の仕組み

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

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

  • 指定された Amazon OpenSearch Service ドメインDescribeDomainAPIに対して を実行して、クラスターメタデータを取得します。

  • Amazon OpenSearch Service ドメインがパブリックか Amazon VPCベースかをチェックし AWS CloudFormation、 の助けを借りて、パブリックまたは Amazon VPCベースの AWS Lambda 関数を作成します。

  • Lambda 関数は、Amazon OpenSearch Service ドメインから診断データを取得します。

  • AWS Step Functions ステートマシンを使用して複数の Lambda 関数の実行をオーケストレーションし、より包括的なデータを収集します。

  • デフォルトでは、収集されたデータを Amazon CloudWatch ロググループに 24 時間保存します。

  • CloudWatch ロググループを除く、作成されたリソースを削除します。

ドキュメントタイプ

Automation

[所有者]

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

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

  • es:ESHttpGet

  • ec2:CreateNetworkInterface

  • ec2:DescribeNetworkInterfaces

  • ec2:DeleteNetworkInterface

  • logs:CreateLogStream

  • logs:PutLogEvents

Lambda 実行ロールは、このランブックに必要な AWS サービスとリソースにアクセスするためのアクセス許可を関数に付与します。詳細については、「Lambda 実行ロール」を参照してください。

注記

ec2:DescribeNetworkInterfaces、、および ec2:DeleteNetworkInterfaceec2:CreateNetworkInterface、Lambda 関数が Amazon VPCネットワークインターフェイスを作成および管理できるようにするために、 OpenSearch サービスクラスターが Amazon ベースである場合にのみ必要です。 VPC詳細については、「Amazon および Lambda 実行ロールのリソースへのアウトバウンドネットワークVPCの接続」を参照してください。 https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html

Instructions

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

  1. コンソールで AWSSupport-TroubleshootOpenSearchHighCPU AWS Systems Manager に移動します。

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

  3. 次の入力パラメータを入力します。

    • AutomationAssumeRole (オプション):

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

    • DomainName (必須):

      大きなCPU問題に対してトラブルシューティングする Amazon OpenSearch Service ドメインの名前。

    • LambdaExecutionRoleForOpenSearch (必須):

      Lambda 関数にアタッチするIAMロールARNの 。Lambda 関数は、このロールの認証情報を使用して Amazon OpenSearch Service ドメインへのリクエストに署名します。Amazon OpenSearch Service ドメインできめ細かなアクセスコントロールが有効になっている場合は、このロールを「cluster_monitor」以上のアクセス許可を持つ OpenSearch Service Dashboards バックエンドロールにマッピングする必要があります。

    • DataRetentionDays (オプション):

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

    • NumberOfDataSamples (オプション):

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

    Input parameters form for AWS Systems Manager Automation with fields for roles and settings.
  4. OpenSearch サービスクラスターできめ細かなアクセスコントロールを有効にしている場合は、LambdaExecutionRoleロール arn が少なくとも アクセスcluster_monitor許可を持つロールにマッピングされていることを確認してください。

    クラスター permissions section showing cluster_monitor permission granted.
    Backend roles interface showing an AWSIAM role for Lambda execution and options to remove or add roles.
  5. [実行] を選択します。

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

  7. 自動化ランブックは以下のステップを実行します。

    • checkConcurrency:

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

    • getDomainConfig:

      ターゲット OpenSearch サービスドメインの設定の詳細を取得します。

    • provisionResources:

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

    • waitForStack作成:

      AWS CloudFormation スタックが完了するまで待ちます。

    • describeStackResources:

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

    • runStateMachine:

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

    • describeErrorsFromStackEvents:

      AWS CloudFormation スタックからのエラーについて記述します。

    • unstageOpenSearchHighCPUAutomation:

      AWSSupport-TroubleshootOpenSearchHighCPU AWS CloudFormation スタックを削除します。

    • describeErrorsFromStackDeletion:

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

    • finalStatus:

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

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

    • finalStatus.FinalOutput:

      診断データが保存されている CloudWatch ロググループを提供します。

    Output message indicating hot thread data collection completed with log group details.

リファレンス

Systems Manager Automation

AWS サービスドキュメント