

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

# `AWSSupport-TroubleshootVPN`
<a name="automation-aws-troubleshoot-vpn"></a>

 **描述** 

 `AWSSupport-TroubleshootVPN`运行手册可帮助您跟踪和解决 AWS Site-to-Site VPN 连接中的错误。自动化包括多项自动检查，旨在跟踪`IKEv1`与 AWS Site-to-Site VPN 连接隧道相关的`IKEv2`错误。自动化将尝试匹配特定的错误及其相应的解决方案，从而形成常见问题列表。

 **注意：**此自动化并不能纠正错误。它在上述时间范围内运行，并扫描日志组中是否存在 [VPN CloudWatch 日志组](https://docs.aws.amazon.com//vpn/latest/s2svpn/log-contents.html)中的错误。

 **如何工作？** 

运行手册运行参数验证，以确认输入参数中包含的 Amazon CloudWatch 日志组是否存在、日志组中是否存在与 VPN 隧道日志记录相对应的日志流、VPN 连接 ID 是否存在以及隧道 IP 地址是否存在。它会在配置为 VPN 日志记录的 CloudWatch 日志组上进行 Logs Insights API 调用。

**文档类型**

自动化

**所有者**

Amazon

**平台**

Linux、macOS、Windows

**参数**
+ AutomationAssumeRole

  类型：字符串

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

  类型：字符串

  描述：（必填）为 AWS Site-to-Site VPN 连接 CloudWatch 日志配置的 Amazon 日志组名称

  允许的模式：`^[\.\-_/#A-Za-z0-9]{1,512}`
+ VpnConnectionId

  类型：字符串

  描述：（必填）要进行故障排除的 AWS Site-to-Site VPN 连接 ID。

  允许的模式：`^vpn-[0-9a-f]{8,17}$`
+ 隧道 AIPAddress

  类型：字符串

  描述：（必填）与您的关联的 1 号隧道 IPv4 地址 AWS Site-to-Site VPN。

  允许的模式：`^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)[.]){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?){1}$`
+ 隧道 BIPAddress

  类型：字符串

  描述：（可选）与您关联的隧道号码 2 IPv4 的地址 AWS Site-to-Site VPN。

  允许的模式：`^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)[.]){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?){1}|^$`
+ IKEVersion

  类型：字符串

  描述：（必需）选择您正在使用的 IKE 版本。允许的值： IKEv1， IKEv2

  有效值：`['IKEv1', 'IKEv2']`
+ StartTimeinEpoch

  类型：字符串

  描述：（可选）日志分析的开始时间。您可以使用 StartTimeinEpoch/EndTimeinEpoch 或 LookBackPeriod 进行日志分析

  允许的模式：`^\d{10}|^$`
+ EndTimeinEpoch

  类型：字符串

  描述：（可选）日志分析的结束时间。您可以使用 StartTimeinEpoch/EndTimeinEpoch 或 LookBackPeriod 进行日志分析。如果两者兼 StartTimeinEpoch/EndTimeinEpoch 而有之 LookBackPeriod ，则优 LookBackPeriod 先

  允许的模式：`^\d{10}|^$`
+ LookBackPeriod

  类型：字符串

  描述：（可选）以小时为单位的两位数时间，用于回顾日志分析。有效范围：01 - 99。如果您还给出 StartTimeinEpoch和，则此值优先 EndTime

  允许的模式：`^(\d?[1-9]|[1-9]0)|^$`

**所需的 IAM 权限**

`AutomationAssumeRole` 参数需要执行以下操作才能成功使用运行手册。
+ `logs:DescribeLogGroups`
+ `logs:GetQueryResults`
+ `logs:DescribeLogStreams`
+ `logs:StartQuery`
+ `ec2:DescribeVpnConnections`

 **说明** 

 **注意：**当 CloudWatch 日志输出格式为 JSON 时，此自动化适用于为 VPN 隧道日志记录配置的日志组。

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

1. 在 AWS Systems Manager 控制台[AWSSupport-TroubleshootVPN](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootVPN/description)中导航到。

1. 要输入参数，请输入以下内容：
   + **AutomationAssumeRole （可选）：**

     允许 Systems Manager Automation 代表您执行操作的 AWS Identity and Access Management (IAM) 角色的亚马逊资源名称 (ARN)。如果未指定角色，Systems Manager Automation 将使用启动此运行手册的用户的权限。
   + **LogGroupName （必填）：**

     要验证的 Amazon CloudWatch 日志组名称。这必须是为 VPN 配置的 CloudWatch 日志组，以便向其发送日志。
   + **VpnConnectionId （必填）：**

     因为 VPN 错误而跟踪其日志组的 AWS Site-to-Site VPN 连接 ID。
   + **隧道AIPAddress （必填）：**

     隧道 A 与您的 AWS Site-to-Site VPN 连接关联的 IP 地址。
   + **隧道BIPAddress （可选）：**

     与您的 AWS Site-to-Site VPN 连接关联的隧道 B IP 地址。
   + **IKEVersion （必填）：**

     选择 IKEversion 您正在使用的内容。允许的值： IKEv1、 IKEv2。
   + **StartTimeinEpoch （可选）：**

     查询错误的时间范围的起点。该范围包括在内，因此查询中包含了指定的开始时间。指定为纪元时间，即自 1970 年 1 月 1 日 00:00:00 UTC 以来的秒数。
   + **EndTimeinEpoch （可选）：**

     查询错误的时间范围的结束时间。该范围包括在内，因此查询中包含了指定的结束时间。指定为纪元时间，即自 1970 年 1 月 1 日 00:00:00 UTC 以来的秒数。
   + **LookBackPeriod （必填）：**

     回顾错误查询所需的时间（以小时为单位）。

   **注意：**配置 StartTimeinEpoch EndTimeinEpoch、或 LookBackPeriod 以固定日志分析的时间范围。给出一个以小时为单位的两位数数字，以检查从自动化开始时间起过去是否有错误。或者，如果错误发生在特定的时间范围内，请使用 StartTimeinEpoch 和 EndTimeinEpoch，而不是 LookBackPeriod。  
![\[Input parameters form for AWS Site-to-Site VPN connection validation and log analysis.\]](http://docs.aws.amazon.com/zh_cn/systems-manager-automation-runbooks/latest/userguide/images/awssupport-troubleshoot-vpn_input_parameters.png)

1. 选择**执行**。

1. 自动化启动。

1. 自动化运行手册执行以下步骤：
   + **parameterValidation：**

     对自动化中包含的输入参数运行一系列验证。
   + **branchOnValidationOfLogGroup:**

     检查参数中提到的日志组是否有效。如果无效，它会停止进一步启动自动化步骤。
   + **branchOnValidationOfLogStream:**

     检查包含的日志组中是否存在 CloudWatch 日志流。如果无效，它会停止进一步启动自动化步骤。
   + **branchOnValidationOfVpnConnectionId:**

     检查参数中包含的 VPN 连接 ID 是否有效。如果无效，它会停止进一步启动自动化步骤。
   + **branchOnValidationOfVpnIp:**

     检查参数中提到的隧道 IP 地址是否有效。如果无效，它会停止进一步执行自动化步骤。
   + **traceError：**

     在包含的 CloudWatch 日志组中调用 logs insight API，并搜索与 IKEv1 /相关的错误IKEv2 以及相关的建议解决方案。

1. 完成后，查看“输出”部分以了解执行的详细结果。  
![\[Output section showing parameter validation results and error messages for VPN tunnels.\]](http://docs.aws.amazon.com/zh_cn/systems-manager-automation-runbooks/latest/userguide/images/awssupport-troubleshoot-vpn_outputs.png)

 **参考** 

Systems Manager Automation
+ [运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWSPremiumSupport-DDoSResiliencyAssessment)
+ [运行自动化](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)
+ [支持自动化工作流登录页面](https://aws.amazon.com/premiumsupport/technology/saw/)

AWS 服务文档
+ [ Site-to-SiteVPN 日志的内容](https://docs.aws.amazon.com//vpn/latest/s2svpn/log-contents.html)