在aws上实现不同区域的vpc对等链接
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在aws上实现不同区域的vpc对等链接相关的知识,希望对你有一定的参考价值。
参考技术A在区域A的vpc里的私有子网中的服务器(不能被互联网访问),去访问另外一个区域B的的私有网络的服务器(同样不能被互联网访问)这时候,就需要 对等链接
说明
说明
说明
对等链接创建完后,还不能直接通信,需要各有条路由互相指向该如何访问
说明
3、在路由详情中,选择tab 路由 点击 编辑路由
4、添加路由,目标网段填指向 俄亥俄州 的vpc网段 192.168.0.0/16 , 目标方式,选 peering connection , 然后选刚才创建的 对等链接
5、回到路由详情,在tab 子网关联 中,点击编辑子网关联,勾选vpc下的私有子网
6、切换到 俄亥俄州 做同样操作
我们最终是要访问 加利佛尼亚北部 vpc中的子网服务器,需要创建个安全组,仅允许 SSH 和 ICMP 访问
在两个区域的vpc中,私有网络下,各创建一台EC2, 俄亥俄州 的vpc还需要创建一台公网的 堡垒机 ,不然私网的EC2就进不去了
说明
从 俄亥俄州 的vpc中的私有子网中的ec2,ping 加利佛尼亚北部 vpc的私有子网中的ec2, 也就是 192.168.0.0 网段ping 172.16.0.0 网段
两个区域的ec2都在私有子网内,互联网是访问不了的,所以需要通过 堡垒机 访问其中一台ec2。
本文重点是在实现vpc间通过对等链接来时间的访问,很多操作是基于 创建vpc私有子网 的操作上,所以需要参考我的另外一篇文章 《在AWS上搭建VPC三层架构的私有网络》 。最后可能会ping通的情况,这时候就需要检查两个区域的路由,确定指向和网段没有填写错误
AWS攻略——使用中转网关(Transit Gateway)连接同区域(Region)VPC
文章目录
在《AWS攻略——Peering连接VPC》中,我们使用Peering打通了不同VPC。如果需要打通多个VPC,则需要建立多个Peering,如下图:
虽然Peering非常强大,可以直接跨账户、跨区域连接VPC。但是如果连接的VPC数量比较多的情况下,建立的Peering数量也会增加。
在一个场景下——如果不同VPC在同一区域中,则可以只使用一个中转网关来实现连接。
环境准备
创建VPC
我们选择在“ap-southeast-2”区域中创建,具体的创建过程见《AWS攻略——创建VPC》
名称 | IPv4/CIDR | IP地址范围 |
---|---|---|
test-vpc-sydney-1 | 100.0.1.0/24 | 100.0.1.0~100.0.1.255 |
test-vpc-sydney-2 | 100.0.2.0/24 | 100.0.2.0~100.0.2.255 |
test-vpc-sydney-3 | 100.0.3.0/24 | 100.0.3.0~100.0.3.255 |
我们给每个VPC分配的IP/CIDR不会产生覆盖,这样也便于后续其他设置。
配置中转网关
给每个VPC创建Transit Gateway专属挂载子网
这步不是必须,但是符合AWS最佳实践。
因为Transit Gateway和子网关联,而子网和可用区(Available Zone)一一对应,所以我们将设计的VPC跨越多个可用区,以保证案例完整性。
下图是test-vpc-sydney-1下Transit Gateway专属挂载子网创建案例
子网名称 | 可用区(region) | IPv4/CIDR | IP地址范围 | 所属VPC |
---|---|---|---|---|
test-vpc-sydney-1-tgw-subnet-2a | ap-southeast-2a | 100.0.1.0/28 | 100.0.1.0~100.0.1.15 | test-vpc-sydney-1 |
test-vpc-sydney-1-tgw-subnet-2b | ap-southeast-2b | 100.0.1.16/28 | 100.0.1.16~100.0.1.31 | test-vpc-sydney-1 |
test-vpc-sydney-2-tgw-subnet-2a | ap-southeast-2a | 100.0.2.0/28 | 100.0.2.0~100.0.2.15 | test-vpc-sydney-2 |
test-vpc-sydney-2-tgw-subnet-2b | ap-southeast-2b | 100.0.2.16/28 | 100.0.2.16~100.0.2.31 | test-vpc-sydney-2 |
test-vpc-sydney-3-tgw-subnet-2a | ap-southeast-2a | 100.0.3.0/28 | 100.0.3.0~100.0.3.15 | test-vpc-sydney-3 |
test-vpc-sydney-3-tgw-subnet-2b | ap-southeast-2b | 100.0.3.16/28 | 100.0.3.16~100.0.3.31 | test-vpc-sydney-3 |
创建中转网关
在创建页面输入名字和ASN号即可,其他都选择默认。
创建中转网关挂载
给每个VPC创建挂载。这儿就会用到我们之前创建的中转网关专属挂载子网。我们在一个可用区分配了一段16个IP的子网,让中转网关在其中创建挂载的子网。这样这个VPC下的该可用区内网络都会被打通——即该可用区下其他子网也会被打通。
下图是给名字为test-vpc-sydney-1的VPC创建的挂载。其他两个VPC做相似的操作。
修改VPC的路由
到每个VPC的主路由下,将本地地址和中转网关打通。
下图是针对test-vpc-sydney-1的操作,其他VPC也是类似。
验证
创建业务Private子网
以test-vpc-sydney-1为例,如下图操作
子网名称 | 可用区(region) | IPv4/CIDR | IP地址范围 | 所属VPC |
---|---|---|---|---|
test-vpc-sydney-1-private-subnet-2a | ap-southeast-2a | 100.0.1.32/28 | 100.0.1.32~100.0.1.47 | test-vpc-sydney-1 |
test-vpc-sydney-1-private-subnet-2b | ap-southeast-2b | 100.0.1.48/28 | 100.0.1.48~100.0.1.63 | test-vpc-sydney-1 |
test-vpc-sydney-2-private-subnet-2a | ap-southeast-2a | 100.0.2.32/28 | 100.0.2.32~100.0.2.47 | test-vpc-sydney-2 |
test-vpc-sydney-2-private-subnet-2b | ap-southeast-2b | 100.0.2.48/28 | 100.0.2.48~100.0.2.63 | test-vpc-sydney-2 |
test-vpc-sydney-3-private-subnet-2a | ap-southeast-2a | 100.0.3.32/28 | 100.0.3.32~100.0.3.47 | test-vpc-sydney-3 |
test-vpc-sydney-3-private-subnet-2b | ap-southeast-2b | 100.0.3.48/28 | 100.0.3.48~100.0.3.63 | test-vpc-sydney-3 |
创建可被外网访问的环境
我们可以像《AWS攻略——Peering连接VPC》中的方案,通过SSH登录其他VPC上的机器,以确认网络的连通性。于是会先建立一个Public子网,然后在其中放置一台EC2。
我们在test-vpc-sydney-3的ap-southeast-2b可用区下创建一个共有子网test-vpc-sydney-3-public-subnet-2b(100.0.3.64/28)。因为这个可用区下的test-vpc-sydney-3-private-subnet-2b子网已经挂载到中转网关,所以新创建的子网也是跨VPC连通的。
具体创建过程可以见《AWS攻略——子网》。
测试子网连通性
Public子网到Private子网
为了区别于Public子网(test-vpc-sydney-3-public-subnet-2b)所在的VPC(test-vpc-sydney-3),我们在test-vpc-sydney-1-private-subnet-2b子网下创建EC2。具体创建过程见《AWS攻略——子网》。
这儿需要注意的是,我们对test-vpc-sydney-3-public-subnet-2b设置的独立的路由配置,需要将0.0.0.0/0和互联网网关打通。其他两个VPC的IPv4/CIDR重定向到中转网关。
Private子网到Private子网
这次我们在test-vpc-sydney-2-private-subnet-2a下创建实例,既跨VPC也跨可用区。
这次没有做路由表的修改,因为我们在创建挂载点时,路由表会自动添加所有地址到中转网关的路由项。
知识点
- 一个中转网关可以连接一个区域内多个VPC
- 中转网关需要挂载在一个子网下。我们只要在一个可用区内分配一个子网用于挂载中转网关,就可以让这个可用区内其他子网都和中转网关连通。
参考资料
- https://docs.aws.amazon.com/zh_cn/vpc/latest/tgw/transit-gateway-nat-igw.html
- https://docs.aws.amazon.com/zh_cn/vpc/latest/tgw/what-is-transit-gateway.html
以上是关于在aws上实现不同区域的vpc对等链接的主要内容,如果未能解决你的问题,请参考以下文章
在 terraform 失败的不同 vpc 中创建时出现 rds 副本错误
AWS攻略——使用中转网关(Transit Gateway)连接不同区域(Region)VPC