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/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攻略——使用中转网关(Transit Gateway)连接同区域(Region)VPC
文章目录环境准备创建VPC配置中转网关给每个VPC创建Transit Gateway专属挂载子网创建中转网关创建中转网关挂载修改VPC的路由验证创建业务Private子网创建可被外网访问的环境测试子网连通性Public子网到Private子网Private子网到Private子网知识点参考资料在《AWS攻略——Peeri…...
Rouge | 自动文摘及机器翻译评价指标
tag:评价指标,摘要,nlp Rouge(Recall-Oriented Understudy for Gisting Evaluation),是评估自动文摘以及机器翻译的一组指标。它通过将自动生成的摘要或翻译与一组参考摘要(通常是人工生成的)进行比较计算,得出相应的分值&#x…...
【Python入门第十五天】Python字典
字典(Dictionary) 字典是一个无序、可变和有索引的集合。在 Python 中,字典用花括号编写,拥有键和值。 实例 创建并打印字典: thisdict {"brand": "Porsche","model": "911&q…...
java学习思路
基础概念:了解Java的基本概念,如Java虚拟机(JVM)、Java标准版(Java SE)、Java企业版(Java EE)等。了解Java的版本、发展历程以及Java应用场景。可以通过阅读Java官方文档、相关书籍、…...
MySQL操作数据库-------创建数据库
搭建好MySQL环境后,现在我们正式的进入到MySQL的学习当中,这篇文章讲述如何去创建MySQL数据库。 1. 使用CREATE DATABASE创建数据库 语法格式:CREATE DATABASE database_name eg.打开MySQL命令行,查看当前MySQL中存在的数据库 my…...
【十】深入理解redolog,undolog和binlog的底层原理
MySql系列整体栏目 内容链接地址【一】深入理解mysql索引本质https://blog.csdn.net/zhenghuishengq/article/details/121027025【二】深入理解mysql索引优化以及explain关键字https://blog.csdn.net/zhenghuishengq/article/details/124552080【三】深入理解mysql的索引分类&a…...
高频js手写题之实现数组扁平化、深拷贝、总线模式
前言 古人学问无遗力,少壮工夫老始成。纸上得来终觉浅,绝知此事要躬行。看懂一道算法题很快,但我们必须将这道题的思路理清、手写出来。 三道js手写题的思路和代码实现 数组扁平化 演示效果 将[1, [1, 2], [1, [2]]] 变成 [1, 1, 2, 1, 2] 第一种&…...
HTML介绍
文章目录一. HTML介绍二. 创建三. HTML结构四. 常见的标签五. 链接标签六. 图片标签七. 资源路径八. 列表标签九. 表格标签十. 表单标签十一. 表单提交一. HTML介绍 HTML: 超文本标记语言作用: 书写前端页面前端三大技术(三大标准): HTML: 结构标准 (页面中有什么内容)CSS: 样…...
【C++】string的9道OJ题
要么庸俗,要么孤独… 文章目录一、仅仅反转字母二、字符串中的第一个唯一字符(计数排序的思想)三、字符串相加(做好加进位的工作即可)四、把字符串转换成整数五、反转字符串中的单词 III六、字符串相乘(高…...
Odoo丨Odoo框架源码研读三:异常处理与定制化开发
Odoo丨Odoo框架源码研读三:异常处理与定制化开发 Odoo源码研读的第三期内容:异常处理与定制化开发。 *异常处理* Odoo中的Exception是对Python内置异常做了继承和封装,设定了自己核心的几个Exception。 而对异常的处理和Python内置异常的…...
Python概述 基础语法 判断 循环
Python概述常用快捷键第二章-Python基础语法01-字面量02-注释03-变量04-数据类型05-数据类型转换06-标识符07-运算符08-字符串的三种定义方式09-字符串的拼接10-字符串格式化11-字符串格式化的精度控制 12-字符串格式化-快速写法13-对表达式进行格式化14-字符串格式化练习题讲解…...
什么是品牌营销?学会正确推广您的业务
什么是品牌营销? 品牌营销涉及长期战略规划,以推广整个品牌,而不是营销单个产品或服务。它分享了一个引人入胜的故事,以在潜在客户中产生品牌知名度并建立声誉。 面向消费者的品牌使用品牌智能软件来了解人们对其品牌的看法&#…...
Golang学习Day1
😋 大家好,我是YAy_17,是一枚爱好网安的小白。本人水平有限,欢迎各位大佬指点,欢迎关注 😁,一起学习 💗 ,一起进步 ⭐ 。⭐ 此后如竟没有炬火,我便是唯一的光…...
《设计模式》工厂模式
《设计模式》工厂模式 工厂模式又分为简单工厂(Simple Factory)、工厂方法(Factory Method)和抽象工厂(Abstract Factory)都是常用的创建型设计模式,它们的主要区别如下: 简单工厂…...
JS - 原型对象、原型链是什么
一 阅读掘金 https://juejin.cn/post/7007416743215759373 https://juejin.cn/post/7007416743215759373 二 阅读掘金小册原型知识点 原型 涉及面试题:如何理解原型?如何理解原型链? 当我们创建一个对象时 let obj { age: 25 }࿰…...
STM32f103 CubeMX封装 led程序
本文代码使用 HAL 库。 文章目录前言一、LED 原理图二、CubeMX创建工程三、LED 相关函数1. 输出电平函数:2. 延时函数:3. 翻转电平函数:四、详细代码实验现象 :总结代码 源码:前言 从这篇文章开始,我们讲解…...
智慧教室系统--温湿度控制系统
随着科技的不断进步,智能化已经成为了各个行业的发展趋势,智慧教室作为未来教育的主流趋势之一,也将受益于这一趋势。而智慧教室中的温湿度控制系统是其中的重要组成部分,为了创造一个舒适、健康、安全的教学环境,智慧…...
只要一直向前定能到达远方,社科院与杜兰大学金融管理硕士项目为你注入动力
在人生这条道路上,我们很远的路要走,不管前方是否平坦,我们只要坚持前向,终将抵达远方。一路上我们付出很多,也收获很多。想要变得更强大,就要不断优化自身,积攒更多的能量,社科院与…...
Java性能-回收算法-Throughout回收算法
垃圾回收算法 理解Throughput回收器 回收器三个基本操作——回收 找到不使用的对象 释放内存 压缩堆碎片 Minor GC和Full GC,每个操作都会标记,释放和压缩对应的目标分代 [63.205s][info][gc,start ] GC(13) Pause Full (Ergonomics) [63.205s][info][…...
立项近7年,索尼产品经理分享PS VR2开发背后的故事
备受期待的索尼PS VR2终于正式发售,VR爱好者们终于有机会体验到《地平线:山之呼唤》等PS VR2独占的VR大作。近期,为了解PS VR2头显诞生背后的故事,外媒AV Watch采访到PS VR2的开发负责人Yasuo Takahashi,在本次采访中&…...
老旧Mac终极重生指南:OpenCore Legacy Patcher完整教程
老旧Mac终极重生指南:OpenCore Legacy Patcher完整教程 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher OpenCore Legacy Patcher是一款强大的开源…...
StructBERT中文语义匹配系统开发者案例:语义向量用于排序模型特征
StructBERT中文语义匹配系统开发者案例:语义向量用于排序模型特征 1. 项目核心价值:从“虚高”到“精准”的跨越 如果你做过搜索推荐或者内容去重,大概率遇到过这样的头疼事:两段明明不相关的文本,用传统的语义模型一…...
3步打造个性化Windows任务栏:轻量级桌面美化工具TranslucentTB使用指南
3步打造个性化Windows任务栏:轻量级桌面美化工具TranslucentTB使用指南 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 你是否…...
解决VSCode配置gcc编译环境中的常见问题:以MinGW安装失败为例
解决VSCode配置gcc编译环境中的常见问题:以MinGW安装失败为例 在开发C/C项目时,VSCode配合gcc编译器是一个轻量高效的组合方案。但许多开发者在配置过程中,特别是在Windows环境下安装MinGW时,常常会遇到各种"拦路虎"。…...
网站创建时间对网站 SEO 优化有什么影响
网站创建时间对网站 SEO 优化有什么影响 在当今竞争激烈的互联网市场中,网站的 SEO(搜索引擎优化)优化是吸引流量、提高曝光率的关键因素之一。而在众多影响 SEO 的因素中,网站创建时间作为一个被忽视的因素,其实也有…...
【GD32F407】内部Flash高效读写策略与实战优化
1. GD32F407内部Flash特性解析 GD32F407作为国产MCU中的明星产品,其内部Flash设计颇具特色。第一次拿到芯片手册时,我发现它的存储架构比想象中复杂得多。最让我印象深刻的是前512KB空间的零等待特性——这意味着在此范围内的代码执行速度堪比RAM&#x…...
百川2-13B量化模型提示工程:降低OpenClaw操作失误率
百川2-13B量化模型提示工程:降低OpenClaw操作失误率 1. 问题背景与挑战 去年冬天,当我第一次尝试用OpenClaw自动化整理电脑上积压的半年项目文档时,遭遇了令人崩溃的"AI灾难现场"——这个本该帮我分类归档的助手,把财…...
OpenClaw飞书机器人配置:Phi-3-mini-128k-instruct对话式任务触发
OpenClaw飞书机器人配置:Phi-3-mini-128k-instruct对话式任务触发 1. 为什么选择飞书OpenClawPhi-3的组合? 去年团队规模扩张到15人时,我突然发现每天要花2小时处理各种琐碎请求:"下周会议材料准备好了吗?"…...
QT无边框窗口圆角化实战:用paintEvent和样式表两种方法,打造你的专属UI(附完整代码)
QT无边框圆角窗口开发指南:从原理到实战的深度解析 在当今追求极致用户体验的桌面应用开发领域,无边框圆角窗口已经成为现代化UI设计的标配元素。从音乐播放器的沉浸式界面到社交软件的柔和视觉风格,圆角设计不仅能够降低用户的视觉疲劳&…...
**发散创新:基于Go语言实现的Raft共识算法实战解析**在分布式系统中,**一
发散创新:基于Go语言实现的Raft共识算法实战解析 在分布式系统中,一致性是核心挑战之一。而Raft共识算法因其简洁性和可理解性,已成为当前主流的分布式一致性协议(如etcd、Consul均采用Raft)。本文将带你深入用Go语言从…...
