Azure HPC Cache 的必要條件

建立新的 Azure HPC Cache 之前,請確定您的環境符合這些需求。

Azure 訂用帳戶

建議使用付費訂用帳戶。

網路基礎結構

您必須先設定這些網路相關必要條件,才能使用快取:

  • Azure HPC Cache 實例的專用子網
  • DNS 支援,讓快取可以存取儲存體和其他資源
  • 從子網存取其他 Microsoft Azure 基礎結構服務,包括 NTP 伺服器和 Azure 佇列儲存體服務。

快取子網

Azure HPC Cache 需要具有下列品質的專用子網:

  • 子網必須至少有 64 個可用的 IP 位址。
  • 子網內的通訊必須不受限制。 如果您使用快取子網的網路安全性群組,請確定它允許內部 IP 位址之間的所有服務。
  • 子網無法裝載任何其他 VM,即使是用戶端電腦等相關服務也一樣。
  • 如果您使用多個 Azure HPC Cache 實例,則每個實例都需要自己的子網。

最佳做法是為每個快取建立新的子網。 您可以在建立快取時建立新的虛擬網路和子網。

建立此子網時,請小心其安全性設定允許存取本節稍後所述的必要基礎結構服務。 您可以限制輸出網際網路連線,但請確定這裡記載的專案有例外狀況。

DNS 存取

快取需要 DNS 才能存取其虛擬網路外部的資源。 根據您使用的資源而定,您可能需要設定自訂的 DNS 伺服器,並設定該伺服器與 Azure DNS 伺服器之間的轉送:

  • 若要存取 Azure Blob 儲存體端點和其他內部資源,您需要以 Azure 為基礎的 DNS 伺服器。
  • 若要存取內部部署儲存體,您必須設定可解析儲存體主機名稱的自訂 DNS 伺服器。 您必須先執行此動作,才能建立快取。

如果您只使用 Blob 儲存體,您可以使用預設 Azure 提供的 DNS 伺服器進行快取。 不過,如果您需要存取 Azure 外部的儲存體或其他資源,您應該建立自訂 DNS 伺服器,並將其設定為將任何 Azure 特定解析要求轉送至 Azure DNS 伺服器。

若要使用自訂 DNS 伺服器,您必須先執行這些設定步驟,才能建立快取:

  • 建立將裝載 Azure HPC Cache 的虛擬網路。

  • 建立 DNS 伺服器。

  • 將 DNS 伺服器新增到快取的虛擬網路。

    遵循這些步驟以在 Azure 入口網站中將 DNS 伺服器新增到虛擬網路:

    1. 在 Azure 入口網站中開啟虛擬網路。
    2. 從側邊欄中的 [設定] 功能表內選擇 [DNS 伺服器]。
    3. 選取 [自訂]
    4. 在欄位中輸入 DNS 伺服器的 IP 位址。

簡單的 DNS 伺服器也可以用來平衡所有可用快取掛接點之間的用戶端連線負載。

在 Azure 虛擬網路 中資源的名稱解析中 深入瞭解 Azure 虛擬網路和 DNS 伺服器組態。

NTP 存取

HPC Cache 需要存取 NTP 伺服器以進行一般作業。 如果您限制來自虛擬網路的輸出流量,請務必允許至少一部 NTP 伺服器的流量。 預設伺服器為 time.windows.com,而快取會在 UDP 埠 123 上連絡此伺服器。

在快取網路的 網路安全性群組中 建立規則,以允許將流量輸出到您的 NTP 伺服器。 此規則可以只允許 UDP 埠 123 上的所有輸出流量,或有更多限制。

此範例會明確開啟 IP 位址 168.61.215.74 的輸出流量,這是 time.windows.com 所使用的位址。

優先順序 名稱 連接埠 通訊協定 來源 Destination 動作
200 NTP 任何 UDP 任何 168.61.215.74 允許

請確定 NTP 規則的優先順序高於任何廣泛拒絕輸出存取的規則。

NTP 存取的更多秘訣:

  • 如果您的 HPC Cache 與 NTP 伺服器之間有防火牆,請確定這些防火牆也允許 NTP 存取。

  • 您可以在 [網路 ] 頁面上設定 HPC Cache 所使用的 NTP 伺服器。 如需詳細資訊,請參閱 設定其他設定

Azure 佇列儲存體存取

快取必須能夠從其專用子網內安全地存取 Azure 佇列儲存體服務 。 Azure HPC Cache 會在通訊組態和狀態資訊時使用佇列服務。

如果快取無法存取佇列服務,您可能會在建立快取時看到 Cache連線ivityError 訊息。

