本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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" } ] }
指示
請依照下列步驟設定自動化操作:
-
導覽至主 AWS Systems Manager 控台TroubleshootOpenSearchRedYellowCluster中的 AWSSupport-
。 -
選擇 Execute automation (執行自動化)。
-
對於輸入參數,請輸入以下內容:
-
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。
-
-
如果您已在 OpenSearch Service 叢集上啟用精細的存取控制,請確定
LambdaExecutionRole
角色 arn 已對應至少cluster_monitor
具有權限的角色。 -
選取執行。
-
自動化啟動。
-
自動化工作流程簿執行下列步驟:
-
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 函數。
-
-
完成後,請檢閱「輸出」區段以取得執行的詳細結果。
-
RootCause:
提供叢集健全狀況為紅色或黃色狀態的已識別原因的概觀。
-
IssueDescription:
提供叢集為何處於紅色或黃色狀態的詳細資訊,以及將叢集恢復為綠色狀態的可能步驟。
-
參考
Systems Manager Automation
AWS 服務文件
-
如需詳細資訊,請參閱疑難排解 Amazon OpenSearch 服務