

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

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

 **Description** 

`AWSSupport-TroubleshootSessionManager` Runbook 可協助您針對無法使用 Session Manager 連線至受管 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體的常見問題進行疑難排解。Session Manager 是 中的工具 AWS Systems Manager。此 Runbook 會檢查下列項目：
+ 檢查執行個體是否以 Systems Manager 管理的方式執行和報告。
+ 如果執行個體未回報為由 Systems Manager 管理，則執行 `AWSSupport-TroubleshootManagedInstance` Runbook。
+ 檢查執行個體上安裝的 SSM Agent 版本。
+ 檢查包含 Session Manager 建議 AWS Identity and Access Management (IAM) 政策的執行個體描述檔是否連接到 Amazon EC2 執行個體。
+ 從執行個體收集 SSM Agent 日誌。
+ 分析您的 Session Manager 偏好設定。
+ 執行 `AWSSupport-AnalyzeAWSEndpointReachabilityFromEC2` Runbook 以分析執行個體與 Session Manager、 AWS Key Management Service (AWS KMS)、Amazon Simple Storage Service (Amazon S3) 和 Amazon CloudWatch Logs (CloudWatch Logs) 端點的連線。

 **考量** 
+ 不支援混合受管節點。
+ 此 Runbook 只會檢查建議的受管 IAM 政策是否連接到執行個體描述檔。它不會分析 IAM 或 AWS KMS 執行個體描述檔中包含的許可。

**重要**  
 `AWSSupport-AnalyzeAWSEndpointReachabilityFromEC2` Runbook 使用 [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 代表您執行動作的 (IAM) 角色的 AWS Identity and Access Management Amazon Resource Name (ARN)。如果未指定角色，Systems Manager Automation 會使用啟動此 Runbook 之使用者的許可。
+ InstanceId

  類型：字串

  描述：（必要） 您使用 Session Manager 無法連線的 Amazon EC2 執行個體 ID。
+ SessionPreferenceDocument

  類型：字串

  預設：SSM-SessionManagerRunShell

  描述：（選用） 工作階段偏好設定文件的名稱。如果您在啟動工作階段時未指定自訂工作階段偏好設定文件，請使用預設值。

**必要的 IAM 許可**

`AutomationAssumeRole` 參數需要下列動作才能成功使用 Runbook。
+ `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 代理程式是否支援 Session Manager。

1. `aws:branch`：根據執行個體的平台進行分支，以收集`ssm-cli`日誌。

1. `aws:runCommand`：`ssm-cli`從 Linux或 macOS執行個體收集日誌輸出。

1. `aws:runCommand`：`ssm-cli`從Windows執行個體收集日誌輸出。

1. `aws:executeScript`：剖析`ssm-cli`日誌。

1. `aws:executeScript`：檢查建議的 IAM 政策是否連接到執行個體描述檔。

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`：決定是否根據`ssm-cli`日誌和工作階段偏好設定評估 CloudWatch Logs 端點連線能力。

1. `aws:executeAutomation`：評估執行個體是否可以連線至 CloudWatch Logs 端點。

1. `aws:executeAutomation`：執行 `AWSSupport-TroubleshootManagedInstance` Runbook。

1. `aws:executeScript`：編譯先前步驟的輸出並輸出報告。

 **Ouputs** 
+ `generateReport.EvalReport` - Runbook 以純文字執行的檢查結果。