有兩種方式可提供存取權:

  • 在快取子網中建立Azure 儲存體服務端點。 如需新增 Microsoft.儲存體 服務端點的指示,請參閱 新增 虛擬網路子網

  • 個別設定您網路安全性群組或其他防火牆中 Azure 儲存體佇列服務網域的存取權。

    新增規則以允許在這些埠上存取:

    • TCP 埠 443 可保護網域中任何主機的流量 queue.core.windows.net ( *.queue.core.windows.net )。

    • TCP 埠 80 - 用於驗證服務器端憑證。 這有時稱為憑證撤銷清單 (CRL) 檢查和線上憑證狀態通訊協定 (OCSP) 通訊。 所有 *.queue.core.windows.net 都使用相同的憑證,因此使用相同的 CRL/OCSP 伺服器。 主機名稱會儲存在伺服器端 SSL 憑證中。

    如需詳細資訊,請參閱 NTP 存取 的安全性規則秘訣。

    此命令會列出需要允許存取的 CRL 和 OSCP 伺服器。 這些伺服器必須由 DNS 解析,而且可從快取子網連線到埠 80。

    
    openssl s_client -connect azure.queue.core.windows.net:443 2>&1 < /dev/null | sed -n '/-----BEGIN/,/-----END/p' | openssl x509 -noout -text -in /dev/stdin |egrep -i crl\|ocsp|grep URI
    
    

    輸出看起來會像這樣,而且如果 SSL 憑證更新,可能會變更:

    OCSP - URI:http://ocsp.msocsp.com
    CRL - URI:http://mscrl.microsoft.com/pki/mscorp/crl/Microsoft%20RSA%20TLS%20CA%2002.crl
    CRL - URI:http://crl.microsoft.com/pki/mscorp/crl/Microsoft%20RSA%20TLS%20CA%2002.crl
    

您可以從子網內的測試 VM 使用此命令來檢查子網的連線:

openssl s_client -connect azure.queue.core.windows.net:443 -status 2>&1 < /dev/null |grep "OCSP Response Status"

成功的連線會提供此回應:

OCSP Response Status: successful (0x0)

事件伺服器存取

Azure HPC Cache 會使用 Azure 事件伺服器端點來監視快取健康情況,並傳送診斷資訊。

請確定快取可以安全地存取網域中的主機 events.data.microsoft.com - 也就是說,開啟 TCP 埠 443,以便將流量傳送至 *.events.data.microsoft.com

權限

開始建立快取之前,請先檢查這些許可權相關必要條件。

  • 快取執行個體必須要能夠建立虛擬網路介面 (NIC)。 建立快取的使用者必須在訂用帳戶中擁有足夠的許可權,才能建立 NIC。

  • 如果使用 Blob 儲存體,Azure HPC Cache 需要授權才能存取您的儲存體帳戶。 使用 Azure 角色型存取控制 (Azure RBAC) 為 Blob 儲存體提供快取存取權。 需要兩個角色:儲存體帳戶參與者和儲存體 Blob 資料參與者。

    請遵循新增儲存體目標 中的 指示來新增角色。

儲存體基礎結構

快取支援 Azure Blob 容器、NFS 硬體儲存體匯出,以及 NFS 掛接的 ADLS Blob 容器。 在您建立快取之後新增儲存體目標。

每個儲存體類型都有特定的必要條件。

Blob 儲存體需求

如果您想要搭配快取使用 Azure Blob 儲存體,您需要相容的儲存體帳戶和空白 Blob 容器,或填入 Azure HPC Cache 格式化資料的容器,如將資料移至 Azure Blob 儲存體 中所述

注意

不同的需求適用于 NFS 掛接的 Blob 儲存體。 如需詳細資訊,請閱讀 ADLS-NFS 儲存體需求

嘗試新增儲存體目標之前,請先建立帳戶。 當您新增目標時,您可以建立新的容器。

若要建立相容的儲存體帳戶,請使用下列其中一種組合:

效能 類型 複寫 存取層
標準 StorageV2 (一般用途 v2) 本地備援儲存體 (LRS) 或區域備援儲存體 (ZRS) 經常性
進階 區塊 Blob 本地備援儲存體 (LRS) 經常性

