AWS 有一个新的准系统 VPS 产品 Lightsail,它有点像 EC2-Lite - 非常轻量级 - 提供只有几个固定大小的实例类、简化的定价和很少的选项,以及]它自己非常简约控制台,正如我在 Lightsail 和 EC2 之间的区别是什么?.
关于这项服务的一切都被简化了,它的姿态有点与 AWS 分开,但实际上并非如此。它是您的 AWS 账户的一部分,如果您注册它,并且...
Amazon Lightsail 可以查看并连接到其他 AWS 资源,例如 Amazon RDS 数据库或 Amazon Aurora。在此页面上,您可以尝试将您的 Lightsail VPC 与您的 AWS VPC 对等。例如,您可能希望将数据层与应用程序分开。
注意悲观情绪。“你可以试试看。” 就好像他们预料到了这个问题。
顺便说一句,Lightsail 实例确实具有通常的 EC2 元数据端点,实际上是 t2 实例,位于您在 AWS 控制台中看不到的“隐形”VPC 中。我会遇到这个麻烦,因为它们确实有一些有趣的用例,尽管它们有局限性(例如对 Internet 绑定带宽的合理允许)。那么,您如何启用与现有 VPC 的对等互连?
这是一个复选框。没有选项,只需单击“启用 VPC 对等互连”。
您的 VPC 对等连接失败。
您可以尝试再次启用对等互连。如果您仍然无法将您的 VPC 与 Lightsail 资源对等,请联系客户支持。
我又试了几次,在几个小时的过程中,仍然……没有骰子,没有诊断输出,什么都没有。
检查显而易见的事情,例如验证该区域中现有 VPC 的 CIDR 块均不与我的测试 Lightsail 实例所在的 VPC 的 CIDR 块冲突这一事实,并在以身份登录时尝试对等 VPC根用户而不是 IAM 用户,什么也没有出现……我什至在第二个(现有的)AWS 账户上尝试了它,但它在那里也不起作用。同样的错误。
为什么这不起作用?在尝试从 Lightsail 设置 VPC 对等互连之前,我还需要在 AWS 端做些什么吗?
此外,如果我在该区域中有多个 VPC,我如何选择隐藏的 Lightsail VPC 将与哪些 VPC 对等?这方面的文档似乎很少……这似乎与 Lightsail 的明显设计理念一致——它的选项太少,以至于需要文档的东西很少。
显然,您实际上无法选择 Lightsail 将尝试与哪个 VPC 对等 - 它想与您的默认 VPC 对等。
我不知道我最初是否忽略了这一点,或者是否随后将其添加到文档中。这是一段的最后一句话,我可能只是忽略了它。在我有默认 VPC 的地区,我不使用它,而是更喜欢从头开始“自己动手”。
默认 VPC不仅仅是您选择为“默认”的 VPC,而是指每个区域中的特定 VPC,该 VPC 最初由 VPC 基础设施创建,预先配置。
问题是,您可能不会在每个区域都拥有其中一个……如果您在相关 Lightsail 区域中没有默认 VPC(最初编写时, LightSail 仅在 us-east-1 可用;随后在许多其他 AWS 区域推出)。如果这描述了您的情况,您可以自行解决,或者您可能需要联系支持人员。无论哪种方式,默认 VPC 似乎都是 Lightsail 将与之对等的唯一 VPC。
对于相对较新的 AWS 账户,没有默认 VPC 应该不是问题:
我最初测试的两个帐户都比这要旧得多。
我今天创建了一个新的 AWS 账户,毫不奇怪,Lightsail VPC 对等互连在第一次尝试中就成功了。
选择适当的区域后,如果 AWS 控制台中的“EC2 仪表板”页面在屏幕右上角显示...
...并且那里没有提到默认 VPC,那么这就是您所缺少的。您可能(截至 2017年 7 月 27 日)能够自己创建默认 VPC。否则,您可能需要联系 AWS 支持以请求他们重新配置您的账户,以便您拥有默认 VPC,这是在创建您自己的能力之前所需的标准流程。在该区域拥有默认 VPC 后,一切都会好起来的。
但是有一点问题,因此您需要采取额外步骤来准备您的帐户,然后再尝试创建默认 VPC 或联系支持人员。
这就是问题所在——您将永久失去对 EC2-Classic 的访问权限——但如果您问我,这并不是真正的牺牲。
因此,如果您的账户仍然具有“EC2 Classic”访问权限并且默认 VPC 明显不存在,那么解决方案是迁移并终止任何旧的 EC2 Classic(非 VPC)实例以及在其上运行的任何服务EC2 Classic 的顶部(例如在 VPC 之外运行的 RDS),删除支持实体(如非 VPC 弹性 IP、安全组等)可能不是一个坏主意。然后您可以联系 AWS 并将您的帐户重新配置为“EC2-VPC”- 仅在该区域中,您来自 Lightsail 的对等连接应该会成功。
我说“应该成功”是因为我仍在等待 AWS Support “批准”我请求的账户更改。票上的最后一条说明说我的请求“仍然开放”,这个过程是......成功。几天后,AWS 支持重新配置了我的账户。我现在在 us-east-1 区域中有一个默认 VPC,单击“启用 VPC 对等互连”旁边的框现在可以按预期工作。在 VPC 控制台中,我现在可以看到我的默认 VPC 与分配给 Lightsail 的“隐形”VPC 对等。
请注意,您不需要付费支持计划来请求 AWS 更新您的账户,如上所述。您实际上并不是在寻求技术支持。您可以将此作为帐户支持请求提交。
如果您想访问该区域中除默认 VPC 以外的其他 VPC 中的资源,则至少目前不支持本机。这对于 AWS 作为托管服务提供会更加复杂,因为它们控制您的 Default VPC 和 Lightsail VPC 的基本配置,但不控制任何其他 VPC。
VPC 对等连接不支持传输流量,因此不仅仅是将其他 VPC 对等连接到您的默认 VPC 并以这种方式连接。目前,您需要部署 TCP 或 HTTP 代理服务器(例如 HAProxy,类似于此配置,但指向目标 VPC 中的服务或类似代理作为后端)或提供私有到私有源和目标网络的实例默认 VPC 中的地址转换 (NAT),以弥合差距并通过额外的对等连接跨入任何其他 VPC。性能应该非常出色,但请务必熟悉对等 VPC 流量的定价。关于对等流量的带宽成本,Lightsail 文档和 EC2 文档似乎彼此不一致。