+86 135 410 16684Mon. - Fri. 10:00-22:00

配置 VPC Peering and Private DNS using Route53

配置 VPC Peering and Private DNS using Route53

配置 VPC Peering and Private DNS using Route53

實驗 AWS 兩個 VPC 透過 Peering 方式,可以讓不同 VPC Subnet 可以對連。基本架構如下 (From VPC Peering)

one-to-two-vpcs-flying-v1

應用實例就是建立開發和測試兩個 VPC,各自有獨立的 Internet Gateway 和 Route Table. 同時也利用 Route53 的 private host zone,建立內部的 DNS 服務。

備註:實驗的過程,用新的 AWS 帳號來做實驗,避免影響正式的服務。

VPC 基本設定

  1. 建立兩個 VPC,分別叫做 VPC-DevVPC-QA。建立好這兩個 VPC 同時,Route Table 也會自動被建立起來。
    • VPC-Dev: { CIDR: 10.3.0.0/16 }
    • VPC-QA: { CIDR: 10.4.0.0/16 }
  2. 分別建立 Internet Gateways: IGW-Dev, IGW-QA
  3. 建立 Peering Connections, 選擇兩個端點 (Peer),也可以跨帳號,但要注意只能在同一個 AWS Region. ID prefix 會是 pcx-xxx
    • 一個 VPC Peer 是雙向的,所以不用特別指定 A->B 或者 B->A
      Create-VPC-Peering1
  4. 分別新增 Subnet 給 Dev 和 QA
  5. 到 Route Table, 設定 Dev 的 Route, 新增兩個:
    • Destination: 0.0.0.0/0, target: igw-xxxx
    • Destination: 10.4.0.0/16, target: pcx-xxx. 指向 VPC-QA
      VPC-Route-Table-Routing1
  6. 同樣在 Route Table, 設定 QA 的 Route, 同 Dev,peering 的 CIDR 指回 VPC-Dev

Route53 Private DNS

  1. 因為同時要使用 Route53 的 Private DNS,所以 Enable 兩個 VPC 的 DNS ResoultionDNS Hostnames.
    VPC-EnablePrivateDNS1
  2. 到 Route53 建立一個 private host zone

建立兩台 EC2 Instance

實驗 Private DNS

建立兩台 EC2 Instance, 然後把這兩台 instance 的 private 註冊到 Route53。隨意進去一台機器裡,實驗 nslookup

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[ec2-user@ip-10-3-21-142 ~]$ nslookup
> server
Default server: 10.3.0.2
Address: 10.3.0.2#53
> lab01.qa.gtcafe.com
Server: 10.3.0.2
Address: 10.3.0.2#53
Non-authoritative answer:
Name: lab01.qa.gtcafe.com
Address: 10.4.11.145
> lab01.dev.gtcafe.com
Server: 10.3.0.2
Address: 10.3.0.2#53
Non-authoritative answer:
Name: lab01.dev.gtcafe.com
Address: 10.3.21.142
> exit

相互對連

直接使用 private IP or private DNS 即可相互 ssh. 如果要中斷此對連,直接到 Route Table 把 Peering 拔掉即可。

Reference