

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

# 故障排除：网关激活期间的内部错误
<a name="troubleshooting-gateway-activation"></a>

Storage Gateway 激活请求会经过两条网络路径。客户端发送的传入激活请求通过端口 80 连接到网关的虚拟机（VM）或 Amazon Elastic Compute Cloud（Amazon EC2）实例。如果网关成功收到激活请求，则网关将与 Storage Gateway 端点通信来接收激活密钥。如果网关无法到达 Storage Gateway 端点，则网关会以一则内部错误消息响应客户端。

使用以下故障排除信息，来确定在尝试激活 AWS Storage Gateway的过程中收到内部错误消息时该怎么做。

**注意**  
确保使用最新的虚拟机映像文件或亚马逊机器映像（AMI）版本部署新的网关。如果您尝试激活使用过时 AMI 的网关，则会收到内部错误消息。
在下载 AMI 之前，请务必选择要部署的正确网关类型。每种网关类型的.ova 文件都不同，并且不可互换。 AMIs 

## 解决使用公有端点激活网关时出现的错误
<a name="w2ab1c40c15b9"></a>

要解决使用公有端点激活网关时的激活错误，请执行以下检查和配置。

### 检查所需的端口
<a name="w2ab1c40c15b9b5"></a>

对于本地部署的网关，请检查本地防火墙上的端口是否为打开状态。对于部署在 Amazon EC2 实例上的网关，请检查实例安全组上的端口是否为打开状态。要确认端口为打开状态，请从服务器上对公有端点运行 telnet 命令。此服务器必须与网关位于同一子网中。例如，以下 telnet 命令测试与端口 443 的连接：

```
telnet d4kdq0yaxexbo.cloudfront.net 443
telnet storagegateway.region.amazonaws.com 443
telnet dp-1.storagegateway.region.amazonaws.com 443
telnet proxy-app.storagegateway.region.amazonaws.com 443
telnet client-cp.storagegateway.region.amazonaws.com 443
telnet anon-cp.storagegateway.region.amazonaws.com 443
```

