適用於 MySQL 的 Azure 資料庫中的連線架構

適用於: 適用於 MySQL 的 Azure 資料庫 - 單一伺服器

重要

適用於 MySQL 的 Azure 資料庫單一伺服器即將淘汰。 強烈建議您升級至適用於 MySQL 的 Azure 資料庫彈性伺服器。 如需移轉至適用於 MySQL 的 Azure 資料庫彈性伺服器的詳細資訊,請參閱適用於 MySQL 的 Azure 資料庫單一伺服器會發生什麼事?

本文說明適用於 MySQL 的 Azure 資料庫連線架構,以及如何將流量從 Azure 內部和外部用戶端導向至適用於 MySQL 的 Azure 資料庫執行個體。

連線架構

系統會透過閘道建立連線至您的適用於 MySQL 的 Azure 資料庫,而且此閘道會負責將連入連線路由傳送至叢集內伺服器的實體位置。 下圖說明流量流程。

Overview of the connectivity architecture

用戶端連線至資料庫時,伺服器的連接字串會解析為閘道 IP 位址。 閘道會接聽連接埠 3306 上的 IP 位址。 在資料庫叢集內部,流量會轉送到適當的適用於 MySQL 的 Azure 資料庫。 因此,若要連線至您的伺服器 (例如從公司網路),您必須開啟用戶端防火牆,以允許輸出流量能夠連線至我們的閘道。 您可以在下面找到閘道在每個區域所使用 IP 位址的完整清單。

適用於 MySQL 的 Azure 資料庫閘道 IP 位址

閘道服務裝載於位在 IP 位址後方的無狀態計算節點群組上,而用戶端會在嘗試連線至適用於 MySQL 的 Azure 資料庫伺服器時先連線至此 IP 位址。

在進行中服務維護期間,我們將會定期重新整理裝載閘道的計算硬體,以確保我們提供最安全且高效能的體驗。 重新整理閘道硬體時,會先建置計算節點的新通道。 這個新通道會提供所有新建立適用於 MySQL 的 Azure 資料庫伺服器的流量,而且其 IP 位址會與相同區域中的較舊閘道通道不同,以區分流量。 新的通道完全正常運作之後,會規劃解除委任為現有伺服器提供服務的較舊閘道硬體。 解除委任閘道硬體之前,執行其伺服器並連線至較舊閘道通道的客戶,將會透過電子郵件和 Azure 入口網站收到通知。 如果是下列情況,則閘道解除委任可能會影響伺服器的連線

  • 您在應用程式的連接字串中硬式編碼閘道 IP 位址。 建議這樣做。 您應該在應用程式連接字串中使用 <servername>.mysql.database.azure.com 格式的伺服器完整網域名稱 (FQDN)。
  • 您未更新用戶端防火牆中的較新閘道 IP 位址,以允許輸出流量能夠連線至新的閘道通道。

重要

如果客戶連線堆疊必須直接連線至閘道而不是建議的 DNS 名稱方法,或將閘道加入防火牆規則允許清單以連線至客戶基礎結構\從客戶基礎結構連線,我們強烈建議客戶使用閘道 IP 位址子網路與硬式編碼靜態 IP,以避免在區域中受到此活動的影響並導致 IP 在子網路範圍內變更。

下表列出所有資料區域中適用於 MySQL 的 Azure 資料庫閘道的閘道 IP 位址。 下表會維護每個區域的最新閘道 IP 位址資訊。 在下表中,資料行代表下列項目:

  • 閘道 IP 位址子網路:此資料行列出位於特定區域的閘道通道 IP 位址子網路。 當我們淘汰舊版閘道硬體時,建議您開啟用戶端防火牆以允許所作業區域中的 IP 位址子網路輸出網路。
  • 閘道 IP 位址:定期淘汰個別閘道 IP 位址,並將流量移轉至對應的閘道 IP 位址子網路

我們強烈建議客戶不要依賴任何個別閘道 IP 位址 (因為未來將淘汰這些位址)。 請改為允許網路流量同時連線至區域中的個別閘道 IP 位址和閘道 IP 位址子網路。

