为位于 VPC 内的 AWS ElasticSearch 域创建一个 public 端点

Create a public endpoint to AWS ElasticSearch domain which is inside a VPC

我需要从 Internet 访问 VPC 内的 AWS ElasticSearch (AES) 域,以便我可以从本地计算机进行 read/write 测试。最终,代码将在 VPC 内的 EC2 实例上 运行,但现在我需要直接访问。如果相同的代码在 VPC 外部和内部都 运行 是最理想的(就像我们对 DynamoDB 所做的那样),但我们可能没有那么幸运。

因此,我想创建一个 public 端点来访问 VPC 内的 AES 域。 由于我有 AES 内部端点名称和 ENI 连接到它,我想我可以只将弹性 IP 地址连接到 ENI,但这是不允许的——我假设它是因为内部 IP 地址可能会改变。

或者,我可以将路线 table 中的路线从 IGW(互联网网关)映射到内部地址。但这将再次连接到内部 IP 地址,这很糟糕。

我希望我可以使用 Route53 将面向外部的域名映射到其中。但这似乎有点矫枉过正。

有没有办法将互联网地址映射到 AES 域名?

Is there way to map an address from the internet in to the AES domain name?

遗憾的是,没有直接的方式。您必须在您的家和 VPC 或其他类型的代理服务器之间设置 VPN 连接。但是,出于测试和开发目的,通常使用 SSH 隧道 就足够了。 AWS 文档的 Testing VPC Domains 中解释了如何设置 SSH 隧道。

还有许多其他手册和教程介绍如何操作,例如: