Azure HPC Cache 的必要條件
建立新的 Azure HPC Cache 之前,請確定您的環境符合這些需求。
Azure 訂用帳戶
建議付費訂閱 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 伺服器新增到虛擬網路:
- 在 Azure 入口網站中開啟虛擬網路。
- 從側邊欄中的 [設定] 功能表內選擇 [DNS 伺服器]。
- 選取 [自訂]
- 在欄位中輸入 DNS 伺服器的 IP 位址。
也可以使用簡單的 DNS 伺服器,處理所有可用快取掛接點之間的用戶端連線的負載平衡。
若要深入瞭解 Azure 虛擬網路和 DNS 伺服器設定,請參閱 Azure 虛擬網路中的資源名稱解析。
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 會使用佇列服務。
如果快取無法存取佇列服務,您可能會在建立快取時看到 CacheConnectivityError 訊息。
有兩種方式可以提供存取:
在您的快取子網路中建立 Azure 儲存體服務端點。 如需新增 Microsoft.Storage 服務端點的指示,請參閱新增虛擬網路子網路。
個別設定對網路安全性群組或其他防火牆中的 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 中的主機,即針對至 *.events.data.microsoft.com
的流量開啟 TCP 通訊埠 443。
權限
開始建立您的快取之前,請先檢查這些權限相關的必要條件。
快取執行個體必須要能夠建立虛擬網路介面 (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,可能需要將其設定為 clamp 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 儲存體目標對儲存體帳戶的需求各不相同。 請仔細依照使用網路檔案系統 (NFS) 3.0 通訊協定來掛接 Blob 儲存體的指示,建立並設定 NFS 已啟用的儲存體帳戶。
以下會大致說明步驟。 這些步驟可能會變更,因此請一律參閱 ADLS-NFS 指示以取得目前的詳細資料。
請確定您在預計要處理的區域可使用所需的功能。
為您的訂閱啟用 NFS 通訊協定功能。 建立儲存體帳戶之前,請先執行此步驟。
為儲存體帳戶建立安全的虛擬網路 (VNet)。 請讓已啟用 NFS 的儲存體帳戶和 Azure HPC Cache 使用相同的虛擬網路。 (請勿使用與該快取相同的子網路。)
建立儲存體帳戶。
請依照操作說明文件的指示,而不是使用標準 blob 儲存體帳戶的儲存體帳戶設定。 支援的儲存體帳戶類型可能會因 Azure 區域而異。
在 [網路] 區段中,選擇您所建立的安全虛擬網路中的私人端點 (建議),或選擇具有安全 VNet 受限存取的公用端點。
如需搭配 HPC Cache 儲存體目標使用私人端點的秘訣,請參閱使用私人端點。
別忘了完成 [進階] 區段,您可在此啟用 NFS 存取。
讓 Azure 儲存體帳戶可存取快取應用程式,如上述權限中所述。 您在第一次建立儲存體目標時即可執行此動作。 請依照新增儲存體目標中的程序,為快取授予所需的存取角色。
如果您不是儲存體帳戶擁有者,請讓擁有者執行此步驟。
如需深入瞭解如何搭配 Azure HPC Cache 使用 ADLS-NFS 儲存體目標,請參閱搭配使用掛接 NFS 的 Blob 儲存體與 Azure HPC Cache。
使用私人端點
Azure 儲存體支援私人端點,以允許安全的資料存取。 您可以使用私人端點搭配 Azure Blob 或 NFS 掛接的 blob 儲存體目標。
私人端點提供 HPC Cache 用來與後端儲存體系統通訊的特定 IP 位址。 如果 IP 位址變更,快取就無法自動重新建立與儲存體的連線。
如果需要變更私人端點的設定,請依照此程序,以免儲存體與 HPC Cache 之間出現通訊問題:
- 暫止儲存體目標 (或使用此私人端點的所有儲存體目標)。
- 對私人端點進行變更,並儲存這些變更。
- 使用 "resume" 命令將儲存體目標放回服務。
- 重新整理儲存體目標的 DNS 設定。
請參閱檢視並管理儲存體目標,以瞭解如何暫止、繼續和重新整理儲存體目標的 DNS。
設定 Azure CLI 存取 (選用)
如果想要從 Azure CLI 建立或管理 Azure HPC Cache,則需要安裝 Azure CLI 和 hpc-cache 延伸模組。 請依照設定適用於 Azure HPC Cache 的 Azure CLI 的指示。
下一步
- 從 Azure 入口網站建立 Azure HPC Cache 執行個體