區域名稱 閘道 IP 位址 閘道 IP 位址子網路
澳大利亞中部 20.36.105.32 20.36.105.32/29, 20.53.48.96/27
澳大利亞中部 2 20.36.113.32 20.36.113.32/29、20.53.56.32/27
澳大利亞東部 13.70.112.32、40.79.160.32、40.79.168.32 13.70.112.32/29、40.79.160.32/29、40.79.168.32/29、20.53.46.128/27
澳大利亞東南部 13.77.49.33 13.77.49.32/29、104.46.179.160/27
巴西南部 191.233.201.8、191.233.200.16 191.234.153.32/27、191.234.152.32/27、191.234.157.136/29、191.233.200.32/29、191.234.144.32/29、191.234.142.160/27
加拿大中部 13.71.168.32 13.71.168.32/29、20.38.144.32/29、52.246.152.32/29、20.48.196.32/27
加拿大東部 40.69.105.32 40.69.105.32/29、52.139.106.192/27
美國中部 104.208.21.192、13.89.168.192、52.182.136.192 104.208.21.192/29、13.89.168.192/29、52.182.136.192/29、20.40.228.128/27
中國東部 52.130.112.139 52.130.112.136/29、52.130.13.96/27
中國東部 2 40.73.82.1, 52.130.120.89 52.130.120.88/29、52.130.7.0/27
中國東部 3 52.130.128.89 52.130.128.88/29、40.72.77.128/27
中國北部 52.130.128.89 52.130.128.88/29、40.72.77.128/27
中國北部 2 40.73.50.0 52.130.40.64/29、52.130.21.160/27
中國北部 3 13.75.32.192、13.75.33.192 13.75.32.192/29、13.75.33.192/29
東亞 13.75.33.20、13.75.33.21 20.205.77.176/29、20.205.83.224/29、20.205.77.200/29、13.75.32.192/29、13.75.33.192/29、20.195.72.32/27
美國東部 20.42.65.64、20.42.73.0、52.168.116.64 20.42.65.64/29、20.42.73.0/29、52.168.116.64/29、20.62.132.160/27
美國東部 2 104.208.150.192、40.70.144.192、52.167.104.192 104.208.150.192/29、40.70.144.192/29、52.167.104.192/29、20.62.58.128/27
法國中部 40.79.129.1 40.79.128.32/29、40.79.136.32/29、40.79.144.32/29、20.43.47.192/27
法國南部 40.79.176.40 40.79.176.40/29、40.79.177.32/29、52.136.185.0/27
德國中西部 51.116.152.0 51.116.152.32/29、51.116.240.32/29、51.116.248.32/29、51.116.149.32/27
印度中部 104.211.86.32、20.192.96.33 40.80.48.32/29、104.211.86.32/29、20.192.96.32/29、20.192.43.160/27
印度南部 40.78.192.32 40.78.192.32/29、40.78.193.32/29、52.172.113.96/27
印度西部 104.211.144.32 104.211.144.32/29、104.211.145.32/29、52.136.53.160/27
日本東部 40.79.184.8、40.79.192.23 13.78.104.32/29、40.79.184.32/29、40.79.192.32/29、20.191.165.160/27
日本西部 40.74.96.6 20.18.179.192/29、40.74.96.32/29、20.189.225.160/27
南韓中部 52.231.17.13 20.194.64.32/29、20.44.24.32/29、52.231.16.32/29、20.194.73.64/27
南韓南部 52.231.17.13 52.231.151.96/27、52.231.151.88/29、52.231.145.0/29、52.147.112.160/27
美國中北部 52.162.104.35、52.162.104.36 52.162.105.200/29、20.125.171.192/29、52.162.105.192/29、20.49.119.32/27
北歐 52.138.224.6, 52.138.224.7 13.69.233.136/29、13.74.105.192/29、52.138.229.72/29、52.146.133.128/27
挪威東部 51.120.96.0 51.120.208.32/29、51.120.104.32/29、51.120.96.32/29、51.120.232.192/27
挪威西部 51.120.216.0 51.120.217.32/29、51.13.136.224/27
南非北部 102.133.152.0 102.133.120.32/29、102.133.152.32/29、102.133.248.32/29、102.133.221.224/27
南非西部 102.133.24.0 102.133.25.32/29、102.37.80.96/27
美國中南部 20.45.120.0 20.45.121.32/29、20.49.88.32/29、20.49.89.32/29、40.124.64.136/29、20.65.132.160/27
東南亞 23.98.80.12、40.78.233.2 13.67.16.192/29、23.98.80.192/29、40.78.232.192/29、20.195.65.32/27
瑞典中部 51.12.96.32 51.12.96.32/29、51.12.232.32/29、51.12.224.32/29、51.12.46.32/27
瑞典南部 51.12.200.32 51.12.201.32/29、51.12.200.32/29、51.12.198.32/27
瑞士北部 51.107.56.0 51.107.56.32/29、51.103.203.192/29、20.208.19.192/29、51.107.242.32/27
瑞士西部 51.107.152.0 51.107.153.32/29、51.107.250.64/27
阿拉伯聯合大公國中部 20.37.72.64 20.37.72.96/29、20.37.73.96/29、20.37.71.64/27
阿拉伯聯合大公國北部 65.52.248.0 20.38.152.24/29、40.120.72.32/29、65.52.248.32/29、20.38.143.64/27
英國南部 51.105.64.0 51.105.64.32/29、51.105.72.32/29、51.140.144.32/29、51.143.209.224/27
英國西部 51.140.208.98 51.140.208.96/29、51.140.209.32/29、20.58.66.128/27
美國中西部 13.71.193.34 13.71.193.32/29、20.69.0.32/27
西歐 13.69.105.208, 104.40.169.187 104.40.169.32/29、13.69.112.168/29、52.236.184.32/29、20.61.99.192/27
美國西部 13.86.216.212、13.86.217.212 20.168.163.192/29、13.86.217.224/29、20.66.3.64/27
美國西部 2 13.66.136.192 13.66.136.192/29、40.78.240.192/29、40.78.248.192/29、20.51.9.128/27
美國西部 3 20.150.184.2 20.150.168.32/29、20.150.176.32/29、20.150.184.32/29、20.150.241.128/27

