无法从 Amazon Lightsail 建立 VPC 对等连接

Mic*_*bot 9 amazon-web-services amazon-vpc amazon-lightsail

AWS 有一个新的准系统 VPS 产品 Lightsail,它有点像 EC2-Lite —— 非常轻巧 —— 只提供几个固定大小的实例类、简化的定价和很少的选项,以及]它自己的极简主义控制台,正如我在 Lightsail 和 EC2 有什么区别?.

有关此服务的所有内容都已简化,并且在某种程度上与 AWS 有所不同,但实际上并非如此。它是您 AWS 账户的一部分,如果您注册,并且...

Amazon Lightsail 可以查看并连接到其他 AWS 资源,例如 Amazon RDS 数据库或 Amazon Aurora。在此页面上,您可以尝试将您的 Lightsail VPC 与您的 AWS VPC 对等。例如,您可能希望将数据层与应用程序分开。

https://lightsail.aws.amazon.com/ls/webapp/account

注意悲观情绪。“你可以尝试对等。” 就好像他们预料到了这个问题一样。

顺便说一下,Lightsail 实例确实具有通常的 EC2 元数据端点,并且实际上是 t2 实例,位于您在 AWS 控制台中看不到的“隐形”VPC 中。我会遇到这个麻烦,因为它们确实有一些有趣的用例,尽管它们有局限性(例如对 Internet 带宽的合理允许)。那么,您如何启用与现有 VPC 的对等互连?

这是一个复选框。没有选项,只需单击“启用 VPC 对等互连”。

您的 VPC 对等连接失败。

您可以尝试再次启用对等互连。如果您仍然无法使用 Lightsail 资源对等 VPC,请联系客户支持。

我又试了几次,在几个小时的过程中,仍然......没有骰子,没有诊断输出,什么都没有。

检查显而易见的事情,例如验证区域中现有 VPC 的 CIDR 块与我的测试 Lightsail 实例似乎所在的 VPC 的 CIDR 块都不冲突的事实,并尝试在以身份登录时对等 VPC根用户而不是 IAM 用户,什么也没有出现……我什至在第二个(现有)AWS 账户上尝试过,但它也没有在那里工作。同样的错误。

为什么这不起作用?在尝试从 Lightsail 设置 VPC 对等之前,我还需要在 AWS 方面做些什么吗?

此外,如果我在该区域有多个 VPC,我该如何选择隐藏的 Lightsail VPC 将与哪些 VPC 对等?这方面的文档似乎很少……这似乎与 Lightsail 的明显设计理念一致——它的选项很少,几乎不需要文档。

Mic*_*bot 13

显然,您实际上无法选择 Lightsail 将尝试与哪个 VPC 对等——它想与您的默认 VPC对等

启用 VPC 对等后,您可以使用其私有 IP 寻址默认 AWS VPC 中的其他 AWS 资源。

https://amazonlightsail.com/docs/#faq

我不知道是我最初忽略了这一点,还是后来将其添加到文档中。这是一段的最后一句话,我可能只是忽略了它。在我有默认 VPC 的地区,我不使用它,更喜欢从头开始“推出我自己的”。

默认 VPC不仅仅是您选择为“默认”的VPC,而是指每个区域中最初由 VPC 基础设施创建、预配置的特定 VPC

问题是,您可能不会在每个区域都拥有其中一个……如果您在相关 Lightsail 区域中没有默认 VPC(最初编写此内容时, LightSail 仅在 us-east-1 可用;它随后在许多其他 AWS 区域推出)。如果这描述了您的情况,您可以自行解决,或者您可能需要联系支持人员。无论哪种方式,默认 VPC 似乎都是 Lightsail 将与之对等的唯一 VPC。

对于相对较新的 AWS 账户,没有默认 VPC 应该不是问题:

如果您是在 2013 年 12 月 4 日之后创建的 AWS 账户,则它仅支持 EC2-VPC。在这种情况下,您将在每个 AWS 区域中拥有一个默认 VPC。

http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html

我最初测试的两个帐户都比那个旧得多。

