在 EC2 中使用 AWS S3 文件网关,为什么它只能在公共子网而不是私有子网中工作?

问题描述

无论我尝试在管理控制台中还是使用 terraform 创建 AWS S3 文件网关 (EC2),我都会遇到同样的问题......

如果我在公共子网中启动 EC2 实例,则会创建网关。如果我尝试在私有子网中启动网关(使用 NAT,所有端口都打开和打开),它将无法工作。我明白了……

HTTP ERROR 500

如果我使用管理控制台,我正在运行 VPN 并且能够 ping 实例的私有 IP。这与云 9 实例上的 terraform 中的错误代码相同,它也能够 ping 实例。

由于我打算与 NFS 共享 S3 存储桶,因此实例驻留在私有子网中很重要。我刚开始尝试 AWS S3 文件网关,我已经阅读了文档,但没有明确说明如何执行此操作以及为什么私有子网会有所不同,因此如果您有任何我可以查看的指示,我我很想知道!

对于任何进一步的参考(不是真的需要),我在 terraform 中的测试主要基于这个 github 存储库: https://github.com/davebuildscloud/terraform_file_gateway/tree/master/terraform

解决方法

我无法让 AWS 控制台测试工作,但我意识到我的 Terraform 测试做得很差 - 我错误地跳过了一个依赖项,该依赖项正在建立与 Cloud 9 实例的 VPC 对等连接。一旦我确定它有效。我仍然很想知道需要什么才能让它通过管理控制台工作......