Study Notes - VPC Peering and Private DNS using Route53


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

應用實例就是建立開發和測試兩個 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
  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
  6. 同樣在 Route Table, 設定 QA 的 Route, 同 Dev,peering 的 CIDR 指回 VPC-Dev

Route53 Private DNS

  1. 因為同時要使用 Route53 的 Private DNS,所以 Enable 兩個 VPC 的 DNS ResoultionDNS Hostnames.
  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 拔掉即可。


延伸閱讀 (站內)

系列文章

站內延伸

參考資料


Comments