儲存體帳戶必須可從快取的私人子網存取。 如果您的帳戶使用私人端點或受限於特定虛擬網路的公用端點,請務必啟用來自快取子網的存取。 (不建議 使用開放式公用端點

如需搭配 HPC Cache 儲存體目標使用私人端點的秘訣,請參閱 使用私人端點

最好在與快取相同的 Azure 區域中使用儲存體帳戶。

您也必須提供 Azure 儲存體帳戶的快取應用程式存取權,如上述許可權 中所述 。 請遵循新增儲存體目標 中的 程式,為快取提供必要的存取角色。 如果您不是儲存體帳戶擁有者,請讓擁有者執行此步驟。

NFS 儲存體需求

如果使用 NFS 儲存系統(例如內部部署硬體 NAS 系統),請確定它符合這些需求。 您可能需要與儲存體系統(或資料中心)的網路系統管理員或防火牆管理員合作,以驗證這些設定。

注意

如果快取無法存取 NFS 儲存體系統,儲存體目標建立將會失敗。

如需詳細資訊,請參閱 針對 NAS 設定和 NFS 儲存體目標問題 進行疑難排解。

  • 網路連線:Azure HPC Cache 需要快取子網與 NFS 系統資料中心之間的高頻寬網路存取。 建議使用 ExpressRoute 或類似的存取。 如果使用 VPN,您可能需要將它設定為將 TCP MSS 固定在 1350,以確保不會封鎖大型封包。 如需針對 VPN 設定進行疑難排解的更多協助, 請參閱 VPN 封包大小限制。

  • 埠存取:快取需要存取儲存體系統上的特定 TCP/UDP 埠。 不同類型的儲存體有不同的埠需求。

    若要檢查儲存體系統的設定,請遵循此程式。

    • rpcinfo 儲存體系統發出命令,以檢查所需的埠。 下列命令會列出埠,並將資料表中的相關結果格式化。 (使用您系統的 IP 位址來取代 <> storage_IP字詞。

      您可以從已安裝 NFS 基礎結構的任何 Linux 用戶端發出此命令。 如果您使用叢集子網內的用戶端,它也可以協助驗證子網與儲存體系統之間的連線。

      rpcinfo -p <storage_IP> |egrep "100000\s+4\s+tcp|100005\s+3\s+tcp|100003\s+3\s+tcp|100024\s+1\s+tcp|100021\s+4\s+tcp"| awk '{print $4 "/" $3 " " $5}'|column -t
      

    請確定查詢傳 rpcinfo 回的所有埠都允許來自 Azure HPC Cache 子網的無限制流量。

    • 如果您無法使用 rpcinfo 命令,請確定這些常用的埠允許輸入和輸出流量:

      通訊協定 Port 服務
      TCP/UDP 111 rpcbind
      TCP/UDP 2049 NFS
      TCP/UDP 4045 nlockmgr
      TCP/UDP 4046 mountd
      TCP/UDP 4047 status

      某些系統會針對這些服務使用不同的埠號碼 - 請參閱您的儲存體系統檔以確定。

    • 檢查防火牆設定,以確定它們允許所有必要端口上的流量。 請務必檢查 Azure 中使用的防火牆,以及資料中心的內部部署防火牆。

  • NFS 後端儲存體必須是相容的硬體/軟體平臺。 儲存體必須支援 NFS 第 3 版(NFSv3)。 如需詳細資訊,請連絡 Azure HPC Cache 小組。

NFS 掛接的 Blob (ADLS-NFS) 儲存體需求

Azure HPC Cache 也可以使用掛接至 NFS 通訊協定的 Blob 容器作為儲存體目標。

深入瞭解 Azure Blob 儲存體 中的 NFS 3.0 通訊協定支援中這項功能。

ADLS-NFS Blob 儲存體目標和標準 Blob 儲存體目標的儲存體帳戶需求不同。 請仔細遵循掛接 Blob 儲存體中的 指示,使用網路檔案系統 (NFS) 3.0 通訊協定 來建立及設定已啟用 NFS 的儲存體帳戶。

這是步驟的一般概觀。 這些步驟可能會變更,因此請一 律參考 ADLS-NFS 指示 以取得目前的詳細資料。

  1. 請確定您需要的功能可在您計畫工作的區域中取得。

  2. 為您的訂用帳戶啟用 NFS 通訊協定功能。 請先執行此動作 ,再 建立儲存體帳戶。

  3. 建立儲存體帳戶的安全虛擬網路 (VNet)。 您應該針對已啟用 NFS 的儲存體帳戶和 Azure HPC Cache 使用相同的虛擬網路。 (請勿使用與快取相同的子網。

  4. 建立儲存體帳戶。

在搭配 Azure HPC Cache 使用 NFS 掛接的 Blob 儲存體中 ,深入瞭解如何搭配使用 ADLS-NFS 儲存體目標與 Azure HPC Cache

使用私人端點

Azure 儲存體支援私人端點,以允許安全的資料存取。 您可以使用私人端點搭配 Azure Blob 或 NFS 掛接的 Blob 儲存體目標。

深入瞭解私人端點

私人端點會提供 HPC Cache 用來與後端儲存體系統通訊的特定 IP 位址。 如果該 IP 位址變更,快取就無法自動重新建立與儲存體的連線。

如果您需要變更私人端點的組態,請遵循此程式,以避免儲存體與 HPC Cache 之間的通訊問題:

  1. 暫停儲存體目標(或使用此私人端點的所有儲存體目標)。
  2. 對私人端點進行變更,並儲存這些變更。
  3. 使用 「resume」 命令,將儲存體目標放回服務。
  4. 重新整理儲存體目標的 DNS 設定。

請參閱 檢視和管理儲存體目標 ,以瞭解如何暫停、繼續及重新整理儲存體目標的 DNS。

設定 Azure CLI 存取權 (選擇性)

如果您想要從 Azure CLI 建立或管理 Azure HPC Cache,您必須安裝 Azure CLI 和 hpc-cache 擴充功能。 遵循設定 Azure CLI for Azure HPC Cache 中的 指示。

下一步