使用 Azure Compute REST API 為同一區域或跨區域的虛擬機建立應用程式一致或崩潰相容的還原點。
API 參考資料: 還原點 | 、還原點集合、 | PowerShell
先決條件
建立 VM 還原點
以下章節將說明使用 Azure Compute REST API 建立虛擬機還原點所需的步驟。
你可以在 還原點、 PowerShell 和 還原點集合 API 文件中找到更多資訊。
步驟 1:建立虛擬機還原點集合
還原點集合是保存虛擬機所有還原點的父資源。
呼叫 還原點集合 — 建立或更新 API:
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{collectionName}?api-version=2025-04-01
請求正文:
{
"location": "<region>",
"properties": {
"source": {
"id": "<VM Arm Id>"
},
"instantAccess": true
}
}
- 將
location設定為虛擬機的區域以進行本地集合,或設為目標區域以進行跨區域集合(並將來源還原點集合的 ARM 資源 ID 包含在其中source.id)。 - 要啟用即時存取,請將
"instantAccess": true新增到properties。 即時存取僅適用於使用 Premium SSD v2 或 Ultra 磁碟作為資料磁碟的虛擬機。 它支援在集合中建立的應用程式一致性及多磁碟崩潰一致性(預覽版)還原點,且需要 API 版本2025-04-01或更新版本。
步驟 2:建立虛擬機還原點
呼叫在步驟 1 建立之集合中的還原點 — 建立 API:
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{collectionName}/restorePoints/{restorePointName}?api-version=2025-04-01
請求正文:
{
"name": "<restorePointName>",
"properties": {
"instantAccessDurationMinutes": 120
}
}
注意: instantAccessDurationMinutes 是可選參數。 預設是300(5小時)。 可以設定較低的數值,但不能高於300。 此規定適用於未來的還原點,不適用於已建立的現有還原點。
請求體的關鍵屬性:
| 房產 | Description |
|---|---|
consistencyMode |
省略以與應用程式一致(預設)。 設定為CrashConsistent以建立損毀一致還原點。 |
excludeDisks |
Optional. 要從還原點中排除的磁碟識別碼陣列,以降低儲存成本。 |
instantAccessDurationMinutes |
Optional. (僅限即時存取) 持續時間以分鐘為單位,即可即時存取。 有效範圍:60–300。 預設:300分鐘(5小時)。 |
要建立一個多磁碟當機一致且即時存取時長為 120 分鐘的還原點(預覽中),請在步驟 1 的即時存取啟用集合中使用以下請求主體:
{
"properties": {
"consistencyMode": "CrashConsistent",
"instantAccessDurationMinutes": 120
}
}
步驟 3:追蹤虛擬機還原點建立的狀態
本地還原點 會在幾秒內完成。 檢查還原點上的 provisioningState——它會從 Creating 變為 Succeeded(或 Failed)。
跨區域還原點 是一項長期運作的作業。 輪詢 API,以確認每個磁碟的複製進度 ($expand=instanceView)。 還原點只有在所有磁碟還原點完成複寫後才可用。
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{collectionName}/restorePoints/{restorePointName}?$expand=instanceView&api-version=2025-04-01
即時存取狀態: 如果集合啟用了即時存取,請檢查 instantAccessState 還原點以驗證所有磁碟還原點的整合存取狀態。 值為 InstantAccess 或 AvailableWithInstantAccess 表示還原點已準備好進行快速磁碟還原。 只有在您需要檢查個別磁碟還原點的狀態時,才在 instanceView 中使用每個磁碟的 snapshotAccessState。
步驟四:停用即時存取
請使用以下 REST API 呼叫來停用虛擬機器上已啟用的 IA。
PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{restorePointCollectionName}?api-version=2025-04-01
請求正文:
{
"location": "<region>",
"properties": {
"source": {
"id": "<VM Arm Id>"
},
"instantAccess": false
}
}