簡體   English   中英

如何從 Azure 批量訪問 Azure 數據庫?

[英]How to access Azure Database from Azure Batch?

我在 Azure 批處理任務內的 Docker 容器內有一個 Java 進程。

Java 進程試圖簡單地建立一個 JDBC 數據庫連接到 Azure 數據庫的 Z637AZ9404B4514DC7637AZ9404ACABB977DC7 服務。

連接錯誤包括“不允許使用 IP 地址 '52.224..(etc)' 的客戶端連接到此 MySQL 服務器。”

因此,我正在嘗試學習如何讓 Azure 批處理任務能夠連接到 Azure 數據庫的 MySQL。 我找不到任何似乎可以解決這一挑戰的文檔。

我可以看到 MySQL 的 Azure 數據庫包含基於 IP 的防火牆設置 - 但不知道這將如何用於允許從 Azure 批處理任務訪問。 由於 Azure Batch 采購了虛擬機 - 我不知道 IP 地址是什么,以便將其添加到數據庫防火牆規則中。 我也不想添加一系列 IP 地址,讓其他 Azure 帳戶連接到該數據庫,

在 AWS 中,這個問題是通過對數據庫的基於角色的訪問來處理的。 每個 AWS Batch 實例都可以分配給一個角色,該角色可以訪問它需要的任何 AWS 資源。

I have found no helpful documentation to solve this problem with Azure Batch in a similar way and MS Support has not been helpful - providing me a list of all possible Azure IP addresses - presumably to add to our firewall rules (impractical and insecure).

提前感謝您的幫助!

有兩種方法可以做到這一點:

  1. 最直接的方法是為 MySQL DB 使用虛擬網絡服務端點例如通過 Azure 門戶),並為Z3A580F142203677F1F35BC308988 批處理 Batch使用相同的虛擬網絡(通常在不同的子網中)。
  2. You can bring your own ARM-based Public IP addresses for an Azure Batch Pool and use those Public IP Addresses within the IP filtering/ACLs on the MySQL DB .

在 Azure 門戶中,為數據庫創建了一個私有端點連接,其中包括一個私有 IP 地址的分配。 Azure 然后批處理配置可以引用 JDBC 連接中數據庫的私有 IP - 假設批處理池引用相同的子網。

https://docs.microsoft.com/en-us/azure/private-link/private-endpoint-dns

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM