通过 Peering 和 TGW 构建多网络互联

前言

通过 Amazon Virtual Private Cloud(Amazon VPC),您可以将 Amazon 资源启动到您定义的虚拟网络中。VPC peering 是两个 VPC 之间的网络连接,通过此连接,您可以使用私有 IPv4 地址或 IPv6 地址在两个 VPC 之间路由流量。这两个 VPC 中的实例可以彼此通信,就像它们在同一网络中一样。您可以在自己的 VPC 之间创建 VPC peering,或者在自己的 VPC 与其他Amazon账户中的 VPC 之间创建连接。VPC 可位于不同区域内(也称为区域间 VPC peering)。
Transit Gateway 通过中央枢纽连接 VPC 和本地网络。这简化了您的网络,并且结束了复杂的对等关系。它用作云路由器 - 每个新连接都只进行一次。Transit Gateway 根据网络流量的规模灵活地进行扩展。Transit Gateway 支持多路由表,您可以将这些路由表配置为传播所连接的 VPC、VPN 连接和 Direct Connect 网关的路由表中的路由。
通过本实验,您将能了解到如何配置 VPC peering 和 Transit Gateway,以及 Transit Gateway 的路由隔离功能。在实际环境部署中,两者可以相结合使用。

关于本教程
时间 45分钟                                      
费用 1 USD
相关行业 通用
相关产品 VPC peering, Transit Gateway, EC2
受众 IT 主管、架构师
级别 初级
上次更新日期 2022 年 7 月

教程说明

进入开发环境 

点击右侧按钮“登陆控制台”进入开发环境,如果您还没有账户,请先注册账户。

海外区域业务或个人使用,请注册“海外区域账户”;

中国区域业务(需企业营业执照认证),请注册“中国区域账户”。

Lab3-通过 Peering 和 TGW 构建多网络互联

网络架构图:
实验任务:
  1. VPC Spoke-1 内的 EC2 可以和 VPC Spoke-3 内的 EC2 通信
  2. VPC Spoke-1 内的 EC2 不可以和 VPC Spoke-2 内的 EC2 通信
  3. VPC Spoke-1 和 VPC Spoke-2 内的 EC2 可以和 VPC Hub 内的 EC2 通信
创建实验环境:4 个VPC(包含 IGW,route table,2 个 subnet)和 4 个 EC2 实例

VPC Name

VPC
CIDR block

Subnets in Availability Zone

Subnets
CIDR block

EC2 Name

VPC Hub

10.0.0.0/16

VPC Hub-sub-1a in AZ1

10.0.0.0/24

hub-sub-1a

VPC Hub-sub-1b in AZ2

10.0.1.0/24

/

VPC Spoke-1

10.1.0.0/16

VPC Spoke-1-sub-1a in AZ1

10.1.0.0/24

spoke1-sub-1a

VPC Spoke-1-sub-1b in AZ2

10.1.1.0/24

/

VPC Spoke-2

10.2.0.0/16

VPC Spoke-2-sub-1a in AZ1

10.2.0.0/24

spoke2-sub-1a

VPC Spoke-2-sub-1b in AZ2

10.2.1.0/24

/

VPC Spoke-3

10.3.0.0/16

VPC Spoke-3-sub-1a in AZ1

10.3.0.0/24

spoke3-sub-1a

VPC Spoke-3-sub-1b in AZ2

10.3.1.0/24

/

说明:本实验共需要创建一共 4 个VPC,每个 VPC 有 2 个子网,分别分布于 2 个 AZ 中,每个子网一个 C 类地址;由于实验时间所限,只分别在 AZ1 所在子网创建一个 EC2 用于 Ping 测试实验,具体要创建的 VPC、子网、CIDR、EC2 如上表所示。
  • 以 VPC Spoke-2 为例,登录到 AWS Console,打开 VPC 服务,

    点击 Your VPCs,点击 Create VPC 按钮
    在 Name tag 输入 VPC Spoke-2,在 IPv4 CIDR block 输入 10.2.0.0/16,点击 Create VPC 按钮
    选中创建好的 VPC Spoke-2,从 Actions 选择下拉列表中的 Edit DNS hostnames
    勾上 Enable,点击 Save changes 按钮。
  • 点击 Internet Gateways,点击 Create internet gateway

    在 Name tag 里面输入 spoke2,点击 Create internet gateway

    选择 Actions 下拉列表里面的 Attach to VPC

    从 Select a VPC 里面选择 前面创建好的 vpc-spoke2 点击 Attach internet gateway 按钮。

  • 点击 Route Tables,点击 Create route table 按钮。

    在 Name tag 输入 spoke2,在 VPC 下拉列表中选择建好的 VPC Spoke-2,点击 Create

    点击 Route Table ID 后的链接

    选择 Routes,点击 Edit routes 按钮

    点击 Add route

    在 Destination 列输入0.0.0.0/0,在 target 里面选择 Internet Gateway,接着选择前面创建的 IGW,点击 Save routes 按钮

  • 点击 Subnets,点击 Create subnet 按钮

    在 Name tag 输入 VPC Spoke-2-sub-1a,VPC 选择前面创建的 Spoke-2,Availability Zone 选择 1a 结尾的,IPv4 CIDR block 里面输入 10.2.0.0/24,点击 Create 按钮。

    重复 1.4 的步骤,创建 VPC Spoke-2-sub-1b,在 Name tag 输入 VPC Spoke-2-sub-1b,VPC 选择前面创建的 Spoke-2,Availability Zone 选择 1b 结尾的,IPv4 CIDR block 里面输入 10.2.1.0/24,点击 Create 按钮。

    为 VPC Spoke-2-1a 关联前面创建的 Route table:选择 VPC Spoke-2-1a,点击 Edit route table association 按钮

    选择之前创建的 route table:Spoke2,点击 save 按钮

  • 打开 EC2 服务

    点击 Key Pairs,点击 Create key pair 按钮

    在 Name 输入 lab3,File format 根据您当前的使用的 ssh 软件选择:pem or ppk;点击 Create key pair 按钮后会下载一个 pem 或 ppk 到您的本地机器上。

  • 打开 EC2 服务
    点击 Instances,点击 Launch instances 按钮
    点击 Amazon Linux 2 AMI (HVM), SSD Volume Type 后面的 Select 按钮
    选择 t3.small,点击 Next:Configure Instance Details 按钮
    在 Network 选择前面创建的 VPC Spoke-2,subnet 选择 VPC Spoke-2-sub-1a,Auto-assign Public IP 选择 Enable,点击 Next:Add Storage 按钮
    点击 Next:Add Tags 按钮,Key 填入 Name,Value 填入 lab3,点击 Next:Configure Security Group
    Security group name 输入 lab3,修改 Description,点击 Add Rule 按钮,从 Type 列表里面选择 ICMP,点击 Review and Launch 按钮。
    点击 Launch 按钮
    选择 1.5 创建的 keypair,勾选 I acknowledge,点击 Launch Instances 按钮。
    修改实例名字为 spoke2-sub-1a
  • VPC Name

    VPC
    CIDR block

    Subnets in Availability Zone

    Subnets
    CIDR block

    EC2 Name

    VPC Hub

    10.0.0.0/16

    VPC Hub-sub-1a in AZ1

    10.0.0.0/24

    hub-sub-1a

    VPC Hub-sub-1b in AZ2

    10.0.1.0/24

    /

    VPC Spoke-1

    10.1.0.0/16

    VPC Spoke-1-sub-1a in AZ1

    10.1.0.0/24

    spoke1-sub-1a

    VPC Spoke-1-sub-1b in AZ2

    10.1.1.0/24

    /

    VPC Spoke-2

    10.2.0.0/16

    VPC Spoke-2-sub-1a in AZ1

    10.2.0.0/24

    spoke2-sub-1a

    VPC Spoke-2-sub-1b in AZ2

    10.2.1.0/24

    /

    VPC Spoke-3

    10.3.0.0/16

    VPC Spoke-3-sub-1a in AZ1

    10.3.0.0/24

    spoke3-sub-1a

    VPC Spoke-3-sub-1b in AZ2

    10.3.1.0/24

    /

2.创建 VPC Peering

  • 在 VPC console 中选择 Peering Connnections 按钮,点击 Create Peering Connection

    输入 Peering connection name tag、VPC (Requester)为 Spoke-3、VPC (Accepter)为 Spoke-1

    点击 Creating Peering Connection

    观察现在的 Peering Connection 为 Pending Acceptance 状态

    点击 Actions,选择 Accept Request

    选择 Yes,Accept

    观察现在的 Peering Connection 为 Active 状态

  • 点击 Route Tables,选中 Spoke1,点击 Edit routes:

    添加一条路由,Destination为10.3.0.0/16,Target 选择 Peering Connection

    选择 2.1 创建好的 Peering Connection ID,选择 Save Routes

    同样,更新 Spoke3 路由表,点击 Route Tables,选中 Spoke3,点击 Edit routes:

    添加一条路由,Destination为 10.1.0.0/16,Target 选择 Peering Connection

    选择 2.1 创建好的 Peering Connection ID,选择 Save Routes

  • 远程登录 EC2 实例 spoke1-sub-1a,Ping EC2 实例 spoke3-sub-1a

    通过 SSH 进入VPC Spoke-1 中的 EC2 实例
    cd < lab3.pem 文件所在目录>
    chmod 400 lab3.pem
    ssh -i lab3.pem ec2-user@<PUBLIC IP>

    Ping EC2 实例 spoke3-sub-1a