我今天创建了一个新的 AWS 账户,毫不奇怪,Lightsail VPC 对等连接在第一次尝试中就成功了。

选择适当的区域后,如果您在 AWS 控制台中的“EC2 仪表板”页面(位于屏幕的右上角)显示...

支持的平台

EC2

专有网络

...并且那里没有提到默认 VPC,那么这就是您所缺少的。您可能(截至 2017 年 7 月 27 日)能够自己创建默认 VPC。否则,您可能需要联系 AWS 支持,请求他们重新配置您的账户,以便您拥有一个默认 VPC,这是创建您自己的 VPC 之前所需的标准流程。一旦您在该区域拥有默认 VPC,一切都应该顺利。

但是有一些问题,因此在尝试创建默认 VPC 或联系支持人员之前,您需要采取额外的步骤来准备您的帐户。

问:我真的想为我现有的 EC2 账户使用一个默认 VPC。那可能吗?

是的,但是,如果您在该区域中没有该账户的 EC2-Classic 资源,我们只能为默认 VPC 启用现有账户。此外,您必须终止该区域中所有非 VPC 配置的弹性负载均衡器、Amazon RDS、Amazon ElastiCache 和 Amazon Redshift 资源。为默认 VPC 配置您的账户后,所有未来资源启动,包括通过 Auto Scaling 启动的实例,都将放置在您的默认 VPC 中。要请求使用默认 VPC 设置您的现有账户,请联系 AWS Support。我们将审查您的请求以及您现有的 AWS 服务和 EC2-Classic 的存在,以确定您是否有资格使用默认 VPC。

https://aws.amazon.com/vpc/faqs/#Default_VPCs

这就是问题所在——您将永久失去对 EC2-Classic 的访问权——但如果您问我,这并不是真正的牺牲。

因此,如果您的账户仍然具有“EC2 Classic”访问权限并且默认 VPC 明显不存在,那么解决方案是迁移并终止任何旧的 EC2 Classic(非 VPC)实例,以及在其上运行的任何服务EC2 Classic 的顶部(例如在 VPC 之外运行的 RDS),删除非 VPC 弹性 IP、安全组等支持实体可能不是一个坏主意。然后您可以联系 AWS 并将您的帐户重新配置为“EC2-VPC”-仅在该区域中,并且您来自 Lightsail 的对等连接应该会成功。

我说“应该成功”是因为我仍在等待 AWS Support“批准”我请求的账户更改。票证上的最后一个注释说我的请求“仍然打开”,这个过程是......

通常很快,但在某些情况下,我们的服务团队可能需要 24 - 48 小时来审核和批准此类请求

成功。几天后,AWS 支持重新配置了我的账户。我现在在 us-east-1 区域有一个默认 VPC,单击“启用 VPC 对等互连”旁边的框现在可以按预期工作。在 VPC 控制台中,我现在可以看到我的默认 VPC 与为 Lightsail 分配的“隐形”VPC 对等。

请注意,如上所述,您不需要付费支持计划来请求 AWS 更新您的账户。您实际上并不是在寻求技术支持。您可以将此作为帐户支持请求提交。

如果您想访问默认 VPC 之外的区域中其他 VPC 中的资源,则至少目前不支持本机支持。对于 AWS 而言,作为托管服务提供会更加复杂,因为它们控制您的默认 VPC 和 Lightsail VPC 的基本配置,但不控制任何其他 VPC。

VPC 对等连接不支持传输流量,因此这不仅仅是将其他 VPC 对等到您的默认 VPC 并以这种方式连接的问题。目前,您需要部署 TCP 或 HTTP 代理服务器(例如 HAProxy,类似于此配置,但指向目标 VPC 中的服务或类似代理作为后端)或提供私有到私有源和目标网络的实例默认 VPC 中的地址转换 (NAT),以便弥合差距并通过附加对等连接跨越到任何其他 VPC。性能应该非常出色,但一定要熟悉对等 VPC 流量的定价。Lightsail 文档和 EC2 文档在对等流量的带宽成本方面似乎相互不一致。