

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Elastic Load Balancing
<a name="automation-ref-elb"></a>

 AWS Systems Manager 自动化为 Elastic Load Balancing 提供了预定义的运行手册。有关运行手册的更多信息，请参阅[使用运行手册](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-documents.html)。有关如何查看运行手册内容的信息，请参阅 [查看运行手册内容](automation-runbook-reference.md#view-automation-json)。

**Topics**
+ [`AWSConfigRemediation-DropInvalidHeadersForALB`](automation-aws-drop-alb-headers.md)
+ [`AWS-EnableCLBAccessLogs`](enable-clb-access-logs.md)
+ [`AWS-EnableCLBConnectionDraining`](AWS-EnableCLBConnectionDraining.md)
+ [`AWSConfigRemediation-EnableCLBCrossZoneLoadBalancing`](automation-aws-enable-clb-crosszone.md)
+ [`AWSConfigRemediation-EnableELBDeletionProtection`](automation-aws-enable-elb-protection.md)
+ [`AWSConfigRemediation-EnableLoggingForALBAndCLB`](automation-aws-enable-logging-alb-clb.md)
+ [`AWSSupport-TroubleshootCLBConnectivity`](automation-aws-troubleshootclbconnectivity.md)
+ [`AWSConfigRemediation-EnableNLBCrossZoneLoadBalancing`](automation-aws-enable-nlb-crosszone.md)
+ [`AWS-UpdateALBDesyncMitigationMode`](AWS-UpdateALBDesyncMitigationMode.md)
+ [`AWS-UpdateCLBDesyncMitigationMode`](AWS-UpdateCLBDesyncMitigationMode.md)
+ [`AWSSupport-TroubleshootELBHealthChecks`](automation-aws-troubleshootelbhealthchecks.md)

# `AWSConfigRemediation-DropInvalidHeadersForALB`
<a name="automation-aws-drop-alb-headers"></a>

 **描述** 

 `AWSConfigRemediation-DropInvalidHeadersForALB` 运行手册能让指定的应用程序负载均衡器移除带无效标头的 HTTP 标头。

 [运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWSConfigRemediation-DropInvalidHeadersForALB) 

**文档类型**

自动化

**所有者**

Amazon

**平台**

Linux、macOS、Windows

**参数**
+ AutomationAssumeRole

  类型：字符串

  描述：（必需）允许 Systems Manager Automation 代表您执行操作的 AWS Identity and Access Management (IAM) 角色的 Amazon 资源名称（ARN）。
+ LoadBalancerArn

  类型：字符串

  描述：（必需）要丢弃无效标头的负载均衡器的 Amazon 资源名称（ARN）。

**所需的 IAM 权限**

`AutomationAssumeRole` 参数需要执行以下操作才能成功使用运行手册。
+  `ssm:StartAutomationExecution` 
+  `ssm:GetAutomationExecution` 
+  `elasticloadbalancing:DescribeLoadBalancerAttributes` 
+  `elasticloadbalancing:ModifyLoadBalancerAttributes` 

 **文档步骤** 
+  `aws:executeAwsApi` - 为您在 `LoadBalancerArn` 参数中指定的负载均衡器启用丢弃无效标头设置。
+  `aws:executeScript` - 验证是否已对您在 `LoadBalancerArn` 参数中指定的负载均衡器启用丢弃无效标头设置。

# `AWS-EnableCLBAccessLogs`
<a name="enable-clb-access-logs"></a>

**描述**

`AWS-EnableCLBAccessLogs`运行手册启用 Classic Load Balancer 的访问日志。

[运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWS-EnableCLBAccessLogs)

**文档类型**

自动化

**所有者**

Amazon

**平台**

Linux、macOS、Windows

**参数**
+ AutomationAssumeRole

  类型：字符串

  描述：（可选）允许 Systems Manager Automation 代表您执行操作 AWS Identity and Access Management (IAM) 角色的 Amazon 资源名称（ARN）。如果未指定角色，Systems Manager Automation 将使用启动此运行手册的用户的权限。
+ EmitInterval

  类型：整数

  有效值：5 \$1 60

  默认值：60

  描述：（可选）发布访问日志的时间间隔（以分钟为单位）。
+ LoadBalancerNames

  类型：字符串

  描述：（必填）要为其启用访问日志的经典负载均衡器列表，以逗号分隔。
+ S3 BucketName

  类型：字符串

  描述：（必填）存储访问日志的亚马逊简单存储服务 (Amazon S3) 存储桶的名称。
+ S3 BucketPrefix

  类型：字符串

  描述：（可选）例如，您为 Amazon S3 存储桶创建的逻辑层次结构`my-bucket-prefix/prod`。如果未提供前缀，则将日志置于存储桶的根级别。

**所需的 IAM 权限**

`AutomationAssumeRole` 参数需要执行以下操作才能成功使用运行手册。
+ `elasticloadbalancing:ModifyLoadBalancerAttributes`

**文档步骤**
+ `aws:executeAwsApi`-启用您在`LoadBalancerNames`参数中指定的经典负载均衡器的访问日志。

**输出**

启用CLBAccess日志。 SuccessesLoadBalancers -成功启用访问日志的负载均衡器名称列表。

启用CLBAccess日志。 FailedLoadBalancers -启用访问日志失败 MapList 的负载均衡器名称以及失败的原因。

# `AWS-EnableCLBConnectionDraining`
<a name="AWS-EnableCLBConnectionDraining"></a>

 **描述** 

`AWS-EnableCLBConnectionDraining`运行手册允许将 Classic Load Balancer (CLB) 上的连接耗尽到指定的超时值。连接耗尽使负载均衡能够完成向正在注销注册或运行状况不佳的实例发出的动态请求，指定的超时时间是它在报告实例已注销注册之前保持连接活跃的时间。有关开启连接耗尽的更多信息 CLBs，请参阅《[经典负载均衡器*用户指南》*中的 Classic Load Balancer 配置连接耗尽](url-elb-cg;config-conn-drain.html)。

 [运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWS-EnableCLBConnectionDraining) 

**文档类型**

自动化

**所有者**

Amazon

**平台**

Linux、macOS、Windows

**参数**
+ AutomationAssumeRole

  类型：字符串

  描述：（可选）允许 Systems Manager Automation 代表您执行操作 AWS Identity and Access Management (IAM) 角色的 Amazon 资源名称（ARN）。如果未指定角色，Systems Manager Automation 将使用启动此运行手册的用户的权限。
+ LoadBalancerName

  类型：字符串

  描述：（必填）要启用连接耗尽的负载均衡器的名称。
+ ConnectionTimeout

  类型：整数

  有效值：1-3600

  默认：300

  描述：（必填）负载均衡器的连接超时值。超时值可以设置在 1 到 3600 秒之间。

**所需的 IAM 权限**

`AutomationAssumeRole` 参数需要执行以下操作才能成功使用运行手册。
+ `ssm:StartAutomationExecution`
+ `ssm:GetAutomationExecution`
+ `elasticloadbalancing:DescribeLoadBalancerAttributes`
+ `elasticloadbalancing:ModifyLoadBalancerAttributes`

 **文档步骤** 
+ ModifyLoadBalancerConnectionDraining (aws:executeAwsApi)：启用连接耗尽并为您指定的负载均衡器设置指定的超时值。
+ VerifyLoadBalancerConnectionDrainingEnabled(aws: P assertAwsResource roperty)：验证是否已为负载均衡器启用连接耗尽功能。
+ VerifyLoadBalancerConnectionDrainingTimeout(aws: P assertAwsResource roperty)：验证负载均衡器的连接超时值是否与您指定的值相匹配。

# `AWSConfigRemediation-EnableCLBCrossZoneLoadBalancing`
<a name="automation-aws-enable-clb-crosszone"></a>

 **描述** 

 `AWSConfigRemediation-EnableCLBCrossZoneLoadBalancing` 运行手册为指定的经典负载均衡器 (CLB) 启用跨区域负载均衡。

 [运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWSConfigRemediation-EnableCLBCrossZoneLoadBalancing) 

**文档类型**

自动化

**所有者**

Amazon

**平台**

Linux、macOS、Windows

**参数**
+ AutomationAssumeRole

  类型：字符串

  描述：（必需）允许 Systems Manager Automation 代表您执行操作的 AWS Identity and Access Management (IAM) 角色的 Amazon 资源名称（ARN）。
+ LoadBalancerName

  类型：字符串

  描述：（必需）要对其启用跨区域负载平衡的 CLB 的名称。

**所需的 IAM 权限**

`AutomationAssumeRole` 参数需要执行以下操作才能成功使用运行手册。
+  `ssm:StartAutomationExecution` 
+  `ssm:GetAutomationExecution` 
+  `elb:DescribeLoadBalancerAttributes` 
+  `elb:ModifyLoadBalancerAttributes` 

 **文档步骤** 
+  `aws:executeAwsApi` - 为您在 `LoadBalancerName` 参数中指定的 CLB 启用跨区域负载均衡。
+  `aws:assertAwsResourceProperty` - 验证是否已对 CLB 启用跨区域负载均衡。

# `AWSConfigRemediation-EnableELBDeletionProtection`
<a name="automation-aws-enable-elb-protection"></a>

 **描述** 

 `AWSConfigRemediation-EnableELBDeletionProtection` 运行手册为指定的弹性负载均衡器 (ELB) 启用删除保护。

 [运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWSConfigRemediation-EnableELBDeletionProtection) 

**文档类型**

自动化

**所有者**

Amazon

**平台**

Linux、macOS、Windows

**参数**
+ AutomationAssumeRole

  类型：字符串

  描述：（必需）允许 Systems Manager Automation 代表您执行操作的 AWS Identity and Access Management (IAM) 角色的 Amazon 资源名称（ARN）。
+ LoadBalancerArn

  类型：字符串

  描述：（必需）要为其启用删除保护的 ELB 的 Amazon 资源名称（ARN）。

**所需的 IAM 权限**

`AutomationAssumeRole` 参数需要执行以下操作才能成功使用运行手册。
+  `ssm:StartAutomationExecution` 
+  `ssm:GetAutomationExecution` 
+  `elasticloadbalancing:DescribeLoadBalancerAttributes` 
+  `elasticloadbalancing:DescribeLoadBalancers` 
+  `elasticloadbalancing:ModifyLoadBalancerAttributes` 

 **文档步骤** 
+  `aws:executeScript` - 对您在 `LoadBalancerArn` 参数中指定的 ELB 启用删除保护。

# `AWSConfigRemediation-EnableLoggingForALBAndCLB`
<a name="automation-aws-enable-logging-alb-clb"></a>

 **描述** 

 `AWSConfigRemediation-EnableLoggingForALBAndCLB`运行手册允许对指定的 Application Load Balancer 或 C AWS lassic Load Balancer (CLB) 进行日志记录。

 [运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWSConfigRemediation-EnableLoggingForALBAndCLB) 

**文档类型**

自动化

**所有者**

Amazon

**平台**

Linux、macOS、Windows

**参数**
+ AutomationAssumeRole

  类型：字符串

  描述：（必需）允许 Systems Manager Automation 代表您执行操作的 AWS Identity and Access Management (IAM) 角色的 Amazon 资源名称（ARN）。
+ LoadBalancerId

  类型：字符串

  描述：（必需）经典负载均衡器名称或应用程序负载均衡器 ARN。
+ S3 BucketName

  类型：字符串

  描述：（必需）Amazon S3 存储桶名称。
+ S3 BucketPrefix

  类型：字符串

   描述：（可选）为 Amazon Simple Storage Service (Amazon S3) 存储桶创建的逻辑层次结构，例如 `my-bucket-prefix/prod`。如果未提供前缀，则将日志置于存储桶的根级别。

**所需的 IAM 权限**

`AutomationAssumeRole` 参数需要执行以下操作才能成功使用运行手册。
+  `ssm:StartAutomationExecution` 
+  `ssm:GetAutomationExecution` 
+  `elasticloadbalancing:DescribeLoadBalancerAttributes` 
+  `elasticloadbalancing:ModifyLoadBalancerAttributes` 

 **文档步骤** 
+  `aws:executeScript` - 对经典负载均衡器或应用程序负载均衡器启用日志记录并验证。

# `AWSSupport-TroubleshootCLBConnectivity`
<a name="automation-aws-troubleshootclbconnectivity"></a>

 **描述** 

 `AWSSupport-TroubleshootCLBConnectivity` 运行手册可帮助解决经典负载均衡器 (CLB) 和 Amazon Elastic Compute Cloud (Amazon EC2) 实例之间的连接问题。此外，还会审查客户端与 CLB 之间的连接问题。此运行手册还审查 CLB 的运行状况检查，验证是否遵循了最佳实践，并创建问题排查控制面板。或者，也可以将自动化输出上传到 Amazon Simple Storage Service (Amazon S3) 存储桶。但是，此运行手册不支持将输出上传到可公共访问的 S3 存储桶。我们建议为此自动化创建一个临时 S3 存储桶。

**重要**  
使用此运行手册可能会对创建的控制面板产生费用。有关更多信息，请参阅 [Amazon CloudWatch 定价](https://aws.amazon.com/cloudwatch/pricing/) 

 [运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootCLBConnectivity) 

**文档类型**

自动化

**所有者**

Amazon

**平台**

Linux、macOS、Windows

**参数**
+ AutomationAssumeRole

  类型：字符串

  描述：（可选）允许 Systems Manager Automation 代表您执行操作 AWS Identity and Access Management (IAM) 角色的 Amazon 资源名称（ARN）。如果未指定角色，Systems Manager Automation 将使用启动此运行手册的用户的权限。
+ InvestigationType

  类型：字符串

  有效值：最佳实践 \$1 连接问题 \$1问题排除控制面板

  描述：（必需）希望运行手册执行的操作。
+ LoadBalancerName

  类型：字符串

  描述：（必需）CLB 的名称。
+ S3Location

  类型：字符串

  描述：（可选）要将自动化结果发送到的 S3 存储桶的名称。不支持可公共访问的存储桶。如果 S3 存储桶使用服务器端加密，则运行此自动化的用户或角色必须拥有 AWS KMS 键的 `kms:GenerateDataKey` 权限。
+ S3 LocationPrefix

  类型：字符串

  描述：（可选）要将自动化输出上传到的 Amazon S3 键前缀（子文件夹）。输出格式以以下格式存储：amzn-s3-demo-bucket/*S3LocationPrefix*/\$1\$1\$1\$1 \$1 \$1\$1automation:*InvestigationType*\$1\$1 .txt。*EXECUTION\$1ID*

**所需的 IAM 权限**

`AutomationAssumeRole` 参数需要执行以下操作才能成功使用运行手册。
+  `ec2:DescribeInstances` 
+  `ec2:DescribeNetworkAcls` 
+  `ec2:DescribeNetworkInterfaces` 
+  `ec2:DescribeRouteTables` 
+  `ec2:DescribeSecurityGroups` 
+  `ec2:DescribeVpcAttribute` 
+  `ec2:DescribeVpcs` 
+  `ec2:DescribeSubnets` 
+  `elasticloadbalancing:DescribeLoadBalancers` 
+  `elasticloadbalancing:DescribeLoadBalancerPolicies` 
+  `elasticloadbalancing:DescribeInstanceHealth` 
+  `elasticloadbalancing:DescribeLoadBalancerAttributes` 
+  `iam:ListRoles` 
+  `cloudwatch:PutDashboard` 
+  `ssm:GetAutomationExecution` 
+  `ssm:StartAutomationExecution` 
+  `ssm:DescribeAutomationExecutions` 
+  `ssm:DescribeAutomationStepExecutions` 
+  `ssm:DescribeInstanceInformation` 
+  `ssm:DescribeInstanceProperties` 
+  `ssm:GetDocument` 
+  `ssm:ListCommands` 
+  `ssm:ListCommandInvocations` 
+  `ssm:ListDocuments` 
+  `ssm:SendCommand` 
+  `s3:GetBucketAcl` 
+  `s3:GetBucketPolicyStatus` 
+  `s3:GetPublicAccessBlock` 
+  `s3:PutObject` 

 **文档步骤** 
+  `aws:executeScript` - 验证您在 `LoadBalancerName` 参数中指定的 CLB 是否存在。
+  `aws:branch` - 根据为 `InvestigationType` 参数指定的值进行分支。
+  `aws:executeScript` - 对 CLB 执行连接检查。
+  `aws:executeScript` - 验证 CLB 配置是否符合 Elastic Load Balancing 最佳实践。
+  `aws:executeScript`-为您的 CLB 创建 Amazon CloudWatch 控制面板。
+  `aws:executeScript` - 创建包含自动化结果的文本文件，并将其上传到您在 `S3Location` 参数中指定的 Amazon S3 存储桶。

 **输出** 

RunBestPractices. 摘要

RunConnectivityChecks. 摘要

CreateTroubleshootingDashboard。输出

UploadOutputToS3.Output

# `AWSConfigRemediation-EnableNLBCrossZoneLoadBalancing`
<a name="automation-aws-enable-nlb-crosszone"></a>

 **描述** 

 `AWSConfigRemediation-EnableNLBCrossZoneLoadBalancing` 运行手册为指定的网络负载均衡器 (NLB) 启用跨区域负载平衡。

 [运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWSConfigRemediation-EnableNLBCrossZoneLoadBalancing) 

**文档类型**

自动化

**所有者**

Amazon

**平台**

Linux、macOS、Windows

**参数**
+ AutomationAssumeRole

  类型：字符串

  描述：（必需）允许 Systems Manager Automation 代表您执行操作的 AWS Identity and Access Management (IAM) 角色的 Amazon 资源名称（ARN）。
+ LoadBalancerArn

  类型：字符串

  描述：（必需）要为之启用跨区域负载均衡的 NLB 的 Amazon 资源名称（ARN）。

**所需的 IAM 权限**

`AutomationAssumeRole` 参数需要执行以下操作才能成功使用运行手册。
+  `ssm:StartAutomationExecution` 
+  `ssm:GetAutomationExecution` 
+  `elasticloadbalancing:DescribeLoadBalancerAttributes` 
+  `elasticloadbalancing:ModifyLoadBalancerAttributes` 

 **文档步骤** 
+  `aws:executeAwsApi` - 为您在 `LoadBalancerArn` 参数中指定的 NLB 启用跨区域负载平衡。
+  `aws:executeScript` - 验证是否已对 NLB 启用跨区域负载平衡。

# `AWS-UpdateALBDesyncMitigationMode`
<a name="AWS-UpdateALBDesyncMitigationMode"></a>

 **描述** 

`AWS-UpdateALBDesyncMitigationMode`运行手册会将 Application Load Balancer (ALB) 上的不同步缓解模式更新为指定的缓解模式。不同步缓解模式决定了负载均衡器如何处理可能对您的应用程序构成安全风险的请求。

 [运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWS-UpdateALBDesyncMitigationMode) 

**文档类型**

自动化

**所有者**

Amazon

**平台**

Linux、macOS、Windows

**参数**
+ AutomationAssumeRole

  类型：字符串

  描述：（可选）允许 Systems Manager Automation 代表您执行操作 AWS Identity and Access Management (IAM) 角色的 Amazon 资源名称（ARN）。如果未指定角色，Systems Manager Automation 将使用启动此运行手册的用户的权限。
+ LoadBalancerArn

  类型：字符串

  描述：（必填）您要修改其不同步缓解模式的 ALB 的 Amazon 资源名称 (ARN)。
+ DesyncMitigationMode

  类型：字符串

  有效值：监控 \$1 防御 \$1 最严格

  描述：（必填）您希望 ALB 使用的缓解模式。有关不同步缓解模式的信息，请参阅《*应用程序负载均衡器用户指南*》中的[不同步缓解模式](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#desync-mitigation-mode)。

**所需的 IAM 权限**

`AutomationAssumeRole` 参数需要执行以下操作才能成功使用运行手册。
+ `ssm:StartAutomationExecution`
+ `ssm:GetAutomationExecution`
+ `elasticloadbalancing:DescribeLoadBalancers`
+ `elasticloadbalancing:DescribeLoadBalancerAttributes`
+ `elasticloadbalancing:ModifyLoadBalancerAttributes`

 **文档步骤** 
+ VerifyLoadBalancerType (aws: P assertAwsResource roperty)-在继续下一步之前，验证为`LoadBalancerArn`输入参数指定的值是否适用于应用程序负载均衡器。
+ ModifyLoadBalancerDesyncMode (aws:executeAwsApi)-更新 ALB 以使用指定`DesyncMitigationMode`的。
+ VerifyLoadBalancerDesyncMitigationMode (aws: executeScript)-验证目标 ALB 的不同步缓解模式是否已更新。

 **输出** 

 VerifyLoadBalancerDesyncMitigationMode。 ModificationResult -验证对 ALB 的修改的脚本的消息负载。

# `AWS-UpdateCLBDesyncMitigationMode`
<a name="AWS-UpdateCLBDesyncMitigationMode"></a>

 **描述** 

`AWS-UpdateCLBDesyncMitigationMode`运行手册会将 Classic Load Balancer (CLB) 上的不同步缓解模式更新为指定的缓解模式。不同步缓解模式决定了负载均衡器如何处理可能对您的应用程序构成安全风险的请求。

 [运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWS-UpdateCLBDesyncMitigationMode) 

**文档类型**

自动化

**所有者**

Amazon

**平台**

Linux、macOS、Windows

**参数**
+ AutomationAssumeRole

  类型：字符串

  描述：（可选）允许 Systems Manager Automation 代表您执行操作 AWS Identity and Access Management (IAM) 角色的 Amazon 资源名称（ARN）。如果未指定角色，Systems Manager Automation 将使用启动此运行手册的用户的权限。
+ LoadBalancerName

  类型：字符串

  描述：（必填）要修改其不同步缓解模式的 CLB 的名称。
+ DesyncMitigationMode

  类型：字符串

  有效值：监控 \$1 防御 \$1 最严格

  描述：（必填）您希望 CLB 使用的防护模式。有关不同步缓解模式的信息，请参阅《*应用程序负载均衡器用户指南*》中的[不同步缓解模式](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#desync-mitigation-mode)。

**所需的 IAM 权限**

`AutomationAssumeRole` 参数需要执行以下操作才能成功使用运行手册。
+ `ssm:StartAutomationExecution`
+ `ssm:GetAutomationExecution`
+ `elasticloadbalancing:DescribeLoadBalancerAttributes`
+ `elasticloadbalancing:ModifyLoadBalancerAttributes`

 **文档步骤** 
+ ModifyLoadBalancerDesyncMode (aws:executeAwsApi)-更新负载均衡以使用指定`DesyncMitigationMode`的。
+ VerifyLoadBalancerDesyncMitigationMode (aws: executeScript)-验证目标 CLB 的不同步缓解模式是否已更新。

 **输出** 

 VerifyLoadBalancerDesyncMitigationMode。 ModificationResult -脚本的消息有效负载，用于验证对 CLB 的修改。

# `AWSSupport-TroubleshootELBHealthChecks`
<a name="automation-aws-troubleshootelbhealthchecks"></a>

 **描述** 

该**AWSSupport-TroubleshootELBHealthChecks**运行手册通过分析 AWS 弹性负载平衡（Elastic Load Balancing）的相关指标、验证网络连接以及在目标实例上执行诊断命令，帮助解决弹性负载平衡 CloudWatch （Elastic Load BalancingCloudWatch）运行状况检查问题。

本运行手册解决了以下用例：
+ 负载均衡器或目标组的目标实例中存在运行状况不佳的实例。
+ 虽然没有运行状况不佳的实例，但 CloudWatch 指标表示的数据点 `UnHealthyHostCounts`

**重要**  
重要注意事项：  
自动化的重点是对实例类型目标进行故障排除。
允许进行故障排除的最大实例数为 50。
目标实例必须由 Systems Manager 管理，才能在实例级别执行诊断命令。
该`S3BucketName`参数是可选的，但某些诊断结果会直接上传到指定的 Amazon S3 存储桶，并且不会显示在自动化输出中。
IPv6 不支持网络连接故障排除。

 [运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootELBHealthChecks) 

**文档类型**

自动化

**所有者**

Amazon

**平台**

/

**所需的 IAM 权限**

`AutomationAssumeRole` 参数需要执行以下操作才能成功使用运行手册。
+ `elasticloadbalancing:DescribeLoadBalancers`
+ `elasticloadbalancing:DescribeTargetGroups`
+ `elasticloadbalancing:DescribeTargetHealth`
+ `elasticloadbalancing:DescribeInstanceHealth`
+ `ec2:DescribeInstances`
+ `ec2:DescribeNetworkInterfaces`
+ `ec2:DescribeSecurityGroups`
+ `ec2:DescribeSubnets`
+ `cloudwatch:GetMetricStatistics`
+ `ssm:SendCommand`
+ `ssm:GetCommandInvocation`
+ `ssm:DescribeInstanceInformation`
+ `s3:GetBucketLocation`
+ `s3:GetBucketAcl`
+ `s3:PutObject`

策略示例：

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "elasticloadbalancing:DescribeLoadBalancers",
                "elasticloadbalancing:DescribeTargetGroups",
                "elasticloadbalancing:DescribeTargetHealth",
                "elasticloadbalancing:DescribeInstanceHealth",
                "ec2:DescribeInstances",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSubnets",
                "cloudwatch:GetMetricStatistics",
                "ssm:SendCommand",
                "ssm:GetCommandInvocation",
                "ssm:DescribeInstanceInformation",
                "s3:GetBucketLocation",
                "s3:GetBucketAcl",
                "s3:PutObject"
            ],
            "Resource": "*"
        }
    ]
}
```

 **说明** 

按照这些步骤对自动化进行配置：

1. [https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootELBHealthChecks/description](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootELBHealthChecks/description)在 Systems Manager 的 “文档” 下导航至。

1. 选择 **Execute automation**（执行自动化）。

1. 对于输入参数，请输入以下内容：
   + **AutomationAssumeRole （可选）：**
     + 描述：（可选）允许 SSM Automation 代表您执行操作的 AWS Identity and Access Management (IAM) 角色的亚马逊资源名称 (ARN)。如果未指定角色，SSM Automation 将使用启动此运行手册的用户的权限。
     + 类型：`AWS::IAM::Role::Arn`
   + **LoadBalancerOrTargetGroupName （必填）：**
     + 描述：（必填）Classic Load Balancer 的名称，或者与应用程序负载均衡器或网络负载均衡器关联的目标组的名称。
     + 类型：`String`
     + 允许的模式：`^[a-zA-Z0-9-]+$`
   + **ExecutionMode （必填）：**
     + 描述：（必填）控制自动化执行模式。 `Complete`在 Amazon EC2 实例上运行所有步骤，包括 runCommands。 `SkipRunCommands`执行除在实例上运行命令之外的所有步骤。
     + 类型：`String`
     + 允许的值：`[Complete, SkipRunCommands]`
   + **S3BucketName （可选）：**
     + 描述：（可选）您账户中要上传疑难解答日志的 Amazon S3 存储桶的名称。
     + 类型：`String`
     +  默认值：`""`

1. 选择**执行**。

1. 自动化启动。

1. 文档将执行以下步骤：
   + **getBucketPublic状态**：

     检查目标 Amazon S3 存储桶是否有可能授予对其对象的读取或写入公共访问权限。
   + **getLoadBalancer详细信息：**

     标识负载均衡器类型并返回统一负载均衡器详细信息对象。
   + **checkLoadBalancer类型**：

     检查负载均衡器是否存在。
   + **获取目标：**

     根据不同类型的负载均衡器，查询描述了 APIs 如何返回健康和不健康目标详细信息的地图。
   + **checkCloudWatch指标**：

     检查 CloudWatch 指标`HealthyHostCounts``UnHealthyHostCounts`并生成 CloudWatch 链接。
   + **checkUnhealthyReasons**:

     检查是否存在不健康的原因并筛选目标。
   + **检查连接**：

     检查负载均衡器与其实例之间的连接。
   + **运行命令**：

     在实例上运行故障排除命令并上传输出（如果提供了存储桶名称）。
   + **生成报告**：

     根据前面步骤的输出生成最终报告，并将报告上传到 Amazon S3 存储桶（如果已指定）。

1. 完成后，请查看 “**输出**” 部分，了解执行的详细结果。

 **诊断命令** 

运行手册对实例执行以下诊断命令：
+ **Linux Shell：**top、free、ss、curl、iptables、tcpdump
+ **Windows PowerShell：**Get-CimInstance、Get-、Get-NetFirewallProfile、Invoke-NetFirewallRule、netstat WebRequest、netsh、pktmon

**参考**

Systems Manager Automation
+ [运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootELBHealthChecks/description)
+ [运行自动化](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)
+ [Support 自动化工作流程](https://aws.amazon.com/premiumsupport/technology/saw/)