適用於 MariaDB 的 Azure 資料庫 伺服器防火牆規則

重要

適用於 MariaDB 的 Azure 資料庫 位於淘汰路徑上。 強烈建議您移轉至 適用於 MySQL 的 Azure 資料庫。 如需移轉至 適用於 MySQL 的 Azure 資料庫 的詳細資訊,請參閱 適用於 MariaDB 的 Azure 資料庫 發生什麼事?

防火牆會防止您資料庫伺服器的所有存取,直到您指定哪些計算機具有許可權為止。 此防火牆會根據每一個要求的來源 IP 位址來授與伺服器存取權。

若要設定防火牆,請建立防火牆規則,以指定可接受的IP位址範圍。 您可以在伺服器層級建立防火牆規則。

防火牆規則:這些規則可讓用戶端存取整個 適用於 MariaDB 的 Azure 資料庫 伺服器,也就是相同邏輯伺服器內的所有資料庫。 您可以使用 Azure 入口網站 或 Azure CLI 命令來設定伺服器層級防火牆規則。 若要建立伺服器層級的防火牆規則,您必須是訂用帳戶擁有者或訂用帳戶參與者。

防火牆概觀

防火牆預設會封鎖對您 適用於 MariaDB 的 Azure 資料庫 伺服器的所有數據庫存取。 若要從另一部計算機開始使用您的伺服器,您必須指定一或多個伺服器層級防火牆規則,才能存取您的伺服器。 使用防火牆規則來指定因特網允許的IP位址範圍。 存取 Azure 入口網站 網站本身不會受到防火牆規則的影響。

從因特網和 Azure 進行 連線 嘗試必須先通過防火牆,才能連線到您的 適用於 MariaDB 的 Azure 資料庫 資料庫,如下圖所示:

Example flow of how the firewall works

從因特網 連線

伺服器層級防火牆規則會套用至 適用於 MariaDB 的 Azure 資料庫 伺服器上的所有資料庫。

如果要求的IP位址位於伺服器層級防火牆規則中指定的其中一個範圍內,則會授與連線。

如果要求的IP位址超出任何資料庫層級或伺服器層級防火牆規則中指定的範圍,則連線要求會失敗。

從 Azure 連線

建議您尋找任何應用程式或服務的傳出IP位址,並明確允許存取這些個別IP位址或範圍。 例如,您可以找到 Azure App 服務 的傳出IP位址,或使用系結至虛擬機或其他資源的公用IP(請參閱下方,以取得透過服務端點與虛擬機的私人IP連線的私人IP聯機的資訊)。

如果您的 Azure 服務無法使用固定傳出 IP 位址,您可以考慮啟用來自所有 Azure 資料中心 IP 位址的連線。 您可以從 Azure 入口網站 啟用此設定,方法是從 [連線 ion 安全性] 窗格將 [允許存取 Azure 服務] 選項設定[開啟],然後按兩下 [儲存]。 從 Azure CLI 中,開頭和結束位址等於 0.0.0.0 的防火牆規則設定會執行對等作業。 如果不允許連線嘗試,要求就不會到達 適用於 MariaDB 的 Azure 資料庫 伺服器。

重要

[允許存取 Azure 服務] 選項會設定防火牆,以允許所有來自 Azure 的連線,包括來自其他客戶訂用帳戶的連線。 選取這個選項時,請確定您的登入和使用者權限會限制為只有授權的使用者才能存取。

Configure Allow access to Azure services in the portal

從 VNet 連線

若要從 VNet 安全地連線到 適用於 MariaDB 的 Azure 資料庫 伺服器,請考慮使用 VNet 服務端點

以程序設計方式管理防火牆規則

除了 Azure 入口網站 之外,您也可以使用 Azure CLI 以程式設計方式管理防火牆規則。

請參閱使用 Azure CLI 建立和管理 適用於 MariaDB 的 Azure 資料庫 防火牆規則。

對防火牆問題進行疑難排解

當存取 Microsoft 適用於 MariaDB 的 Azure 資料庫 伺服器服務未如預期般運作時,請考慮下列幾點:

  • 允許清單的變更尚未生效:變更 適用於 MariaDB 的 Azure 資料庫 伺服器防火牆設定可能會有 5 分鐘的延遲才會生效。

  • 登入未獲授權或密碼不正確:如果登入沒有 適用於 MariaDB 的 Azure 資料庫 伺服器的許可權,或所使用的密碼不正確,則會拒絕與 適用於 MariaDB 的 Azure 資料庫 伺服器的連線。 建立防火牆設定只會讓用戶端有機會嘗試連線到您的伺服器;每個客戶端都必須提供必要的安全性認證。

  • 動態IP位址: 如果您有與動態IP尋址的因特網連線,而且無法通過防火牆,您可以嘗試下列其中一個解決方案:

    • 請向因特網服務提供者 (ISP) 要求指派給存取 適用於 MariaDB 的 Azure 資料庫 伺服器的用戶端電腦的IP位址範圍,然後將IP位址範圍新增為防火牆規則。

    • 改為取得用戶端計算機的靜態 IP 位址,然後將 IP 位址新增為防火牆規則。

  • 伺服器的IP似乎為公用:連線 至 適用於 MariaDB 的 Azure 資料庫 伺服器會透過可公開存取的 Azure 閘道路由傳送。 不過,實際的伺服器 IP 會受到防火牆保護。 如需詳細資訊,請瀏覽連線架構文章

  • 無法使用允許的IP從 Azure 資源連線: 檢查 是否已針對您要連線的子網啟用 Microsoft.Sql 服務端點。 如果 已啟用 Microsoft.Sql ,表示您只想要在該子網上使用 VNet 服務端點規則

    例如,如果您從已啟用 Microsoft.Sql 但沒有對應的 VNet 規則的子網中的 Azure VM 連線,您可能會看到下列錯誤:FATAL: Client from Azure Virtual Networks is not allowed to access the server

  • 防火牆規則不適用於 IPv6 格式: 防火牆規則必須是 IPv4 格式。 如果您指定 IPv6 格式的防火牆規則,將會顯示驗證錯誤。

下一步