本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWSSupport-TroubleshootOpenSearchHighCPU
Description
AWSSupport-TroubleshootOpenSearchHighCPU Runbook 提供自動化解決方案,從 Amazon OpenSearch Service 網域收集診斷資料,以疑難排解高 CPU
如何運作?
AWSSupport-TroubleshootOpenSearchHighCPU Runbook 有助於疑難排解 Amazon OpenSearch Service 網域中的高 CPU 使用率。
Runbook 會執行下列步驟:
-
針對提供的 Amazon OpenSearch Service 網域執行 DescribeDomain API,以取得叢集中繼資料。
-
檢查 Amazon OpenSearch Service 網域是公有還是 Amazon VPC 型 CloudFormation,並在 的協助下建立公有或 Amazon VPC 型 AWS Lambda 函數。
-
Lambda 函數會從 Amazon OpenSearch Service 網域擷取診斷資料。
-
使用 AWS Step Functions 狀態機器來協調多個 Lambda 函數執行,以收集更全面的資料。
-
預設會將收集的資料儲存在 Amazon CloudWatch 日誌群組中 24 小時。
-
刪除已建立的資源,但 CloudWatch 日誌群組除外。
文件類型
自動化
擁有者
Amazon
平台
Linux、macOS、 Windows
參數
必要的 IAM 許可
AutomationAssumeRole 參數需要下列動作才能成功使用 Runbook。
-
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:DeleteRolePolicy 只有在您未使用 LambdaInvocationRoleForStepFunctions 參數的現有 IAM 角色時,才需要 iam:CreateRole iam:DeleteRole iam:GetRole iam:PutRolePolicy iam:PutRolePolicy、、、 和
LambdaExecutionRole 參數需要下列動作才能成功使用 Runbook:
-
es:ESHttpGet -
ec2:CreateNetworkInterface -
ec2:DescribeNetworkInterfaces -
ec2:DeleteNetworkInterface -
logs:CreateLogStream -
logs:PutLogEvents
Lambda 執行角色會授予函數存取此 Runbook 所需 AWS 服務和資源的許可。如需更多詳細資訊,請參閱 Lambda 執行角色。
注意
ec2:DeleteNetworkInterface 只有當您的 OpenSearch Service 叢集是以 Amazon VPC 為基礎,以允許 Lambda ec2:DescribeNetworkInterfaces函數建立和管理 Amazon VPC 網路介面時,才需要 ec2:CreateNetworkInterface、 和 。如需詳細資訊,請參閱將傳出聯網連接到 Amazon VPC 和 Lambda 執行角色中的資源。 https://docs.aws.amazon.com//lambda/latest/dg/lambda-intro-execution-role.html
LambdaInvocationRoleForStepFunctions 參數會授予狀態機器叫用 Lambda 函數的許可 AWS Step Functions 。以下是授予 Step Functions 許可的範例 IAM 政策,以叫用從 OpenSearch Service 網域擷取診斷資料的 Lambda 函數。如需詳細資訊,請參閱《 AWS Step Functions 開發人員指南》中的建立狀態機器 IAM 角色。
指示
請依照下列步驟設定自動化:
-
導覽至主控台中的 AWSSupport-TroubleshootOpenSearchHighCPU
AWS Systems Manager 。 -
選擇 Execute automation (執行自動化)。
-
針對輸入參數,輸入下列項目:
-
AutomationAssumeRole (選用):
(IAM) 角色的 Amazon Resource Name AWS Identity and Access Management (ARN),允許 Systems Manager Automation 代表您執行動作。如果未指定角色,Systems Manager Automation 會使用啟動此 Runbook 之使用者的許可。
-
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 小時 (一天)。您可以選擇將資料保留最多 30 天。
-
NumberOfDataSamples (選用):
從 Amazon OpenSearch Service 網域收集的資料範例數目。根據預設,會收集 5 個資料範例。您最多可以收集 10 個範例,而且每個範例收集都會叫用 Lambda 函數。
-
-
如果您已在 OpenSearch Service 叢集上啟用精細存取控制,請確定
LambdaExecutionRole角色 ARN 已映射至至少具有cluster_monitor許可的角色。
-
選取執行。
-
自動化會啟動。
-
自動化 Runbook 會執行下列步驟:
-
checkConcurrency:
確保只有一個針對指定 Amazon OpenSearch Service 網域的 Runbook 執行。如果 Runbook 找到另一個以相同網域名稱為目標的執行,則會傳回錯誤並結束。
-
getDomainConfig:
取得目標 OpenSearch Service 網域的組態詳細資訊。
-
provisionResources:
使用 佈建用於資料收集的資源 CloudFormation。
-
waitForStackCreation:
等待 CloudFormation 堆疊完成。
-
describeStackResources:
描述 CloudFormation 堆疊並取得狀態機器的 ARN。
-
runStateMachine:
執行 Step Functions 狀態機器,以叫用資料收集器 Lambda 函數一或多次。
-
describeErrorsFromStackEvents:
描述來自 CloudFormation 堆疊的錯誤。
-
unstageOpenSearchHighCPUAutomation:
刪除
AWSSupport-TroubleshootOpenSearchHighCPUCloudFormation 堆疊。 -
describeErrorsFromStackDeletion:
描述刪除 CloudFormation 堆疊時遇到的錯誤。
-
finalStatus:
傳回
AWSSupport-TroubleshootOpenSearchHighCPURunbook 的最終輸出。
-
-
完成後,請檢閱輸出區段以取得執行的詳細結果。
-
finalStatus.FinalOutput:
提供存放診斷資料的 CloudWatch 日誌群組。
-
參考
Systems Manager Automation
AWS 服務文件
-
如需詳細資訊,請參閱疑難排解 Amazon OpenSearch Service