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

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

AWS 推出了一款新的 VPS 产品 Lightsail,它是一种 EC2-Lite(非常轻量级)产品,仅包含几个固定大小的实例类、简化的定价和极少的选项,以及] 它自己的非常简约的控制台,正如我在Lightsail 和 EC2 有什么区别?

这项服务的一切都经过了简化,而且它看起来与 AWS 有些不同,但实际上并非如此。如果您注册了 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 内。我之所以会这样做,是因为尽管它们存在局限性(例如,互联网绑定带宽的合理限额令人惊讶),但它们确实有一些有趣的用例。那么,如何启用与现有 VPC 的对等连接?

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

您的 VPC 对等连接失败。

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

我又尝试了几次,花了几个小时,但仍然......没有骰子,没有诊断输出,什么都没有。

检查一些显而易见的事情,例如验证区域中现有 VPC 的 CIDR 块均不与我的测试 Lightsail 实例所在的 VPC 的 CIDR 块冲突,并尝试在以 root 用户而不是 IAM 用户身份登录时对等 VPC,结果一无所获……我甚至在第二个(现有)AWS 帐户上尝试过,但在那里也不起作用。同样的错误。

为什么这不起作用?在尝试从 Lightsail 设置 VPC 对等连接之前,我还需要在 AWS 端执行其他操作吗?

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

答案1

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

一旦启用 VPC 对等连接,您就可以使用其私有 IP 来寻址默认 AWS VPC 中的其他 AWS 资源。

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

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

默认 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-07-27)能够创建默认 VPC自己创建。如果失败,您可能需要联系 AWS 支持,要求他们重新配置您的账户,以便您拥有默认 VPC,这是在提供创建自己的 VPC 功能之前所需的标准流程。一旦您在该区域拥有默认 VPC,一切都会好起来。

但这有点麻烦,因此在尝试创建默认 VPC 或联系支持之前,您需要采取额外步骤来准备您的帐户。

问:我确实想要为我现有的 EC2 账户设置一个默认 VPC。可以吗?

可以,但是,如果您在该区域没有该账户的 EC2-Classic 资源,我们只能为该账户启用默认 VPC。此外,您必须终止该区域内所有非 VPC 配置的 Elastic Load Balancer、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 文档在对等流量的带宽成本方面似乎彼此不一致。

相关内容