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