連線重新導向

適用於 MySQL 的 Azure 資料庫支援額外的連線原則重新導向,有助於降低用戶端應用程式與 MySQL 伺服器之間的網路延遲。 透過重新導向,並在建立與適用於 MySQL 的 Azure 資料庫伺服器的初始 TCP 工作階段之後,伺服器會將裝載 MySQL 伺服器的節點後端位址傳回至用戶端。 之後,所有後續封包都會直接流向伺服器,並略過閘道。 因為封包直接流向伺服器,所以已改善延遲和輸送量的效能。

引擎 5.7 和 8.0 版的適用於 MySQL 的 Azure 資料庫伺服器支援此功能。

PHP mysqlnd_azure 延伸模組提供重新導向支援,而此延伸模組由 Microsoft 所開發,而且可以在 PECL 上使用。 如需如何在應用程式中使用重新導向的詳細資訊,請參閱設定重新導向一文。

重要

PHP mysqlnd_azure \(英文\) 延伸模組中的重新導向支援目前為預覽狀態。

常見問題集

您需要了解此計劃性維護的事項為何?

這只是對用戶端透明的 DNS 變更。 在 DNS 伺服器中變更 FQDN 的 IP 位址時,將會在 5 分鐘內重新整理本機 DNS 快取,而且這項作業是由作業系統自動完成。 本機 DNS 重新整理之後,所有新的連線都將會連線至新的 IP 位址,而且,除非完全解除委任舊的 IP 位址,否則所有現有連線仍然會連線至舊的 IP 位址,而不中斷。 舊的 IP 位址大約需要三到四周的時間才會予以解除委任;因此,應該不會影響用戶端應用程式。

我們要解除委任的事項為何?

只會解除委任閘道節點。 使用者連線至其伺服器時,在將連線轉送至伺服器之前,連線的第一個停止點是閘道節點。 我們正在解除委任舊的閘道通道 (不是伺服器執行所在的租用戶通道),請參閱連線架構以取得進一步釐清。

如何驗證您的連線前往舊的閘道節點還是新的閘道節點?

偵測您伺服器的 FQDN,例如 ping xxx.mysql.database.azure.com。 如果所傳回的 IP 位址是上述文件中「閘道 IP 位址 (解除委任中)」下所列的其中一個 IP,則表示您的連線通過舊的閘道。 相反地,如果所傳回的 IP 位址是「閘道 IP 位址」下所列的其中一個 IP,則表示您的連線通過新的閘道。

您也可以使用連接埠 3306 從用戶端應用程式透過 PSP 或 TCP 連線至資料庫伺服器以進行測試,並確定所傳回的 IP 位址不是其中一個解除委任中 IP 位址

如何知道維護何時結束,以及是否將會在解除委任舊的 IP 位址時收到另一個通知?

您會接收到一封電子郵件,通知您何時將開始維護工作。 根據所有區域中需要移轉的伺服器數目,維護最多可能需要一個月的時間。 準備您的用戶端,以使用 FQDN 或使用上表中的新 IP 位址連線至資料庫伺服器。

如果我的用戶端應用程式仍然連線至舊的閘道伺服器,該怎麼辦?

這指出您的應用程式使用靜態 IP 位址連線至伺服器,而不是 FQDN。 請檢閱連接字串和連線共用設定、AKS 設定,甚至是在原始程式碼中。

我的應用程式連線是否有任何影響?

這項維護只是 DNS 變更,因此對用戶端而言是透明的。 在用戶端中重新整理 DNS 快取 (由作業系統自動完成) 之後,所有新的連線都將會連線至新的 IP 位址,而且,除非完全解除委任舊的 IP 位址,否則所有現有連線仍然會正常運作,而這通常是在數週之後發生。 此案例不需要重試邏輯,但最好看到應用程式已設定重試邏輯。 在應用程式連接字串中使用 FQDN 連線至應用程式伺服器。 此維護作業不會卸除現有連線。 其只會讓新的連線要求前往新的閘道通道。

我是否可以要求維護的特定時間範圍?

因為移轉應該是透明而且不會影響客戶連線,所以我們預期大部分的使用者都不會有問題。 主動檢閱您的應用程式,並確定您使用 FQDN 連線至資料庫伺服器,或啟用在應用程式連接字串中列出新的「閘道 IP 位址」。

否,這是閘道硬體解除委任,與私人連結或私人 IP 位址無關,只會影響解除委任中 IP 位址下所提及的公用 IP 位址。

下一步