

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

# `AWSSupport-TroubleshootSessionManager`
<a name="automation-awssupport-troubleshoot-session-manager"></a>

 **描述** 

`AWSSupport-TroubleshootSessionManager` 运行手册可帮助您排除导致您无法使用会话管理器连接到托管 Amazon Elastic Compute Cloud (Amazon EC2) 实例的常见问题。会话管理器是一个工具 AWS Systems Manager。此运行手册检查以下各项：
+ 检查实例是否正在运行并报告为由 Systems Manager 管理。
+ 如果实例未报告为由 Systems Manager 管理，则运行 `AWSSupport-TroubleshootManagedInstance` 运行手册。
+ 检查安装在该实例上的 SSM Agent 的版本。
+ 检查包含建议的会话管理器 AWS Identity and Access Management (IAM) 策略的实例配置文件是否已附加到 Amazon EC2 实例。
+ 从实例收集 SSM 代理日志。
+ 分析您的会话管理器首选项。
+ `AWSSupport-AnalyzeAWSEndpointReachabilityFromEC2`运行手册以分析实例与会话管理器、 AWS Key Management Service (AWS KMS)、亚马逊简单存储服务 (Amazon S3) 和 CloudWatch 亚马逊CloudWatch 日志（日志）的终端节点的连接。

 **注意事项** 
+ 不支持混合托管节点。
+ 此运行手册仅检查建议的托管 IAM policy 是否已附加到实例配置文件。它不会分析 IAM 或实例配置文件中包含的 AWS KMS 权限。

