AWS攻略——使用中转网关(Transit Gateway)连接同区域(Region)VPC

文章目录

  • 环境准备
    • 创建VPC
  • 配置中转网关
    • 给每个VPC创建Transit Gateway专属挂载子网
    • 创建中转网关
    • 创建中转网关挂载
    • 修改VPC的路由
  • 验证
    • 创建业务Private子网
    • 创建可被外网访问的环境
    • 测试子网连通性
      • Public子网到Private子网
      • Private子网到Private子网
  • 知识点
  • 参考资料

在《AWS攻略——Peering连接VPC》中,我们使用Peering打通了不同VPC。如果需要打通多个VPC,则需要建立多个Peering,如下图:
在这里插入图片描述
虽然Peering非常强大,可以直接跨账户、跨区域连接VPC。但是如果连接的VPC数量比较多的情况下,建立的Peering数量也会增加。
在一个场景下——如果不同VPC在同一区域中,则可以只使用一个中转网关来实现连接。
在这里插入图片描述

环境准备

创建VPC

我们选择在“ap-southeast-2”区域中创建,具体的创建过程见《AWS攻略——创建VPC》
在这里插入图片描述

名称IPv4/CIDRIP地址范围
test-vpc-sydney-1100.0.1.0/24100.0.1.0~100.0.1.255
test-vpc-sydney-2100.0.2.0/24100.0.2.0~100.0.2.255
test-vpc-sydney-3100.0.3.0/24100.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/CIDRIP地址范围所属VPC
test-vpc-sydney-1-tgw-subnet-2aap-southeast-2a100.0.1.0/28100.0.1.0~100.0.1.15test-vpc-sydney-1
test-vpc-sydney-1-tgw-subnet-2bap-southeast-2b100.0.1.16/28100.0.1.16~100.0.1.31test-vpc-sydney-1
test-vpc-sydney-2-tgw-subnet-2aap-southeast-2a100.0.2.0/28100.0.2.0~100.0.2.15test-vpc-sydney-2
test-vpc-sydney-2-tgw-subnet-2bap-southeast-2b100.0.2.16/28100.0.2.16~100.0.2.31test-vpc-sydney-2
test-vpc-sydney-3-tgw-subnet-2aap-southeast-2a100.0.3.0/28100.0.3.0~100.0.3.15test-vpc-sydney-3
test-vpc-sydney-3-tgw-subnet-2bap-southeast-2b100.0.3.16/28100.0.3.16~100.0.3.31test-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/CIDRIP地址范围所属VPC
test-vpc-sydney-1-private-subnet-2aap-southeast-2a100.0.1.32/28100.0.1.32~100.0.1.47test-vpc-sydney-1
test-vpc-sydney-1-private-subnet-2bap-southeast-2b100.0.1.48/28100.0.1.48~100.0.1.63test-vpc-sydney-1
test-vpc-sydney-2-private-subnet-2aap-southeast-2a100.0.2.32/28100.0.2.32~100.0.2.47test-vpc-sydney-2
test-vpc-sydney-2-private-subnet-2bap-southeast-2b100.0.2.48/28100.0.2.48~100.0.2.63test-vpc-sydney-2
test-vpc-sydney-3-private-subnet-2aap-southeast-2a100.0.3.32/28100.0.3.32~100.0.3.47test-vpc-sydney-3
test-vpc-sydney-3-private-subnet-2bap-southeast-2b100.0.3.48/28100.0.3.48~100.0.3.63test-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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/247583.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于SSM的老年公寓信息管理的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

pip命令详解

pip命令介绍 pip是由Ian Bicking在2008年提出的,他将pyinstall重命名为pip。名称pip是首字母缩写词,全称为“Package Installer for Python”。自Python3的3.4版本以及Python2的2.7.9版本开始,pip被直接包括在Python的安装包内,成…

树_二叉树所有路劲

//给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。 // // 叶子节点 是指没有子节点的节点。 // // 示例 1: // // //输入:root [1,2,3,null,5] //输出:["1->2->5&quo…

Liunx高级程序设计-Shell -1

引入 完成以下任务 : 判断用户家目录下(~ )下面有没有一个叫 test 的文件夹 如果没有,提示按 y 创建并进入此文件夹,按 n 退出 如果有,直接进入,提示请输入一个字符串,并按此字符串创建…

14、策略模式(Strategy Pattern)

策略模式(Strategy Pattern)为同一个行为定义了不同的策略,并为每种策略都实现了不同的方法。在用户使用的时候,系统根据不同的策略自动切换不同的方法来实现策略的改变。同一个策略下的不同方法是对同一功能的不同实现&#xff0…

分布式搜索引擎elasticsearch(一)

5.1 初始elasticsearch elasticsearch是一款非常强大的开源搜索引擎,可以帮助我们从海量数据中快速找到需要的内容。 elasticsearch是elastic stack的核心,负责存储、搜索、分析数据。 5.1.1正向索引 5.1.2elasticsearch采用倒排索引: 文档(document):每条数据就是一个…

【深度学习】回归模型相关重要知识点总结

回归分析为许多机器学习算法提供了坚实的基础。在这篇文章中,我们将总结 10 个重要的回归问题和5个重要的回归问题的评价指标。 一、线性回归的假设是什么 线性回归有四个假设: 线性:自变量(x)和因变量(y&…

Elasticsearch:评估 RAG - 指标之旅

作者:Quentin Herreros,Thomas Veasey,Thanos Papaoikonomou 2020年,Meta发表了一篇题为 “知识密集型NLP任务的检索增强生成” 的论文。 本文介绍了一种通过利用外部数据库将语言模型 (LLM) 知识扩展到初始训练数据之外的方法。 …

SpringBoot药品进销存管理系统(诊所管理系统)(乡村药店管理系统)

SSM毕设分享 SpringBoot药品进销存管理系统(诊所管理系统)(乡村药店管理系统) 1 项目简介 Hi,各位同学好,这里是郑师兄! 今天向大家分享一个毕业设计项目作品【SpringBoot药品进销存管理系统(诊所管理系统)(乡村药店管理系统)】 师兄根据实…

简单了解传输层协议之TCP和UDP

目录 一、什么是端口号? 二、TCP协议 2.1 TCP报文格式 2.2 三次握手 2.3 四次挥手 2.4 窗口流量控制 三、UDP协议 3.1 UDP报文格式 3.4 传输过程 一、什么是端口号? 我们自己的一台电脑上有时可能会同时运行多个进程软件来进行上网。那么当网络上的服务器响应我们电…

Redis持久化及常见问题解决

持久化缓存雪崩缓存穿透缓存击穿缓存预热 持久化 Redis的储存形式:一份在内存、一份在磁盘。内存的是最新的;磁盘里的会隔一段时间更新。 Redis持久化方式: RDB:快照方式;将某⼀个时刻的内存数据,以⼆进制的⽅式写⼊…

Java---异常

文章目录 1. 异常概述2. try...catch3. Throwable成员方法4. 编译时异常和运行时异常区别5. 异常处理之throws6. 自定义异常7. throws和throw的区别 1. 异常概述 1. 异常:就是程序中出现了不正常的情况。 2. Error:严重问题,不需要处理。Exce…