日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
使用OctoDNS啟用DNS分割權(quán)威

構(gòu)建一個(gè)健壯的系統(tǒng)需要為故障而設(shè)計(jì)。作為 GitHub 的網(wǎng)站可靠性工程師(SRE),我們一直在尋求通過(guò)冗余來(lái)幫助緩解問(wèn)題,今天將討論最近我們所做的工作,以便支持你通過(guò) DNS 來(lái)查找我們的服務(wù)器。

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供前進(jìn)網(wǎng)站建設(shè)、前進(jìn)做網(wǎng)站、前進(jìn)網(wǎng)站設(shè)計(jì)、前進(jìn)網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、前進(jìn)企業(yè)網(wǎng)站模板建站服務(wù),10多年前進(jìn)做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

大型 DNS 提供商在其服務(wù)中構(gòu)建了多級(jí)冗余,出現(xiàn)導(dǎo)致中斷的問(wèn)題時(shí),可以采取措施來(lái)減輕其影響。最佳選擇之一是把你的區(qū)域zone的權(quán)威服務(wù)分割到多個(gè)服務(wù)提供商中。啟用分割權(quán)威split authority很簡(jiǎn)單,你只需在域名注冊(cè)商配置兩套或多套你區(qū)域的名稱服務(wù)器,然后 DNS 請(qǐng)求將分割到整個(gè)列表中。但是,你必須在多個(gè)提供商之間對(duì)這些區(qū)域的記錄保持同步,并且,根據(jù)具體情況這可能要么設(shè)置復(fù)雜,要么是完全手動(dòng)的過(guò)程。

$ dig NS github.com. @a.gtld-servers.net.

...

;; QUESTION SECTION:
;github.com.            IN  NS

;; AUTHORITY SECTION:
github.com.     172800  IN  NS  ns4.p16.dynect.net.
github.com.     172800  IN  NS  ns-520.awsdns-01.net.
github.com.     172800  IN  NS  ns1.p16.dynect.net.
github.com.     172800  IN  NS  ns3.p16.dynect.net.
github.com.     172800  IN  NS  ns-421.awsdns-52.com.
github.com.     172800  IN  NS  ns-1283.awsdns-32.org.
github.com.     172800  IN  NS  ns2.p16.dynect.net.
github.com.     172800  IN  NS  ns-1707.awsdns-21.co.uk.

...

上面的查詢是向 TLD 名稱服務(wù)器 詢問(wèn) github.com. 的 NS 記錄。它返回了在我們?cè)谟蛎?cè)商中配置的值,在本例中,一共有兩個(gè) DNS 服務(wù)提供商,每個(gè)四條記錄。如果其中一個(gè)提供商發(fā)生中斷,那么其它的仍有希望可以服務(wù)請(qǐng)求。我們?cè)诟鱾€(gè)地方同步記錄,并且可以安全地修改它們,而不必?fù)?dān)心數(shù)據(jù)陳舊或狀態(tài)不正確。

完整地配置分割權(quán)威的最后一部分是在兩個(gè) DNS 服務(wù)提供商中將所有名稱服務(wù)器作為頂層 NS 記錄添加到區(qū)域的根中。

$ dig NS github.com. @ns1.p16.dynect.net.

...

;; QUESTION SECTION:
;github.com.            IN  NS

;; ANSWER SECTION:
github.com.     551 IN  NS  ns1.p16.dynect.net.
github.com.     551 IN  NS  ns2.p16.dynect.net.
github.com.     551 IN  NS  ns-520.awsdns-01.net.
github.com.     551 IN  NS  ns3.p16.dynect.net.
github.com.     551 IN  NS  ns-421.awsdns-52.com.
github.com.     551 IN  NS  ns4.p16.dynect.net.
github.com.     551 IN  NS  ns-1283.awsdns-32.org.
github.com.     551 IN  NS  ns-1707.awsdns-21.co.uk.

在 GitHub,我們有幾十個(gè)區(qū)域和數(shù)千條記錄,而大多數(shù)這些區(qū)域并沒(méi)有關(guān)鍵到需要冗余,因此我們只需要處理一部分。我們希望有能夠在多個(gè) DNS 服務(wù)提供商中保持這些記錄同步的方案,并且更一般地管理內(nèi)部和外部的所有 DNS 記錄。所以今天我們宣布了 OctoDNS。

配置

OctoDNS 能夠讓我們重新打造我們的 DNS 工作流程。我們的區(qū)域和記錄存儲(chǔ)在 Git 倉(cāng)庫(kù)的配置文件中。對(duì)它們的變更使用 GitHub 流,并像個(gè)站點(diǎn)一樣用分支部署。我們甚至可以做個(gè) “空” 部署來(lái)預(yù)覽哪些記錄將在變更中修改。配置文件是 yaml 字典,每個(gè)區(qū)域一個(gè),它的頂層的鍵名是記錄名稱,鍵值是 ttl、類型和類型特定的數(shù)據(jù)。例如,當(dāng)包含在區(qū)域文件 github.com.yaml 中時(shí),以下配置將創(chuàng)建 octodns.github.com.A 記錄。

octodns:
  type: A
  values:
    - 1.2.3.4
    - 1.2.3.5

配置的第二部分將記錄數(shù)據(jù)的源映射到 DNS 服務(wù)提供商。下面的代碼片段告訴 OctoDNS 從 config 提供程序加載區(qū)域 github.com,并將其結(jié)果同步到 dynroute53。

zones:
  github.com.:
    sources:
      - config
    targets:
      - dyn
      - route53

同步

一旦我們的配置完成,OctoDNS 就可以評(píng)估當(dāng)前的狀態(tài),并建立一個(gè)計(jì)劃,其中列出將需要將目標(biāo)狀態(tài)與源相匹配的一組更改。在下面的例子中,octodns.github.com 是一個(gè)新的記錄,所以所需的操作是在兩者中創(chuàng)建記錄。

$ octodns-sync --config-file=./config/production.yaml
...
********************************************************************************
* github.com.
********************************************************************************
* route53 (Route53Provider)
*   Create 
*   Summary: Creates=1, Updates=0, Deletes=0, Existing Records=0
* dyn (DynProvider)
*   Create 
*   Summary: Creates=1, Updates=0, Deletes=0, Existing Records=0
********************************************************************************
...

默認(rèn)情況下 octodns-sync 處于模擬運(yùn)行模式,因此不會(huì)采取任何行動(dòng)。一旦我們審閱了變更,并對(duì)它們感到滿意,我們可以添加 `--doit' 標(biāo)志并再次運(yùn)行命令。OctoDNS 將繼續(xù)它的處理流程,這一次將在 Route53 和 Dynect 中進(jìn)行必要的更改,以便創(chuàng)建新的記錄。

$ octodns-sync --config-file=./config/production.yaml --doit
...

此刻,在兩個(gè) DNS 服務(wù)提供商里我們有了相同的數(shù)據(jù)記錄,并可以輕松地分割我們的 DNS 請(qǐng)求給它們,并知道它們將提供準(zhǔn)確的結(jié)果。當(dāng)我們直接運(yùn)行上面的 OctoDNS 命令時(shí),我們的內(nèi)部工作流程依賴于部署腳本和 chatops。你可以在 README 的工作流程部分中找到更多信息。

總結(jié)

我們認(rèn)為大多數(shù)網(wǎng)站可以從分割權(quán)威中受益,并且希望用 OctoDNS,其中最大的障礙已被掃除。即使對(duì)分割權(quán)威不感興趣,OctoDNS 仍然值得一看,因?yàn)樗鼘⒒A(chǔ)設(shè)施即代碼的好處帶給了 DNS。

想幫助 GitHub SRE 團(tuán)隊(duì)解決有趣的問(wèn)題嗎?我們很樂(lè)意加入我們。在這里申請(qǐng)。



名稱欄目:使用OctoDNS啟用DNS分割權(quán)威
網(wǎng)站地址:http://www.dlmjj.cn/article/cogpdpi.html