要确认网关本身是否可以到达端点，请访问网关的本地 VM 控制台（适用于本地部署的网关）。或者，可以通过 SSH 连接到网关的实例（适用于部署在 Amazon EC2 上的网关）。然后，运行网络连接测试。确认测试返回 `[PASSED]`。有关更多信息，请参阅 [Testing Your Gateway Connection to the Internet](https://docs.aws.amazon.com/storagegateway/latest/vgw/manage-on-premises-common.html#MaintenanceTestGatewayConnectivity-common)。

**注意**  
网关控制台的默认登录用户名为 `admin`，默认密码为 `password`。

### 确保防火墙安全性不会修改从网关发送到公有端点的数据包
<a name="w2ab1c40c15b9b7"></a>

SSL 检查、深度数据包检查或其它形式的防火墙安全性可能会干扰从网关发送的数据包。如果 SSL 证书的修改结果与激活端点所预期的情况不同，则 SSL 握手失败。要确认没有正在进行的 SSL 检查，请在端口 443 上的主激活端点 (`anon-cp.storagegateway.region.amazonaws.com`) 上运行 OpenSSL 命令。必须从与网关位于同一子网中的计算机上运行此命令：

```
$ openssl s_client -connect  anon-cp.storagegateway.region.amazonaws.com:443 -servername anon-cp.storagegateway.region.amazonaws.com
```

**注意**  
替换*region*为你的 AWS 区域。

如果没有正在进行的 SSL 检查，则该命令将返回类似于以下内容的响应：

```
$ openssl s_client -connect anon-cp.storagegateway.us-east-2.amazonaws.com:443 -servername anon-cp.storagegateway.us-east-2.amazonaws.com
CONNECTED(00000003)
depth=2 C = US, O = Amazon, CN = Amazon Root CA 1
verify return:1
depth=1 C = US, O = Amazon, OU = Server CA 1B, CN = Amazon
verify return:1
depth=0 CN = anon-cp.storagegateway.us-east-2.amazonaws.com
verify return:1
---
Certificate chain
 0 s:/CN=anon-cp.storagegateway.us-east-2.amazonaws.com
   i:/C=US/O=Amazon/OU=Server CA 1B/CN=Amazon
 1 s:/C=US/O=Amazon/OU=Server CA 1B/CN=Amazon
   i:/C=US/O=Amazon/CN=Amazon Root CA 1
 2 s:/C=US/O=Amazon/CN=Amazon Root CA 1
   i:/C=US/ST=Arizona/L=Scottsdale/O=Starfield Technologies, Inc./CN=Starfield Services Root Certificate Authority - G2
 3 s:/C=US/ST=Arizona/L=Scottsdale/O=Starfield Technologies, Inc./CN=Starfield Services Root Certificate Authority - G2
   i:/C=US/O=Starfield Technologies, Inc./OU=Starfield Class 2 Certification Authority
---
```

如果正在进行 SSL 检查，则响应将显示更改的证书链，类似于以下内容：

```
$ openssl s_client -connect  anon-cp.storagegateway.ap-southeast-1.amazonaws.com:443 -servername anon-cp.storagegateway.ap-southeast-1.amazonaws.com
CONNECTED(00000003)
depth=0 DC = com, DC = amazonaws, OU = AWS, CN = anon-cp.storagegateway.ap-southeast-1.amazonaws.com
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 DC = com, DC = amazonaws, OU = AWS, CN = anon-cp.storagegateway.ap-southeast-1.amazonaws.com
verify error:num=21:unable to verify the first certificate
verify return:1
---
Certificate chain
 0 s:/DC=com/DC=amazonaws/OU=AWS/CN=anon-cp.storagegateway.ap-southeast-1.amazonaws.com
   i:/C=IN/O=Company/CN=Admin/ST=KA/L=New town/OU=SGW/emailAddress=admin@company.com
---
```

激活端点仅在识别 SSL 证书时才接受 SSL 握手。这意味着，网关到端点的出站流量必须免受网络中防火墙执行的检查。这些检查可能是 SSL 检查或深度数据包检查。

### 检查网关时间同步
<a name="w2ab1c40c15b9b9"></a>

时间偏差过大可能会导致 SSL 握手错误。对于本地网关，可以使用网关的本地 VM 控制台来检查网关的时间同步。时间偏差应不大于 60 秒。有关更多信息，请参阅 [Synchronizing Your Gateway VM Time](https://docs.aws.amazon.com/storagegateway/latest/vgw/MaintenanceTimeSync-hyperv.html)。

**系统时间管理**选项在托管于 Amazon EC2 实例上的网关中不可用。为确保 Amazon EC2 网关能够正确地同步时间，请确认 Amazon EC2 实例可以通过端口 UDP 和 TCP 123 连接到以下 NTP 服务器池列表：
+ 0.amazon.pool.ntp.org
+ 1.amazon.pool.ntp.org
+ 2.amazon.pool.ntp.org
+ 3.amazon.pool.ntp.org

## 解决使用 Amazon VPC 端点激活网关时出现的错误
<a name="w2ab1c40c15c11"></a>

要解决使用 Amazon Virtual Private Cloud（Amazon VPC）端点激活网关时出现的激活错误，请执行以下检查和配置。

### 检查所需的端口
<a name="w2ab1c40c15c11b5"></a>

确保本地防火墙（对于本地部署的网关）或安全组（对于部署在 Amazon EC2 中的网关）中的所需端口处于打开状态。将网关连接到 Storage Gateway VPC 端点所需的端口与将网关连接到公有端点时所需的端口不同。连接到 Storage Gateway VPC 端点需要以下端口：
+ TCP 443
+ TCP 1026
+ TCP 1027
+ TCP 1028
+ TCP 1031
+ TCP 2222

有关更多信息，请参阅 [Creating a VPC endpoint for Storage Gateway](https://docs.aws.amazon.com/storagegateway/latest/vgw/gateway-private-link.html#create-vpc-endpoint)。

此外，请检查连接到 Storage Gateway VPC 端点的安全组。连接到端点的默认安全组可能不支持所需的端口。创建一个新的安全组，让来自网关 IP 地址范围的流量通过所需端口。然后，将该安全组连接到 VPC 端点。

**注意**  
使用 [Amazon VPC 控制台](https://console.aws.amazon.com//vpc/)来验证连接到 VPC 端点的安全组。从控制台查看 Storage Gateway VPC 端点，然后选择**安全组**选项卡。

要确认所需端口处于打开状态，可以在 Storage Gateway VPC 端点上运行 telnet 命令。必须从与网关位于同一子网中的服务器上运行这些命令。可以对第一个未指定可用区的 DNS 名称运行测试。例如，以下 telnet 命令使用 DNS 名称 vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com 测试所需的端口连接：

```
telnet vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com 443
telnet vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com 1026
telnet vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com 1027
telnet vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com 1028
telnet vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com 1031
telnet vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com 2222
```

### 确保防火墙安全性不会修改从网关发送到 Storage Gateway Amazon VPC 端点的数据包
<a name="w2ab1c40c15c11b7"></a>

SSL 检查、深度数据包检查或其它形式的防火墙安全性可能会干扰从网关发送的数据包。如果 SSL 证书的修改结果与激活端点所预期的情况不同，则 SSL 握手失败。要确认没有正在进行的 SSL 检查，请在 Storage Gateway VPC 端点上运行 OpenSSL 命令。必须从与网关位于同一子网中的计算机上运行此命令。针对每个必需的端口运行命令：

```
$ openssl s_client -connect vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com:443 -servername vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com

$ openssl s_client -connect vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com:1026 -servername vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com

$ openssl s_client -connect vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com:1027 -servername vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com

$ openssl s_client -connect vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com:1028 -servername vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com

$ openssl s_client -connect vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com:1031 -servername vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com

$ openssl s_client -connect vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com:2222 -servername vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com
```

如果没有正在进行的 SSL 检查，则该命令将返回类似于以下内容的响应：

```
openssl s_client -connect vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com:1027 -servername vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com
CONNECTED(00000005)
depth=2 C = US, O = Amazon, CN = Amazon Root CA 1
verify return:1
depth=1 C = US, O = Amazon, OU = Server CA 1B, CN = Amazon
verify return:1
depth=0 CN = anon-cp.storagegateway.us-east-1.amazonaws.com
verify return:1
---
Certificate chain
 0 s:CN = anon-cp.storagegateway.us-east-1.amazonaws.com
   i:C = US, O = Amazon, OU = Server CA 1B, CN = Amazon
 1 s:C = US, O = Amazon, OU = Server CA 1B, CN = Amazon
   i:C = US, O = Amazon, CN = Amazon Root CA 1
 2 s:C = US, O = Amazon, CN = Amazon Root CA 1
   i:C = US, ST = Arizona, L = Scottsdale, O = "Starfield Technologies, Inc.", CN = Starfield Services Root Certificate Authority - G2
 3 s:C = US, ST = Arizona, L = Scottsdale, O = "Starfield Technologies, Inc.", CN = Starfield Services Root Certificate Authority - G2
   i:C = US, O = "Starfield Technologies, Inc.", OU = Starfield Class 2 Certification Authority
---
```

如果正在进行 SSL 检查，则响应将显示更改的证书链，类似于以下内容：

```
openssl s_client -connect vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com:1027 -servername vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com
CONNECTED(00000005)
depth=2 C = US, O = Amazon, CN = Amazon Root CA 1
verify return:1
depth=1 C = US, O = Amazon, OU = Server CA 1B, CN = Amazon
verify return:1
depth=0 DC = com, DC = amazonaws, OU = AWS, CN = anon-cp.storagegateway.us-east-1.amazonaws.com
verify error:num=21:unable to verify the first certificate
verify return:1
---
Certificate chain
 0 s:/DC=com/DC=amazonaws/OU=AWS/CN=anon-cp.storagegateway.us-east-1.amazonaws.com
   i:/C=IN/O=Company/CN=Admin/ST=KA/L=New town/OU=SGW/emailAddress=admin@company.com
---
```

激活端点仅在识别 SSL 证书时才接受 SSL 握手。这意味着，网关通过所需端口到 VPC 端点的出站流量免受由网络防火墙执行的检查。这些检查可能是 SSL 检查或深度数据包检查。

### 检查网关时间同步
<a name="w2ab1c40c15c11b9"></a>

时间偏差过大可能会导致 SSL 握手错误。对于本地网关，可以使用网关的本地 VM 控制台来检查网关的时间同步。时间偏差应不大于 60 秒。有关更多信息，请参阅 [Synchronizing Your Gateway VM Time](https://docs.aws.amazon.com/storagegateway/latest/vgw/MaintenanceTimeSync-hyperv.html)。

**系统时间管理**选项在托管于 Amazon EC2 实例上的网关中不可用。为确保 Amazon EC2 网关能够正确地同步时间，请确认 Amazon EC2 实例可以通过端口 UDP 和 TCP 123 连接到以下 NTP 服务器池列表：
+ 0.amazon.pool.ntp.org
+ 1.amazon.pool.ntp.org
+ 2.amazon.pool.ntp.org
+ 3.amazon.pool.ntp.org

### 检查 HTTP 代理并确认关联的安全组设置
<a name="w2ab1c40c15c11c11"></a>

在激活之前，请检查您是否在本地网关 VM 上将 Amazon EC2 上的 HTTP 代理配置为端口 3128 上的 Squid 代理。在此情况下，确认以下事项：
+ 连接到 Amazon EC2 上 HTTP 代理的安全组必须具有入站规则。此入站规则必须在端口 3128 上支持来自网关 VM 的 IP 地址的 Squid 代理流量。
+ 连接到 Amazon EC2 VPC 端点的安全组必须具有入站规则。这些入站规则必须在端口 1026-1028、1031、2222 和 443 上支持来自 Amazon EC2 上 HTTP 代理的 IP 地址的流量。

## 解决使用公有端点激活网关且同一 VPC 中有 Storage Gateway VPC 端点时出现的错误
<a name="w2ab1c40c15c13"></a>

要解决在同一 VPC 中有 Amazon Virtual Private Cloud（Amazon VPC）端点的情况下使用公有端点激活网关时出现的错误，请执行以下检查和配置。

### 确认 Storage Gateway VPC 端点上**启用私有 DNS 名称**设置未处于启用状态
<a name="w2ab1c40c15c13b5"></a>

如果**启用私有 DNS 名称**处于启用状态，则无法激活从该 VPC 到公有端点的任何网关。

**要禁用 DNS 名称选项，请执行以下操作：**

1. 打开 [Amazon VPC 控制台](https://console.aws.amazon.com//vpc/)。

1. 在导航窗格中，选择**端点**。

1. 选择 Storage Gateway VPC 端点。

1. 选择**操作**。

1. 选择**管理私有 DNS 名称**。

1. 对于**启用私有 DNS 名称**，清除**为此端点启用**。

1. 选择**修改私有 DNS 名称**来保存设置。