3. 使用 TGW 创建 Hub-Spoke 互联环境

  • 点击 VPC 窗口的 Transit Gateway 按钮,点击 Create Transit Gateway

    输入 Name tag 和 Description

    点击创建 TGW

  • 点击 VPC 窗口的 Transit Gateway Attachments 按钮,点击 Create Transit Gateway Attachments 按钮

    在 Transit Gateway ID 那栏选中 3.1 创建的 TGW, Attachment type 选择 VPC;在 VPC Attachment 部分,输入 Attachment name tag,VPC ID 选择 1.6 创建的 VPC Spoke-1,在 Subnet IDs 部分勾选全部 2 个 Subnets
    再点击创建,可以看到 console 上已经显示一个名为 VPC Spoke-1 的 VPC attachment
    重复上述步骤,继续创建 Attachment VPC Spoke-2 和 VPC Hub:
    点击 Create Transit Gateway Attachments 按钮
    在 Transit Gateway ID 那栏选中 3.1 创建的 TGW, Attachment type 选择 VPC;在 VPC Attachment 部分,输入 Attachment name tag,VPC ID 选择 1.6 创建的 VPC Spoke-2,在 Subnet IDs 部分勾选全部 2 个 Subnets
    再点击创建,可以看到 console 上已经显示一个名为的 VPC Spoke-2 的 VPC attachment
    点击 Create Transit Gateway Attachments 按钮
    在 Transit Gateway ID 那栏选中 3.1 创建的 TGW, Attachment type 选择 VPC;在 VPC Attachment 部分,输入 Attachment name tag,VPC ID 选择 1.6 创建的 VPC Hub,在 Subnet IDs 部分勾选全部 2 个 Subnets
    再点击创建,可以看到 console 上已经显示一个名为的 VPC Hub 的 VPC attachment
  • 点击 Console 里的 Transit Gateway Route Tables,选中默认 Route Table,选择 Associations,依次选中不同的 Attachment,点击 Delete association 删除所有附件
    然后点击 Create Transit Gateway Route Table 按钮创建一个新的路由表
    输入 Name tag 为 Spokes,选择 Transit Gateway ID 为 3.1 创建的 TGW
    点击创建好的新路由表
    选中建立好的 Spokes 路由表,选择 Create association 按钮
    在 Create association console 中,choose attachment to associate 栏选择 VPC Spoke-1
    点击 Create association 创建 association
    重复上述步骤,将 VPC Spoke-2 也 associate 到 Spokes 路由表中,选中建立好的 Spokes 路由表,选择 Create association 按钮
    在 Create association console 中,choose attachment to associate 栏选择 VPC Spoke-2
    点击 Create association 创建 association
    创建 Hub 路由表,点击 Create Transit Gateway Route Table 按钮创建一个新的路由表
    输入 Name tag 为 Hub,选择 Transit Gateway ID 为 3.1 创建的 TGW
    点击创建好的新路由表
    将 VPC Hub associate 到 Hub 路由表中,选中建立好的 Hub 路由表,选择 Create association 按钮 
    在 Create association console 中,choose attachment to associate 栏选择 VPC Hub
    点击 Create association 创建 association
  • 点击 Transit Gateway Route Tables console,选中 Spokes 路由表,选择 Propagations,点击Create Propagations

    在 Choose attachment to prpagate 栏中选择 VPC Hub

    点击创建

    再次点击 Transit Gateway Route Tables console,选中 Hub 路由表,选择 Propagations,点击 Create Propagations

    在 Choose attachment to prpagate 栏中选择 VPC Spoke-1

    点击创建

    重复上述步骤,将 Spoke-2 的路由也 propagate到 Hub 路由表中

    再次点击 Transit Gateway Route Tables console,选中 Hub 路由表,选择 Propagations,点击 Create Propagations

    在 Choose attachment to prpagate 栏中选择 VPC Spoke-2

    点击创建

  • 在 VPC console中 选择 Route Tables,选中 1.3 创建的路由表 Spoke1,选择 Routes,选择 Edit routes 

    点击 Add route,添加一条路由,Destination 栏填写 10.0.0.0/8,Target 栏选择 Transit Gateway

    选中 3.1 所创建的 TGW

    点击 Save routes

    在 VPC console 中选择 Route Tables,选中 1.3 创建的路由表 Spoke2,选择 Routes,选择 Edit routes

    点击 Add route,添加一条路由,Destination 栏填写 10.0.0.0/8,Target 栏选择 Transit Gateway

    选中 3.1 所创建的 TGW

    点击 Save routes

    在 VPC console 中选择 Route Tables,选中 1.3 创建的路由表 Hub,选择 Routes,选择 Edit routes

    点击 Add route,添加一条路由,Destination 栏填写 10.0.0.0/8,Target 栏选择 Transit Gateway

    选中 3.1 所创建的 TGW

    点击 Save routes

  • 远程登录 EC2 实例 spoke1-sub-1a,Ping EC2 实例 spoke2-sub-1a

    通过 SSH 进入 VPC Spoke-1 中的 EC2 实例
    ssh -i lab3.pem ec2-user@<PUBLIC IP>
    Ping EC2 实例 spoke2-sub-1a

    Ping 不通,证明两个 Spoke VPC 内的 EC2 实例不能互访

    保持登录 EC2 实例 spoke1-sub-1a,Ping EC2 实例 hub-sub-1a

    可以 Ping 通,证明 Spoke1 VPC 内的 EC2 实例可以和 Hub VPC 的 EC2 实例互访

    远程登录 EC2 实例 spoke2-sub-1a,Ping EC2 实例 hub-sub-1a

    通过 SSH 进入 VPC Spoke-2 中的 EC2 实例
    ssh -i lab3.pem ec2-user@<PUBLIC IP>


    Ping EC2 实例 hub-sub-1a

    可以 Ping 通,证明 Spoke2 VPC 内的 EC2 实例可以和 Hub VPC 的 EC2 实例互访

入门资源中心

获取更多上手教程,开发资料,以及成本管理攻略。

现在就开始在亚马逊云上构建

无论您是在寻找计算能力、数据库、存储、内容分发、人工智能与机器学习,大数据分析还是其他功能,亚马逊云科技都有相应的服务来帮助您建立具有更高灵活性、可扩展性和可靠性的复杂应用。

企业出海或个人体验

超过 200 项服务
包含 100 余种产品免费试用

发展中国业务

近百项服务
包含宁夏区域 30 余种产品免费试用