在建立新的 Azure HPC 快取之前,請確保您的環境符合這些要求。
Azure 訂用帳戶
建議付費訂閱。
網路基礎結構
以下與網路相關的先決條件必須先設定好,才能使用快取:
- Azure HPC 快取實例專用子網路
- 具備 DNS 支援,以便快取能夠存取儲存空間及其他資源
- 從子網存取更多 Microsoft Azure 基礎架構服務,包括 NTP 伺服器及 Azure 佇列儲存服務。
快取子網路
Azure HPC 快取需要一個專用子網路,該子網路需具備下列特性:
- 子網必須至少有 64 個 IP 位址可用。
- 子網內的通訊必須不受限制。 如果你用網路安全群組管理快取子網,請確保它允許所有內部 IP 位址間的服務。
- 子網路不能承載其他虛擬機,即使是相關服務如客戶端機器。
- 如果你使用多個 Azure HPC 快取實例,每個實例都需要自己的子網路。
最佳做法是為每個快取建立一個新的子網路。 你可以在建立快取時建立新的虛擬網路和子網路。
建立此子網時,請注意其安全設定是否允許存取本節後述的必要基礎設施服務。 你可以限制外撥網路連線,但請確保這裡記錄的項目有例外。
DNS 存取
快取需要 DNS 才能存取虛擬網路外的資源。 根據你使用的資源,你可能需要設定一個自訂的 DNS 伺服器,並設定該伺服器與 Azure DNS 伺服器之間的轉發:
- 要存取 Azure Blob 儲存端點及其他內部資源,你需要基於 Azure 的 DNS 伺服器。
- 要存取本地儲存,你需要設定一個自訂的 DNS 伺服器來解析你的儲存主機名稱。 你必須在建立快取之前完成這件事情。
如果你只使用 Blob 儲存,可以用 Azure 預設提供的 DNS 伺服器來存放快取。 不過,如果你需要存取 Azure 以外的儲存空間或其他資源,應該建立一個自訂 DNS 伺服器,並設定它能將任何 Azure 專屬的解析請求轉發到 Azure DNS 伺服器。
要使用自訂 DNS 伺服器,你需要在建立快取前完成以下設定步驟:
建立一個虛擬網路來托管 Azure HPC 快取。
建立 DNS 伺服器。
將 DNS 伺服器加入快取的虛擬網路。
請依照以下步驟將 DNS 伺服器加入 Azure 入口網站的虛擬網路:
- 在 Azure 入口網站開啟虛擬網路。
- 從側邊欄的設定選單選擇 DNS 伺服器。
- 選擇自訂
- 輸入 DNS 伺服器的 IP 位址。
簡單的 DNS 伺服器也可以用來在所有可用的快取掛載點間平衡客戶端連線。
在 Azure 虛擬網路資源的名稱解析中,了解更多關於 Azure 虛擬網路與 DNS 伺服器配置的資訊。
NTP 存取權
HPC 快取需要存取 NTP 伺服器才能正常運作。 如果你限制虛擬網路的外向流量,務必確保允許至少一台 NTP 伺服器的流量。 預設伺服器是 time.windows.com,快取透過 UDP 埠 123 連接此伺服器。
在快取網路的 網路安全群組 中建立一條規則,允許 NTP 伺服器的外發流量。 該規則可以直接允許所有 UDP 埠口 123 的出站流量,或者施加其他限制。
此範例明確開放出站流量至 IP 位址 168.61.215.74,該位址即為 time.windows.com 所使用的位址。
| Priority | 名稱 | 港口 | 通訊協定 | 來源 | 目的地 | Action |
|---|---|---|---|---|---|---|
| 200 | NTP | 任意 | UDP | 任意 | 168.61.215.74 | 允許 |
確保 NTP 規則的優先權高於任何廣泛拒絕出站存取的規則。
更多關於進入 NTP 的建議:
如果你在 HPC 快取和 NTP 伺服器之間有防火牆,請確保這些防火牆也允許 NTP 存取。
你可以在 網路 頁面設定你的 HPC 快取使用哪台 NTP 伺服器。 閱讀 「配置其他設定 」以獲取更多資訊。
Azure Queue Storage 訪問
快取必須能從其專用子網路內安全存取 Azure 佇列儲存服務 。 Azure HPC 快取在傳遞組態與狀態資訊時會使用佇列服務。
如果快取無法存取佇列服務,建立快取時可能會看到 CacheConnectivityError 訊息。
提供通行權有兩種方式:
在你的快取子網路建立一個 Azure Storage 服務端點。 請閱讀 新增虛擬網路子網 ,了解如何新增 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 Access 中的安全規則提示。
此指令列出需要允許存取的 CRL 與 OCSP 伺服器。 這些伺服器必須能由 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
你可以透過子網路內的測試虛擬機使用以下指令檢查子網路的連線狀況:
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)。 建立快取的使用者必須在訂閱中擁有足夠的權限來建立網卡。
如果使用 Blob 存儲,Azure HPC 快取需要授予許可才能存取您的存儲帳號。 使用 Azure 角色基礎存取控制(Azure RBAC)來讓快取存取你的 Blob 儲存。 需要兩個角色:儲存帳戶貢獻者與儲存區資料貢獻者。
請依照 「新增儲存目標 」中的指示來新增角色。
儲存基礎設施
快取支援 Azure Blob 容器、NFS 硬體儲存匯出,以及 NFS 掛載的 ADLS blob 容器。 在建立快取後新增儲存目標。
每種儲存類型都有特定的先決條件。
Blob 儲存需求
如果你想在快取中使用 Azure Blob 儲存,你需要一個相容的儲存帳號,並且需要一個空的 Blob 容器,或是像「 將資料移到 Azure Blob 儲存」中描述的那樣,填充 Azure HPC 快取格式資料的容器。
Note
NFS 掛載的 blob 儲存有不同的要求。 詳情請閱讀 ADLS-NFS 儲存需求 。
在嘗試新增儲存目標之前,先先建立帳號。 你新增目標時可以建立一個新的容器。
要建立相容的儲存帳號,請使用以下組合之一:
| Performance | 類型 | 重複 | 存取層 |
|---|---|---|---|
| 標準 | StorageV2(通用目的版本二) | 本地冗餘儲存(LRS)或區域冗餘儲存(ZRS) | 熱的 |
| 進階 | 區塊 Blob | 本機備援儲存體 (LRS) | 熱的 |
儲存帳號必須能從用於快取的私人子網路存取。 如果你的帳號使用私有端點或僅限特定虛擬網路的公開端點,務必啟用快取子網的存取權限。 (不建議使用公開端點。)
閱讀《 Work with Private Endpoints 》一文,了解如何在 HPC 快取儲存目標中使用私有端點的技巧。
使用與快取相同 Azure 區域的儲存帳戶是個良好做法。
你也必須如上文權限所述,讓快取應用程式存取你的 Azure 儲存帳號。 請依照 「新增儲存目標 」中的步驟,賦予快取所需的存取角色。 如果你不是儲存帳戶的擁有者,請讓持有人做這個步驟。
NFS 儲存需求
若使用 NFS 儲存系統(例如本地硬體 NAS 系統),請確保符合這些要求。 你可能需要與儲存系統(或資料中心)的網路管理員或防火牆管理員合作,確認這些設定。
Note
如果快取裝置無法充分存取 NFS 儲存系統,儲存目標建立將失敗。
更多資訊收錄於 「故障排除 NAS 配置與 NFS 儲存目標問題」。
網路連線:Azure HPC 快取需要快取子網與 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 快取子網的無限制流量。如果你無法使用這個
rpcinfo指令,請確保這些常用埠口允許進出流量:通訊協定 港口 服務 TCP/UDP 協定 111 rpcbind TCP/UDP 協定 2049 NFS TCP/UDP 協定 4045 nlockmgr TCP/UDP 協定 4046 騎乘 TCP/UDP 協定 4047 狀態 有些系統會用不同的埠號來提供這些服務——請參考你儲存系統的文件以確認。
檢查防火牆設定,確保允許流量通過所有這些所需的埠。 務必檢查 Azure 使用的防火牆,以及你資料中心的本地防火牆。
NFS 後端儲存必須是相容的硬體/軟體平台。 儲存必須支援 NFS 版本 3(NFSv3)。 詳情請聯絡 Azure HPC 快取團隊。
NFS 掛載的 blob(ADLS-NFS)儲存需求
Azure HPC 快取也可以使用以 NFS 協定掛載的 blob 容器作為儲存目標。
想了解更多關於此功能的資訊,請參閱 Azure Blob 儲存中對 NFS 3.0 協定的支援。
ADLS-NFS blob 儲存目標與標準 blob 儲存目標的儲存帳號需求不同。 請依照 Mount Blob 儲存的指示,使用 Network File System(NFS)3.0 協定 ,建立並設定啟用 NFS 的儲存帳號。
這是步驟的一般概述。 這些步驟可能會有所變動,因此請務必參考 ADLS-NFS 說明 以獲得最新細節。
確保你需要的功能在你計劃工作的地區都能取得。
為您的訂閱啟用 NFS 協議功能。 在建立儲存帳號 之前 先做這件事。
為儲存帳號建立一個安全的虛擬網路(VNet)。 你應該使用同一個虛擬網路來管理你的 NFS 啟用儲存帳號和 Azure HPC 快取。 (請勿使用與快取相同的子網路。)
建立儲存帳號。
與其使用標準 blob 儲存帳號的儲存帳號設定,不如照 操作說明書的指示操作。 支援的儲存帳號類型可能會因 Azure 區域而異。
在網路區塊,選擇你建立的安全虛擬網路中的私有端點(建議),或選擇一個對安全 VNet 有限制存取權的公共端點。
閱讀《 Work with Private Endpoints 》一文,了解如何在 HPC 快取儲存目標中使用私有端點的技巧。
別忘了完成進階部分,開啟 NFS 存取。
如上所述,在權限中,讓快取應用程式存取你的 Azure 儲存帳號。 你可以在第一次建立儲存目標時這麼做。 請依照 「新增儲存目標 」中的步驟,賦予快取所需的存取角色。
如果你不是儲存帳戶的擁有者,請讓持有人做這個步驟。
進一步了解在 Azure HPC 快取中使用 ADLS-NFS 儲存目標,請參閱 使用 NFS 掛載的 Blob 儲存體與 Azure HPC 快取。
使用私有端點
Azure Storage 支援私有端點,以提供安全的資料存取。 你可以使用私有端點搭配 Azure Blob 或 NFS 掛載的 blob 儲存目標。
私有端點提供一個特定的 IP 位址,讓 HPC 快取用來與其後端儲存系統進行通訊。 如果 IP 位址改變,快取就無法自動重新建立與儲存裝置的連線。
若您需要更改私有端點的設定,請遵循以下程序以避免儲存與 HPC 快取間的通訊問題:
- 暫停儲存目標(或所有使用此私有端點的儲存目標)。
- 對私用端點進行修改,然後儲存這些變更。
- 用「resume」指令將儲存目標重新啟用。
- 重新整理儲存目標的 DNS 設定。
閱讀「 檢視與管理儲存目標 」,了解如何暫停、恢復及刷新儲存目標的DNS。
設定 Azure CLI 存取(可選)
如果你想從 Azure CLI 建立或管理 Azure HPC 快取,你需要安裝 Azure CLI 和 hpc-cache 擴充功能。 請依照 Set Up Azure CLI for Azure HPC Cache 的指示操作。
下一步
- 從 Azure portal 建立 Azure HPC Cache 實例