从NAT实例迁移到NAT网关在现有实例上失败

我有一个很久以前在NAT网关之前创build的VPC。 像许多设置一样,我创build了一个NAT实例来路由出站stream量。 昨天我的NAT实例崩溃了。 我能够重新启动,但它确实造成了一些头疼,所以我决定尝试迁移到NAT网关。

我不在乎出站IP是否相同。 作为一个testing,我创build了一个新的VPC与一个实例,以确保我得到了正确的设置。 然后我在现有的VPC中创build了网关。 然后,我交换我的主要路由表使用它作为网关,而不是实例。

我的设置是两个子网,一个公用指向一个Internet网关,一个指向NAT网关。 我在一个实例上使用OpenVPN来访问我的私有实例。

但是,当我交换到NAT网关,我不能再路由现有的实例出站,但是当我创build一个新的实例工作正常。 问题是相反的。 如果我设置了与NAT网关配合使用的新实例的子网,则使用NAT实例将无法再看到外部世界。

我没有改变实例本身的路由表,只有在Web控制台中的路由。

我也尝试(与我的testing实例)重新启动networking,然后重新启动,但都没有帮助。

我已经阅读了一些迁移指南,似乎表明这应该工作,显然路线改变,但之后不工作。 有没有一个魔术技巧,或者我将不得不重新创build我的实例与NAT网关工作?

编辑:在这个另一个皱纹。 一时兴起,我改变了我的testing实例的安全组(我创build时使用了默认的)。 使用具有相同出站规则的现有安全组使实例能够连接,但将其交换回原始组,并且无法连接。

编辑2:更改我的现有实例之一的安全组似乎不工作。 更改安全组似乎只适用于我设置为testing的新实例。

如上所示,这是我的设置的一些屏幕:

这是我的路线表。 我添加的一个名为testing,它路由到NAT网关。 我只有一个子网,我有一个实例作为testing。 列表中的第二个是所有其他子网路由到的默认路由,使用NAT实例。

路由表

这是我的private-subnet-1e路由到NAT网关的validation:

子网1e路由

并validation我的一个生产服务器子网使用主网关通过NAT实例路由:

实例路由

testing实例的安全组出站规则:(一切)

在这里输入图像说明

prod实例的安全组,如果更改表,则无法路由。 同样,一切都是允许的

在这里输入图像说明