今天跟同事查一個問題時發現到的小狀況
嚴格說起來算是架構上設計造成的問題
每台EC2的預設DNS解析都是該網段VPC+2
舉例來說 VPC是172.31.0.0/16
那EC2的預設DNS就是 172.31.0.2
如下圖
基本上不會有任何問題
但是目前就遇到了
公司目前的設計架構,因為不熟悉AWS的設計理念與規劃架構的方式
採用的是類似我前公司的多網段分層設計方式
舉例 會有 10.10.0.0 10.10.1.0 10.10.2.0 10.10.3.0
VPC當然會設計是開10.10.0.0/16
那問題來了,內部的EC2 DNS就會是10.10.0.2
正常的情況都會沒有任何問題才對
偏偏問題就是在於架構是非正規VPC的設計方式
subnet與subnet之間的server連接是透過route table的方式去指定
所以造成 10.10.1.0 10.10.2.0 10.10.3.0網段
全部無法連接到10.10.0.2這台DNS
問題與原因已經不可考了
因為這樣子的關係,我查了一下AWS的文件
除了EC2預設的系統自帶的VPC+2以外
可以另外指定AWS專用的內部DNS 169.254.169.253
下圖是範例
因程式有要求須要透過DNS進行本機端HOSTNAME進行IP解析
但是因上述的狀況造成無法解析的問題
所以設定了AWS的專用DNS進行本機HOSTNAME的解析
結果是成功的~
解決了這種複雜架構的困擾
近期留言