Overview
我在 App Engine 上有一些實體,這些實體有一個自定義的域和由 Google 提供的 SSL 證書,但是現在我需要在它前面放置一個 Google 云負載平衡器。
我按照這里的說明進行了操作(對App Engine而不是Cloud Run進行了調整)。 https://cloud.google.com/load-balancing/docs/https/setting-up-https-serverless
我首先執行了該指南中的步驟,然后在GoDaddy中更新了我的DNS記錄,以指向負載平衡器的IP。
問題在于
。問題是,在我更新了GoDaddy的DNS記錄以指向負載平衡器的IP后,花了近一個小時才再次變得可達。當我試圖通過瀏覽器或代碼訪問該網站時,我得到了SSL錯誤。
提供SSL證書
。核心問題似乎是負載平衡器的SSL證書被卡在PROVISIONING的狀態下,而域名被卡在FAILED_NOT_VISIBLE的狀態下,對此,檔案中說:
該域名的 DNS 記錄沒有決議到 Google Cloud 負載平衡器的 IP 地址。要解決這個問題,請更新 DNS A/AAAA 記錄以指向您的負載平衡器的 IP 地址。
https://cloud.google.com/load-balancing/docs/ssl-certificates/troubleshooting#domain-status
而這些檔案對PROVISIONING是這樣說的:
谷歌云正在與證書頒發機構合作,以頒發 證書。供應一個 Google 管理的證書可能需要長達 至60分鐘
我是否可以做什么來避免/減少這一個小時的停機時間?
我仍然需要對我的生產專案做這件事。也許我可以改變一下步驟的順序(在創建 SSL 證書之前將 DNS 記錄指向 IP)?
如果我能夠在更新 DNS 記錄以指向負載均衡器的 IP 之前讓 SSL 證書供應,似乎就會很好,但更新 DNS 似乎是 SSL 證書啟動的先決條件。
這很有趣,因為我已經通過應用引擎自定義域名設定從谷歌獲得了這些域名的 SSL 證書。我希望這些證書能夠被重新用于負載均衡器。
uj5u.com熱心網友回復:
您是創建了一個新的DNS資源記錄還是改變了一個現有的記錄?
如果您在創建資源記錄之前試圖決議它,DNS服務器將回傳NXDOMAIN,這被稱為負面回應。負面回應會被DNS決議器快取起來。
如果你改變了一個現有的資源記錄,TTL是多少? DNS決議器使用各種策略來決定快取DNS資源記錄的時間。其中一個因素是TTL。
首先創建/更新DNS資源記錄 通過先創建DNS資源記錄,NXDOMAIN將不會在驗證嘗試中被回傳,這將減少您必須等待消極回應快取清除的時間。你的域名的權威性DNS服務器通常是兩到四個服務器。當一個新的資源記錄被創建時,服務器需要時間來創建和同步 SLAVES 與 MASTER。這個時間通常只有一到兩分鐘。
重繪 公共 Google DNS 服務器 如果你有陳舊的(已更改的)DNS資源記錄,且TTL值較長,請重繪 谷歌公共DNS服務器。該操作不是即時的,請計劃等待五分鐘來完成該操作。
我可以做什么來避免/減少這一小時的停機時間嗎? 你不能直接改變配置時間。如果你遵循以上幾點,配置時間將會減少。根據我的經驗,10分鐘是SSL證書配置的典型時間。
谷歌負載均衡器在進行更改后需要時間來更新。這段時間各不相同,但五到十分鐘是典型的時間。這是在證書配置之外的時間。在這段時間內,您的網站可能無法使用。
DNS服務器的變化不是瞬間的。你的域名的DNS服務器需要時間來更新,互聯網上的DNS決議器會快取資源記錄,客戶系統會快取記錄,等等。在對DNS服務器進行更改之前,要建立計劃。更改可能需要時間,如24至72小時內傳播到全球。
標籤:
