我的情况是这样的:我们是一家正在扩张的年轻创业公司,我们决定尝试 Mesosphere DCOS 社区版。社区版使用模板通过 AWS CloudFormation 部署一组主服务器、从服务器和 LB。(我们的模板)(编辑模板以使用现有的 VPC 会导致错误:模板验证错误:模板格式错误Unresolved resource dependencies [<target_vpc_id>] in the Resources block of the template
:)
社区版有两个限制(我似乎找不到这些限制的记录位置):
- 它不能部署在现有的 VPC 上。
- 它为每个新部署创建一个单可用区 VPC。
现在,我们希望使这个新集群能够与 RDS 通信。显然,我们遇到了问题:
- RDS 实例无法部署在单可用区 VPC 上
- RDS VPC 可以与 DCOS VPC 对等,但由于 RDS 实例只有一个端点(没有静态 IP),因此必须从其他 VPC 将其解析为本地地址而不是全局 IP。
解决这种情况的最佳方法是什么?
编辑:因此,我添加了一个仅私有的 RDS 实例,并且它的端点现在可以从任何地方正确解析为其本地 IP 地址。现在,我的 DCOS 集群位于 VPC 中,我们称之为10.0.0.0/16
,VPC-A
而我的 RDS 实例位于 中VPC-B
,即172.31.0.0/16
。
现在,为了实现两个网络之间的通信,我在VPC-A
和之间添加了 VPC 对等VPC-B
。
接下来,我将路由设置VPC-B
为:目的地:10.0.0.0/16 目标:<vpc_peering_id>
并以VPC-A
如下格式显示:目的地:172.31.0.0/16 目标:<vpc_peering_id>
入站所有流量中目标 RDS 实例的安全组设置VPC-B
所有端口 CIDR: 10.0.0.0/16
源实例的安全组设置VPC-A
:出站:所有流量所有端口 CIDR:0.0.0.0/0
但话又说回来,我仍然无法从VPC-A
到建立任何联系VPC-B
。
我还检查了属于以下所有实例的安全组设置VPC-A
:允许所有出站流量。并且:端口上允许VPC-B
所有来自的传入流量。10.0.0.0/16
3306
这里发生了什么?