AWSSupport-TroubleshootOpenSearchRedYellowCluster - AWS Systems Manager 自動化手冊參考

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWSSupport-TroubleshootOpenSearchRedYellowCluster

Description

AWSSupport-TroubleshootOpenSearchRedYellowCluster自動化 runbook 用於識別色或黃色叢集健康狀態的原因,並引導您將叢集變更回綠色。

它是如何工作的?

runbook 可AWSSupport-TroubleshootOpenSearchRedYellowCluster協助您疑難排解紅色或黃色叢集的原因,並提供透過分析叢集配置和資源使用率來解決此問題的後續步驟。

執行手冊執行下列步驟:

  • 呼叫DescribeDomainAPI針對目標網域以取得叢集配置。

  • 檢查 OpenSearch 服務網域是以網際網路為基礎 (公用) 還是以 Amazon Virtual Private Cloud (VPC) 為基礎

  • 根據叢集組態建立公用或 Amazon VPC 型 AWS Lambda 函數。備註:Lambda 函數包含APIs針對叢集執行 OpenSearch 服務的疑難排解程式碼,以判斷叢集為何處於紅色或黃色狀態。

  • 刪除 Lambda 函數。

  • 顯示執行的檢查以及解決紅色或黃色叢集問題的下一個建議步驟。

文件類型

 自動化

擁有者

Amazon

平台

LinuxmacOS, Windows

參數

必要的IAM權限

AutomationAssumeRole參數需要執行下列動作,才能成功使用 Runbook。

  • cloudformation:CreateStack

  • cloudformation:DescribeStacks

  • cloudformation:DescribeStackEvents

  • cloudformation:DeleteStack

  • lambda:CreateFunction

  • lambda:DeleteFunction

  • lambda:InvokeFunction

  • lambda:GetFunction

  • es:DescribeDomain

  • es:DescribeDomainConfig

  • ec2:DescribeSecurityGroups

  • ec2:DescribeSubnets

  • ec2:DescribeVpcs

  • ec2:DescribeNetworkInterfaces

  • ec2:CreateNetworkInterface

  • ec2:DeleteNetworkInterface

  • ec2:DescribeInstances

  • ec2:AttachNetworkInterface

  • cloudwatch:GetMetricData

  • iam:PassRole

LambdaExecutionRole參數需要下列動作才能成功使用 runbook:

  • es:ESHttpGet

  • ec2:CreateNetworkInterface

  • ec2:DescribeNetworkInterfaces

  • ec2:DeleteNetworkInterface

LambdaExecutionRole政策概述:

以下是 Lambda 函數的執行角色 (AWS Identity and Access Management (IAM) 角色) 範例,該角色授與函數存取此 Runbook 所需 AWS 服務和資源的權限。如需更多詳細資訊,請參閱 Lambda 執行角色

注意

ec2:DeleteNetworkInterface有當您的ec2:DescribeNetworkInterfaces OpenSearch 服務叢集是VPC以 Amazon 為基礎 ec2:CreateNetworkInterface,以允許 Lambda 函數建立和管理 Amazon VPC 網路界面時,才需要、和。如需詳細資訊,請參閱將輸出網路連線至 Amazon VPC 和 Lambda 執行角色中的資源。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "es:ESHttpGet", "Resource": [ "arn:<partition>:es:<region>:<account-id>:domain/<domain-name>/", "arn:<partition>:es:<region>:<account-id>:domain/<domain-name>/_cluster/health", "arn:<partition>:es:<region>:<account-id>:domain/<domain-name>/_cat/indices", "arn:<partition>:es:<region>:<account-id>:domain/<domain-name>/_cat/allocation", "arn:<partition>:es:<region>:<account-id>:domain/<domain-name>/_cluster/allocation/explain" ] }, { "Condition": { "ArnLikeIfExists": { "ec2:Vpc": "arn:<partition>:ec2:<region>:<account-id>:vpc/<vpc_id>" } }, "Action": [ "ec2:DeleteNetworkInterface", "ec2:CreateNetworkInterface", "ec2:DescribeNetworkInterfaces", "ec2:UnassignPrivateIpAddresses", "ec2:AssignPrivateIpAddresses" ], "Resource": "*", "Effect": "Allow" } ] }

指示

請依照下列步驟設定自動化操作:

  1. 導覽至主 AWS Systems Manager 控台TroubleshootOpenSearchRedYellowCluster中的 AWSSupport-

  2. 選擇 Execute automation (執行自動化)。

  3. 對於輸入參數,請輸入以下內容:

    • AutomationAssumeRole (選擇性):

      () 角色的 Amazon 資源名稱 AWS Identity and Access Management (ARNIAM),可讓 Systems Manager 自動化代表您執行動作。如果未指定任何角色,Systems Manager 自動化會使用啟動此 runbook 的使用者的權限。

    • LambdaExecutionRole (必填):

      Lambda 將用來向您ARN的 Amazon OpenSearch 服務叢集簽署請求的IAM角色。

    • DomainName (必填):

      具有紅色或黃色叢集健全狀況狀態的 OpenSearch 服務網域名稱。

    • UtilizationThreshold (選擇性):

      用來比較CPUUtilization和JVMMemoryPressure測量結果的使用率臨界值百分比。預設值為 80。

  4. 如果您已在 OpenSearch Service 叢集上啟用精細的存取控制,請確定LambdaExecutionRole角色 arn 已對應至少cluster_monitor具有權限的角色。

  5. 選取執行。

  6. 自動化啟動。

  7. 自動化工作流程簿執行下列步驟:

    • GetClusterConfiguration:

      擷取 OpenSearch 服務叢集配置。

    • C reateAWSLambdaFunctionStack:

      使用建立帳戶中的臨時 Lambda 函數 AWS CloudFormation。Lambda 函數用於執行 OpenSearch 服務APIs。

    • WaitForAWSLambdaFunctionStack:

      等待 CloudFormation 堆棧完成。

    • GetClusterMetricsFromCloudWatch:

      取得 Amazon CloudWatch ClusterStatus CPUUtilization、和JVMMemoryPressure OpenSearch 服務叢集相關指標及其建立日期。

    • RunOpenSearchAPIs:

      使用 Lambda 函數呼叫 OpenSearch 服務APIs並分析叢集指標資料,以診斷紅色或黃色叢集狀態的原因。

    • D eleteAWSLambdaFunctionStack:

      刪除帳戶中此自動化操作所建立的 Lambda 函數。

  8. 完成後,請檢閱「輸出」區段以取得執行的詳細結果。

    • RootCause:

      提供叢集健全狀況為紅色或黃色狀態的已識別原因的概觀。

    • IssueDescription:

      提供叢集為何處於紅色或黃色狀態的詳細資訊,以及將叢集恢復為綠色狀態的可能步驟。

參考

Systems Manager Automation

AWS 服務文件