**重要**  
 `AWSSupport-AnalyzeAWSEndpointReachabilityFromEC2` 运行手册使用 [VPC Reachability Analyzer ](https://docs.aws.amazon.com/vpc/latest/reachability/what-is-reachability-analyzer.html)分析来源和服务端点之间的网络连接。每次在来源和目标之间运行分析时，您需要支付费用。有关详细信息，请参阅 [Amazon VPC 定价](https://aws.amazon.com/vpc/pricing/)。

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

**文档类型**

自动化

**所有者**

Amazon

**平台**

Linux、macOS、Windows

**参数**
+ AutomationAssumeRole

  类型：字符串

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

  类型：字符串

  描述：（必需）您无法使用会话管理器连接到的 Amazon EC2 实例的 ID。
+ SessionPreferenceDocument

  类型：字符串

  默认：SSM-SessionManagerRunShell

  描述：（可选）会话首选项文档的名称。如果您在启动会话时未指定自定义会话首选项文档，则使用默认值。

**所需的 IAM 权限**

`AutomationAssumeRole` 参数需要执行以下操作才能成功使用运行手册。
+ `ec2:CreateNetworkInsightsPath`
+ `ec2:DeleteNetworkInsightsAnalysis`
+ `ec2:DeleteNetworkInsightsPath`
+ `ec2:StartNetworkInsightsAnalysis`
+ `tiros:CreateQuery`
+ `ec2:DescribeAvailabilityZones`
+ `ec2:DescribeCustomerGateways`
+ `ec2:DescribeDhcpOptions`
+ `ec2:DescribeInstances`
+ `ec2:DescribeInstanceStatus`
+ `ec2:DescribeInternetGateways`
+ `ec2:DescribeManagedPrefixLists`
+ `ec2:DescribeNatGateways`
+ `ec2:DescribeNetworkAcls`
+ `ec2:DescribeNetworkInsightsAnalyses`
+ `ec2:DescribeNetworkInsightsPaths`
+ `ec2:DescribeNetworkInterfaces`
+ `ec2:DescribePrefixLists`
+ `ec2:DescribeRegions`
+ `ec2:DescribeRouteTables`
+ `ec2:DescribeSecurityGroups`
+ `ec2:DescribeSubnets`
+ `ec2:DescribeTransitGatewayAttachments`
+ `ec2:DescribeTransitGatewayConnects`
+ `ec2:DescribeTransitGatewayPeeringAttachments`
+ `ec2:DescribeTransitGatewayRouteTables`
+ `ec2:DescribeTransitGateways`
+ `ec2:DescribeTransitGatewayVpcAttachments`
+ `ec2:DescribeVpcAttribute`
+ `ec2:DescribeVpcEndpoints`
+ `ec2:DescribeVpcEndpointServiceConfigurations`
+ `ec2:DescribeVpcPeeringConnections`
+ `ec2:DescribeVpcs`
+ `ec2:DescribeVpnConnections`
+ `ec2:DescribeVpnGateways`
+ `ec2:GetManagedPrefixListEntries`
+ `ec2:GetTransitGatewayRouteTablePropagations`
+ `ec2:SearchTransitGatewayRoutes`
+ `elasticloadbalancing:DescribeListeners`
+ `elasticloadbalancing:DescribeLoadBalancerAttributes`
+ `elasticloadbalancing:DescribeLoadBalancers`
+ `elasticloadbalancing:DescribeRules`
+ `elasticloadbalancing:DescribeTags`
+ `elasticloadbalancing:DescribeTargetGroups`
+ `elasticloadbalancing:DescribeTargetHealth`
+ `iam:GetInstanceProfile`
+ `iam:ListAttachedRolePolicies`
+ `iam:ListRoles`
+ `iam:PassRole`
+ `ssm:DescribeAutomationStepExecutions`
+ `ssm:DescribeInstanceInformation`
+ `ssm:GetAutomationExecution`
+ `ssm:GetDocument`
+ `ssm:ListCommands`
+ `ssm:ListCommandInvocations`
+ `ssm:SendCommand`
+ `ssm:StartAutomationExecution`
+ `tiros:GetQueryAnswer`
+ `tiros:GetQueryExplanation`

 **文档步骤** 

1. `aws:waitForAwsResourceProperty`：最多等 6 分钟，目标实例就能通过状态检查。

1. `aws:executeScript`：解析会话首选项文档。

1. `aws:executeAwsApi`：获取附加到您的实例的实例配置文件的 ARN。

1. `aws:executeAwsApi`：检查您的实例是否报告为由 Systems Manager 管理。

1. `aws:branch`：根据您的实例是否报告为由 Systems Manager 管理进行分支。

1. `aws:executeScript`：检查您的实例上安装的SSM Agent 是否支持会话管理器。

1. `aws:branch`：根据用于收集 `ssm-cli` 日志的实例的平台进行分支。

1. `aws:runCommand`：从 Linux 或 macOS 实例收集 `ssm-cli` 的输出日志。

1. `aws:runCommand`：从 Windows 实例收集 `ssm-cli` 的输出日志。

1. `aws:executeScript`：解析 `ssm-cli` 日志。

1. `aws:executeScript`：检查建议的 IAM policy 是否已附加到实例配置文件。

1. `aws:branch`：确定是否根据 `ssm-cli` 日志评估 `ssmmessages` 端点连接。

1. `aws:executeAutomation`：评估实例是否可以连接到 `ssmmessages` 端点。

1. `aws:branch`：根据 `ssm-cli` 日志和会话首选项，确定是否评估 Amazon S3 端点连接。

1. `aws:executeAutomation`：评估实例是否可以连接到 Amazon S3 端点。

1. `aws:branch`：决定是否根据`ssm-cli`日志和会话首选项评估 AWS KMS 端点连接。

1. `aws:executeAutomation`：评估实例是否可以连接到 AWS KMS 终端节点。

1. `aws:branch`：根据 CloudWatch 日志和您的会话首选项确定是否评估`ssm-cli`日志端点连接。

1. `aws:executeAutomation`：评估实例是否可以连接到 L CloudWatch ogs 端点。

1. `aws:executeAutomation`: 运行 `AWSSupport-TroubleshootManagedInstance` 运行手册。

1. `aws:executeScript`：编译先前步骤的输出并输出一个报告。

 **输出** 
+ `generateReport.EvalReport` - 运行手册以纯文本形式执行的检查结果。