一起來看看我們的新服務(wù)帶來了什么新驚喜吧~
Amazon Route 53 Resolver解析程序是亞馬遜云科技在中國區(qū)新推出的一項服務(wù),為用戶提供了私有域名間的互訪功能。
假如您已經(jīng)為數(shù)據(jù)中心的服務(wù)規(guī)劃了私有域名(onprem.abc.internal),通過本地DNS服務(wù)器來托管該私有域名,并且部署了DNS resolver響應(yīng)數(shù)據(jù)中心請求端的私有域名解析請求。您同時在亞馬遜云科技云端部署了VPC,通過DX專線或IPsec和數(shù)據(jù)中心互聯(lián);您為部署在VPC中的服務(wù)也規(guī)劃了私有域名(cloud.abc.internal),并通過亞馬遜云科技Amazon Route 53托管該域名,位于VPC中的請求端(如Amazon EC2)使用<primary subnet>.2作為VPC DNS resolver。
現(xiàn)在位于數(shù)據(jù)中心的請求端可以通過數(shù)據(jù)中心DNS系統(tǒng)解析到onprem.abc.internal的私有域名;位于亞馬遜云科技云端的請求端可以通過Amazon Route 53系統(tǒng)解析到cloud.abc.internal的私有域名。如下圖:
但位于數(shù)據(jù)中心的請求端無法通過數(shù)據(jù)中心DNS系統(tǒng)解析到cloud.abc.internal的私有域名;位于亞馬遜云科技云端的請求端無法Amazon Route 53系統(tǒng)解析到onprem.abc.internal的私有域名。
所以我們需要將這2個私有域名解析打通,實現(xiàn)位于數(shù)據(jù)中心的請求端可以通過<host>.cloud.abc.internal方式訪問到位于亞馬遜云科技VPC的服務(wù)端,實現(xiàn)位于亞馬遜云科技VPC的請求端可以通過<host>.onprem.abc.internal方式訪問到位于數(shù)據(jù)中心的服務(wù)端。
Amazon Route 53 Resolver解析程序概述
傳統(tǒng)實現(xiàn)方法
以往實現(xiàn)以上功能一般通過在VPC中部署安裝了DNS Proxy軟件的Amazon EC2服務(wù)器完成。
從數(shù)據(jù)中心發(fā)起的查詢云端服務(wù)器的DNS解析請求和響應(yīng)流程如下圖:
步驟
1.來自數(shù)據(jù)中心的請求端向位于數(shù)據(jù)中心的DNS resolver發(fā)起DNS查詢請求,查詢www.cloud.abc.internal
2.該DNS請求通過本地DNS resolver轉(zhuǎn)發(fā)到位于亞馬遜云科技云端VPC中的DNS Proxy上
3.DNS Proxy將該DNS請求轉(zhuǎn)發(fā)給Route 53 DNS resolver EC2 Endpoint(<primary subnet>.2)
4.Route 53 DNS resolver EC2 Endpoint訪問Amazon Route 53查詢該私有域名
5.Amazon Route 53返回www.cloud.abc.internal的解析結(jié)果(IP地址x.x.x.x),給到Route 53 DNS resolver EC2 Endpoint
6.Route 53 DNS resolver EC2 Endpoint將解析結(jié)果返回DNS Proxy
7.DNS Proxy將解析結(jié)果返回DNS Resolver
8.DNS Resolver將解析結(jié)果x.x.x.x返回client
9.Client根據(jù)收到的解析結(jié)果,向位于亞馬遜云科技云端的x.x.x.x發(fā)起連接。
從云端發(fā)起的查詢數(shù)據(jù)中心服務(wù)器的DNS解析請求和響應(yīng)流程如下圖:
步驟
1.亞馬遜云科技云端VPC的client端首先將DNS resolver修改為DNS Proxy的IP地址,然后DNS proxy發(fā)起DNS查詢請求,查詢www.onprem.abc.internal
2.該DNS請求通過DNS proxy預(yù)先定義的規(guī)則轉(zhuǎn)發(fā)到位于數(shù)據(jù)中心中的DNS Resolver上
3.DNS Resolver向Auth DNS查詢該私有域名
4.Auth DNS返回www.onprem.abc.internal的解析結(jié)果(IP地址s.s.s.s)
5.DNS Resolver將解析結(jié)果返回DNS Proxy
6.DNS Proxy將解析結(jié)果s.s.s.s返回client
7.Client根據(jù)收到的解析結(jié)果,向位于數(shù)據(jù)中心的s.s.s.s發(fā)起連接。
此方案需要客戶自己來搭建和運維,還需要考慮高可靠性,會帶來額外的復(fù)雜性和管理難度。
Amazon Route 53 Resolver的實現(xiàn)方式
Amazon Route 53 Resolver通過亞馬遜云科技原生的方式實現(xiàn)了該功能,避免安裝DNS Proxy EC2帶來的復(fù)雜度和管理難度。
Amazon Route 53 resolver提供了inbound endpoint,可以接收來自VPC外部請求該<VPC主機+私有域名>的DNS查詢請求,返回VPC內(nèi)該主機的DNS記錄(如IP地址)。
Amazon Route 53 resolver同時提供了Outbound endpoint,VPC內(nèi)請求端發(fā)往VPC外的<主機+私有域名解析>將通過Outbound endpoint按照預(yù)先定義的規(guī)則轉(zhuǎn)發(fā)到指定的外部DNS resolver。
通過Amazon Route 53 resolver,從數(shù)據(jù)中心發(fā)起的查詢云端服務(wù)器的DNS解析請求和響應(yīng)流程如下圖:
步驟
1.來自數(shù)據(jù)中心的請求端向位于數(shù)據(jù)中心的DNS resolver發(fā)起DNS查詢請求,查詢www.cloud.abc.internal
2.該DNS請求通過本地DNS resolver轉(zhuǎn)發(fā)到位于亞馬遜云科技云端VPC中的Route 53 Inbound Resolver Endpoint上
3.Route 53 Inbound Resolver Endpoint訪問Amazon Route 53查詢該私有域名
4.Amazon Route 53返回www.cloud.abc.internal的解析結(jié)果(IP地址x.x.x.x)
5.Route 53 Inbound Resolver Endpoint將解析結(jié)果返回DNS Resolver
6.DNS Resolver將解析結(jié)果x.x.x.x返回client
7.Client根據(jù)收到的解析結(jié)果,向位于亞馬遜云科技云端的x.x.x.x發(fā)起連接。
通過Amazon Route 53 resolver,從云端發(fā)起的查詢數(shù)據(jù)中心服務(wù)器的DNS解析請求和響應(yīng)流程如下圖:
步驟
1.亞馬遜云科技云端VPC的client端首先向Route 53 EC2 resolver Endpoint(<primary subnet>.2 IP地址)發(fā)起DNS查詢請求,查詢www.onprem.abc.internal
2.Route 53 EC2 resolver Endpoint將該DNS請求提交給Amazon Route 53 resolver后臺
3.Amazon Route 53 resolver后臺將該DNS請求傳遞給Route 53 outbound resolver Endpoint
4.該DNS請求通過Route 53 outbound resolver Endpoint預(yù)先定義的規(guī)則轉(zhuǎn)發(fā)到位于數(shù)據(jù)中心中的DNS Resolver上
5.DNS Resolver向Auth DNS查詢該私有域名
6.Auth DNS返回www.onprem.abc.internal的解析結(jié)果(IP地址s.s.s.s)
7.DNS Resolver將解析結(jié)果返回Route 53 outbound resolver Endpoint
8.Route 53 outbound resolver Endpoint將解析結(jié)果提交給Amazon Route 53 resolver后臺
9.Amazon Route 53 resolver后臺將解析結(jié)果傳遞給Route 53 EC2 resolver Endpoint
10.Route 53 EC2 resolver Endpoint將解析結(jié)果s.s.s.s返回client
11.Client根據(jù)收到的解析結(jié)果,向位于數(shù)據(jù)中心的s.s.s.s發(fā)起連接。
Route 53 inbound/outbound Resolver Endpoint和規(guī)則都是亞馬遜云科技的托管服務(wù)。Endpoint位于VPC(實際形態(tài)是單獨的ENI接口),提供對外通信接口;具體實現(xiàn)通過Route 53的后臺。
可以通過創(chuàng)建多個Route 53 inbound/outbound Resolver Endpoint實現(xiàn)訪問級的高可靠保證。
Amazon Route 53 resolver解析程序配置
Amazon Route 53 resolver配置包括Route 53 resolver Inbound endpoint入站終端節(jié)點配置,Route 53 resolver Outbound endpoint出站終端節(jié)點配置,以及和出站終端節(jié)點配合的轉(zhuǎn)發(fā)規(guī)則的配置。
Route 53 resolver Inbound endpoint
入站終端節(jié)點配置
Inbound Endpoint服務(wù)將會在VPC中創(chuàng)建ENI網(wǎng)卡作為訪問入口,可以根據(jù)實際情況在該VPC不同的AZ創(chuàng)建多塊ENI網(wǎng)卡來實現(xiàn)冗余備份,ENI網(wǎng)卡可以創(chuàng)建在現(xiàn)有的子網(wǎng)中,也可以單獨新建子網(wǎng)來創(chuàng)建ENI。
創(chuàng)建Inbound endpoint步驟如下:
1.入口菜單
選擇北京區(qū)域或?qū)幭膮^(qū)域
2.通用配置
定義Inbound Endpoint入站終端節(jié)點名字
關(guān)聯(lián)VPC,只能關(guān)聯(lián)一個VPC
關(guān)聯(lián)安全組,在安全組中放行DNS協(xié)議(TCP/UDP 53)
3.定義IP地址
可以定義多個IP地址(ENI端口),IP地址數(shù)量上限和AZ數(shù)量對應(yīng);
定義IP地址所屬的AZ和子網(wǎng);
可以選擇自動分配地址或手工定義地址(手工定義地址必須在子網(wǎng)范圍內(nèi))
4.定義標簽
Route 53 resolver Inbound endpoint
出站終端節(jié)點配置
創(chuàng)建Outbound endpoint出站終端節(jié)點步驟和Inbound endpoint入站終端節(jié)點相同。
Inbound Endpoint如站終端節(jié)點Outbound Endpoint出站終端節(jié)點均使用VPC內(nèi)部IP地址,通過和數(shù)據(jù)中心互聯(lián)的DX或IPsec專用線路被數(shù)據(jù)中心DNS resolver訪問或訪問數(shù)據(jù)中心DNS resolver。
轉(zhuǎn)發(fā)規(guī)則配置
1.入口
2.定義規(guī)則
定義規(guī)則名字
使用Forward轉(zhuǎn)發(fā)至作為規(guī)則類型
定義匹配的私有域名,只有DNS請求中包含該私有域名才會啟用該規(guī)則
關(guān)聯(lián)Outbound Endpoint出站終端節(jié)點
可以將該規(guī)則關(guān)聯(lián)到其他VPC(可選),其他VPC可以共享該Outbound Endpoint發(fā)送數(shù)據(jù)中心主機+私有域名查詢
3.定義轉(zhuǎn)發(fā)IP地址(如數(shù)據(jù)中心的DNS resolver)和標簽
構(gòu)建完整的數(shù)據(jù)中心和VPC私有域名互訪還需要完成如下工作:
在Amazon Route 53中創(chuàng)建VPC私有域名
在數(shù)據(jù)中心DNS resolver上定義轉(zhuǎn)發(fā)規(guī)則,轉(zhuǎn)發(fā)訪問VPC私有域名的請求至Inbound Endpoint IP地址(可以寫多個IP地址作為備份)
學(xué)習(xí)了以上的內(nèi)容,你是不是躍躍欲試了呢?我們一起來驗證一下吧~
最后,我們來構(gòu)建一個測試環(huán)境驗證Amazon Route 53 DNS Resolver。
如上圖,我們在亞馬遜云科技中國區(qū)中構(gòu)建了2個VPC(vpc_cloud和vpc_onprem),分別模擬構(gòu)建在亞馬遜云科技中國區(qū)的VPC和用戶的數(shù)據(jù)中心;
在2個VPC中分別部署2臺Amazon EC2,一臺Amazon EC2作為Client,一臺Amazon EC2作為Server;在2個VPC中分別部署2個CSR1000v EC2 appliance,通過IPsec進行互聯(lián),打通2個VPC私有網(wǎng)段間的連接,以此模擬VPC和數(shù)據(jù)中心間的互聯(lián);
在vpc_onprem中部署一臺DNS服務(wù)器(使用Bind軟件),承擔Auth DNS名字服務(wù)器(Host onprem.abc.internal)和DNS Resolver解析服務(wù)器的角色,托管onprem.abc.internal域名,并增加www.onprem.abc.internal A記錄指向位于vpc_onprem的server EC2 IP地址;
在Amazon Route 53中創(chuàng)建cloud.abc.internal私有托管域名并和vpc_cloud關(guān)聯(lián),增加www.cloud.abc.internal A記錄指向位于vpc_cloud的server EC2 IP地址;在Amazon Route 53 resolver中定義位于vpc_cloud的入站終端節(jié)點和出站終端節(jié)點,并定義出站轉(zhuǎn)發(fā)規(guī)則(匹配onprem.abc.internal的域名的請求轉(zhuǎn)發(fā)到位于vpc_onprem的DNS server IP地址上);在位于vpc_onprem中的DNS server上增加轉(zhuǎn)發(fā)規(guī)則(匹配cloud.abc.internal的域名的請求轉(zhuǎn)發(fā)到位于vpc_cloud的Inbound Endpoint的IP地址上)。
位于vpc_cloud中的Client EC2通過域名方式可以訪問位于vpc_onprem中的Server EC2(www.onprem.abc.internal)
同樣,位于vpc_onprem中的Client EC2通過域名方式也可以訪問位于vpc_cloud中的Server EC2(www.cloud.abc.internal)
總結(jié)
Amazon Route 53 Resolver解析程序是通過托管服務(wù)的方式提供了云上和云下資源私有DNS記錄的互訪,并為您構(gòu)建易部署/易管理/高可靠的運行環(huán)境,適合混合云等部署場景下使用。