Tworzenie kopii zapasowej maszyny wirtualnej platformy Azure przy użyciu Azure Backup za pośrednictwem interfejsu API REST

W tym artykule opisano sposób zarządzania kopiami zapasowymi maszyny wirtualnej platformy Azure przy użyciu Azure Backup za pośrednictwem interfejsu API REST. Skonfiguruj ochronę po raz pierwszy dla wcześniej niechronionej maszyny wirtualnej platformy Azure, wyzwól kopię zapasową na żądanie dla chronionej maszyny wirtualnej platformy Azure i zmodyfikuj właściwości kopii zapasowej maszyny wirtualnej za pośrednictwem interfejsu API REST, jak wyjaśniono tutaj.

Zapoznaj się z samouczkami dotyczącymi tworzenia magazynu i tworzenia interfejsu API REST zasad na potrzeby tworzenia nowych magazynów i zasad.

Załóżmy, że chcesz chronić maszynę wirtualną "testVM" w grupie zasobów "testRG" do magazynu usługi Recovery Services "testVault", znajdującego się w grupie zasobów "testVaultRG" z zasadami domyślnymi (o nazwie "DefaultPolicy").

Konfigurowanie kopii zapasowej niechronionej maszyny wirtualnej platformy Azure przy użyciu interfejsu API REST

Odnajdywanie niechronionych maszyn wirtualnych platformy Azure

Najpierw magazyn powinien być w stanie zidentyfikować maszynę wirtualną platformy Azure. Jest to wyzwalane przy użyciu operacji odświeżania. Jest to asynchroniczna operacja POST , która zapewnia, że magazyn pobiera najnowszą listę wszystkich niechronionych maszyn wirtualnych w bieżącej subskrypcji i "buforuje". Gdy maszyna wirtualna zostanie "zbuforowana", usługi Recovery Services będą mogły uzyskiwać dostęp do maszyny wirtualnej i chronić ją.

POST https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{vaultresourceGroupname}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers?api-version=2016-12-01

Identyfikator URI POST ma {subscriptionId}parametry , {vaultName}, {vaultresourceGroupName}. {fabricName} Element {fabricName} to "Azure". Zgodnie z naszym przykładem {vaultName} jest "testVault" i {vaultresourceGroupName} jest "testVaultRG". Ponieważ wszystkie wymagane parametry są podane w identyfikatorze URI, nie ma potrzeby oddzielnej treści żądania.

POST https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/refreshContainers?api-version=2016-12-01

Odpowiedzi na operację odświeżania

Operacja "refresh" jest operacją asynchroniczną. Oznacza to, że ta operacja tworzy kolejną operację, która musi być śledzona oddzielnie.

Zwraca ona dwie odpowiedzi: 202 (Zaakceptowane), gdy zostanie utworzona inna operacja, a następnie 200 (OK) po zakończeniu tej operacji.

Nazwa Typ Opis
204 Brak zawartości OK bez zwróconej zawartości
Zaakceptowano 202 Zaakceptowano
Przykładowe odpowiedzi na operację odświeżania

Po przesłaniu żądania POST zostanie zwrócona odpowiedź 202 (zaakceptowana).

HTTP/1.1 202 Accepted
Pragma: no-cache
Retry-After: 60
X-Content-Type-Options: nosniff
x-ms-request-id: 43cf550d-e463-421c-8922-37e4766db27d
x-ms-client-request-id: 4910609f-bb9b-4c23-8527-eb6fa2d3253f; 4910609f-bb9b-4c23-8527-eb6fa2d3253f
Strict-Transport-Security: max-age=31536000; includeSubDomains
x-ms-ratelimit-remaining-subscription-writes: 1199
x-ms-correlation-request-id: 43cf550d-e463-421c-8922-37e4766db27d
x-ms-routing-request-id: SOUTHINDIA:20180521T105701Z:43cf550d-e463-421c-8922-37e4766db27d
Cache-Control: no-cache
Date: Mon, 21 May 2018 10:57:00 GMT
Location: https://management.azure.com/subscriptions//00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupFabrics/Azure/operationResults/aad204aa-a5cf-4be2-a7db-a224819e5890?api-version=2019-05-13
X-Powered-By: ASP.NET

Śledzenie wynikowej operacji przy użyciu nagłówka "Location" za pomocą prostego polecenia GET

GET https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupFabrics/Azure/operationResults/aad204aa-a5cf-4be2-a7db-a224819e5890?api-version=2019-05-13

Po odnalezieniu wszystkich maszyn wirtualnych platformy Azure polecenie GET zwraca odpowiedź 204 (brak zawartości). Magazyn jest teraz w stanie odnaleźć dowolną maszynę wirtualną w ramach subskrypcji.

HTTP/1.1 204 NoContent
Pragma: no-cache
X-Content-Type-Options: nosniff
x-ms-request-id: cf6cd73b-9189-4942-a61d-878fcf76b1c1
x-ms-client-request-id: 25bb6345-f9fc-4406-be1a-dc6db0eefafe; 25bb6345-f9fc-4406-be1a-dc6db0eefafe
Strict-Transport-Security: max-age=31536000; includeSubDomains
x-ms-ratelimit-remaining-subscription-reads: 14997
x-ms-correlation-request-id: cf6cd73b-9189-4942-a61d-878fcf76b1c1
x-ms-routing-request-id: SOUTHINDIA:20180521T105825Z:cf6cd73b-9189-4942-a61d-878fcf76b1c1
Cache-Control: no-cache
Date: Mon, 21 May 2018 10:58:25 GMT
X-Powered-By: ASP.NET

Wybieranie odpowiedniej maszyny wirtualnej platformy Azure

Możesz potwierdzić, że "buforowanie" zostało wykonane, wyświetlając listę wszystkich elementów, które można chronić w ramach subskrypcji, i znajdź żądaną maszynę wirtualną w odpowiedzi. Odpowiedź tej operacji zawiera również informacje na temat sposobu identyfikowania maszyny wirtualnej przez usługi Recovery Services. Po zapoznaniu się ze wzorcem możesz pominąć ten krok i przejść bezpośrednio do włączania ochrony.

Ta operacja jest operacją GET .

GET https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{vaultresourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectableItems?api-version=2016-12-01&$filter=backupManagementType eq 'AzureIaasVM'

Identyfikator URI GET zawiera wszystkie wymagane parametry. Nie jest wymagana żadna dodatkowa treść żądania.

Odpowiedzi na operację pobierania

Nazwa Typ Opis
200 OK WorkloadProtectableItemResourceList OK

Przykładowe odpowiedzi na operację pobierania

Po przesłaniu żądania GET zostanie zwrócona odpowiedź 200 (OK).

HTTP/1.1 200 OK
Pragma: no-cache
X-Content-Type-Options: nosniff
x-ms-request-id: 7c2cf56a-e6be-4345-96df-c27ed849fe36
x-ms-client-request-id: 40c8601a-c217-4c68-87da-01db8dac93dd; 40c8601a-c217-4c68-87da-01db8dac93dd
Strict-Transport-Security: max-age=31536000; includeSubDomains
x-ms-ratelimit-remaining-subscription-reads: 14979
x-ms-correlation-request-id: 7c2cf56a-e6be-4345-96df-c27ed849fe36
x-ms-routing-request-id: SOUTHINDIA:20180521T071408Z:7c2cf56a-e6be-4345-96df-c27ed849fe36
Cache-Control: no-cache
Date: Mon, 21 May 2018 07:14:08 GMT
Server: Microsoft-IIS/8.0
X-Powered-By: ASP.NET

{
  "value": [
    {
      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;testRG;testVM/protectableItems/vm;iaasvmcontainerv2;testRG;testVM",
      "name": "iaasvmcontainerv2;testRG;testVM",
      "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectableItems",
      "properties": {
        "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testVM",
        "virtualMachineVersion": "Compute",
        "resourceGroup": "testRG",
        "backupManagementType": "AzureIaasVM",
        "protectableItemType": "Microsoft.Compute/virtualMachines",
        "friendlyName": "testVM",
        "protectionState": "NotProtected"
      }
    },……………..

Porada

Liczba wartości w odpowiedzi GET jest ograniczona do 200 dla strony. Użyj pola "nextLink", aby uzyskać adres URL na potrzeby następnego zestawu odpowiedzi.

Odpowiedź zawiera listę wszystkich niechronionych maszyn wirtualnych platformy Azure, a każda z nich {value} zawiera wszystkie informacje wymagane przez usługę Azure Recovery Service do skonfigurowania kopii zapasowej. Aby skonfigurować kopię zapasową, zanotuj {name}{virtualMachineId} pole i pole w {properties} sekcji . Skonstruuj dwie zmienne z tych wartości pól, jak wspomniano poniżej.

  • containerName = "iaasvmcontainer;" +{name}
  • protectedItemName = "vm;" + {name}
  • {virtualMachineId} jest używany w dalszej części treści żądania

W tym przykładzie powyższe wartości przekładają się na:

  • containerName = "iaasvmcontainer;iaasvmcontainerv2;testRG;testVM"
  • protectedItemName = "vm;iaasvmcontainerv2;testRG;testVM"

Włączanie ochrony maszyny wirtualnej platformy Azure

Gdy odpowiednia maszyna wirtualna zostanie "zbuforowana" i "zidentyfikowana", wybierz zasady do ochrony. Aby dowiedzieć się więcej na temat istniejących zasad w magazynie, zapoznaj się z listą Interfejs API zasad. Następnie wybierz odpowiednie zasady , odwołując się do nazwy zasad. Aby utworzyć zasady, zapoznaj się z samouczkiem dotyczącym tworzenia zasad. W poniższym przykładzie wybrano pozycję "DefaultPolicy".

Włączanie ochrony to asynchroniczna operacja PUT , która tworzy "chroniony element".

https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{vaultresourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}?api-version=2019-05-13

Kwestie {containerName} i {protectedItemName} są skonstruowane powyżej. Element {fabricName} to "Azure". W naszym przykładzie przekłada się to na:

PUT https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;testRG;testVM/protectedItems/vm;iaasvmcontainerv2;testRG;testVM?api-version=2019-05-13

Tworzenie treści żądania

Aby utworzyć chroniony element, poniżej przedstawiono składniki treści żądania.

Nazwa Typ Opis
properties AzureIaaSVMProtectedItem Właściwości zasobu ProtectedItem

Aby uzyskać pełną listę definicji treści żądania i innych szczegółów, zapoznaj się z dokumentem create protected item REST API (Tworzenie chronionego elementu za pomocą interfejsu API REST).

Przykładowa treść żądania

Poniższa treść żądania definiuje właściwości wymagane do utworzenia chronionego elementu.

{
  "properties": {
    "protectedItemType": "Microsoft.Compute/virtualMachines",
    "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testVM",
    "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupPolicies/DefaultPolicy"
  }
}

Element {sourceResourceId} jest wymieniony {virtualMachineId} powyżej na podstawie odpowiedzi elementów, które można chronić.

Odpowiedzi na operację tworzenia chronionego elementu

Tworzenie chronionego elementu jest operacją asynchroniczną. Oznacza to, że ta operacja tworzy kolejną operację, która musi być śledzona oddzielnie.

Zwraca ona dwie odpowiedzi: 202 (Zaakceptowane), gdy zostanie utworzona inna operacja, a następnie 200 (OK) po zakończeniu tej operacji.

Nazwa Typ Opis
200 OK ProtectedItemResource OK
Zaakceptowano 202 Zaakceptowano
Przykładowe odpowiedzi na operację tworzenia chronionego elementu

Po przesłaniu żądania PUT do utworzenia lub aktualizacji chronionego elementu początkowa odpowiedź to 202 (Zaakceptowane) z nagłówkiem lokalizacji lub nagłówkiem azure-async-header.

HTTP/1.1 202 Accepted
Pragma: no-cache
Retry-After: 60
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;testRG;testVM/protectedItems/vm;testRG;testVM/operationsStatus/a0866047-6fc7-4ac3-ba38-fb0ae8aa550f?api-version=2019-05-13
X-Content-Type-Options: nosniff
x-ms-request-id: db785be0-bb20-4598-bc9f-70c9428b170b
x-ms-client-request-id: e1f94eef-9b2d-45c4-85b8-151e12b07d03; e1f94eef-9b2d-45c4-85b8-151e12b07d03
Strict-Transport-Security: max-age=31536000; includeSubDomains
x-ms-ratelimit-remaining-subscription-writes: 1199
x-ms-correlation-request-id: db785be0-bb20-4598-bc9f-70c9428b170b
x-ms-routing-request-id: SOUTHINDIA:20180521T073907Z:db785be0-bb20-4598-bc9f-70c9428b170b
Cache-Control: no-cache
Date: Mon, 21 May 2018 07:39:06 GMT
Location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;testRG;testVM/protectedItems/vm;testRG;testVM/operationResults/a0866047-6fc7-4ac3-ba38-fb0ae8aa550f?api-version=2019-05-13
X-Powered-By: ASP.NET

Następnie śledź wynikową operację przy użyciu nagłówka lokalizacji lub nagłówka Azure-AsyncOperation za pomocą prostego polecenia GET .

GET https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;testRG;testVM/protectedItems/vm;testRG;testVM/operationsStatus/a0866047-6fc7-4ac3-ba38-fb0ae8aa550f?api-version=2019-05-13

Po zakończeniu operacji zwraca ona wartość 200 (OK) z zawartością chronionego elementu w treści odpowiedzi.

{
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;testRG;testVM/protectedItems/vm;testRG;testVM",
  "name": "VM;testRG;testVM",
  "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
  "properties": {
    "friendlyName": "testVM",
    "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testVM",
    "protectionStatus": "Healthy",
    "protectionState": "IRPending",
    "healthStatus": "Passed",
    "lastBackupStatus": "",
    "lastBackupTime": "2001-01-01T00:00:00Z",
    "protectedItemDataId": "17592691116891",
    "extendedInfo": {
      "recoveryPointCount": 0,
      "policyInconsistent": false
    },
    "protectedItemType": "Microsoft.Compute/virtualMachines",
    "backupManagementType": "AzureIaasVM",
    "workloadType": "VM",
    "containerName": "iaasvmcontainerv2;testRG;testVM",
    "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testVM",
    "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupPolicies/DefaultPolicy",
    "policyName": "DefaultPolicy"
  }
}

Potwierdza to, że ochrona jest włączona dla maszyny wirtualnej, a pierwsza kopia zapasowa zostanie wyzwolona zgodnie z harmonogramem zasad.

Wykluczanie dysków w kopii zapasowej maszyny wirtualnej platformy Azure

Azure Backup umożliwia również selektywne tworzenie kopii zapasowych podzestawu dysków na maszynie wirtualnej platformy Azure. Więcej szczegółów można znaleźć tutaj. Jeśli chcesz selektywnie utworzyć kopię zapasową kilku dysków podczas włączania ochrony, poniższy fragment kodu powinien być treścią żądania podczas włączania ochrony.

{
"properties": {
    "protectedItemType": "Microsoft.Compute/virtualMachines",
    "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testVM",
    "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupPolicies/DefaultPolicy",
    "extendedProperties":  {
      "diskExclusionProperties":{
          "diskLunList":[0,1],
          "isInclusionList":true
        }
    }
}
}

W treści żądania powyżej lista dysków do utworzenia kopii zapasowej znajduje się w sekcji właściwości rozszerzonych.

Właściwość Wartość
diskLunList Lista jednostek LUN dysku jest listą jednostek LUN dysków danych. Dysk systemu operacyjnego jest zawsze kopii zapasowej i nie musi być wymieniony.
IsInclusionList Powinna mieć wartość true , aby LUN były uwzględniane podczas tworzenia kopii zapasowej. Jeśli jest to fałsz, wspomniane lun zostaną wykluczone.

Dlatego jeśli wymagane jest utworzenie kopii zapasowej tylko dysku systemu operacyjnego, wszystkie dyski danych powinny zostać wykluczone. Łatwiejszym sposobem jest stwierdzenie, że nie powinny być uwzględniane żadne dyski danych. W związku z tym lista jednostek LUN dysku będzie pusta, a lista IsInclusionList będzie mieć wartość true. Podobnie pomyśl o tym, co jest łatwiejszym sposobem wybierania podzestawu: Kilka dysków powinno być zawsze wykluczanych lub kilka dysków zawsze powinno być uwzględnionych. Wybierz listę JEDNOSTKI LUN i odpowiednio wartość zmiennej logicznej.

Wyzwalanie kopii zapasowej na żądanie dla chronionej maszyny wirtualnej platformy Azure

Po skonfigurowaniu maszyny wirtualnej platformy Azure do tworzenia kopii zapasowych kopie zapasowe są wykonywane zgodnie z harmonogramem zasad. Możesz poczekać na pierwszą zaplanowaną kopię zapasową lub w dowolnym momencie wyzwolić kopię zapasową na żądanie. Przechowywanie kopii zapasowych na żądanie jest oddzielone od przechowywania zasad kopii zapasowych i można je określić do określonej daty i godziny. Jeśli nie zostanie określony, przyjmuje się, że jest to 30 dni od dnia wyzwalacza kopii zapasowej na żądanie.

Wyzwalanie kopii zapasowej na żądanie jest operacją POST .

POST https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup?api-version=2016-12-01

Kwestie {containerName} i {protectedItemName} są skonstruowane powyżej. Element {fabricName} to "Azure". W naszym przykładzie przekłada się to na:

POST https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;testRG;testVM/protectedItems/vm;iaasvmcontainerv2;testRG;testVM/backup?api-version=2016-12-01

Tworzenie treści żądania dla kopii zapasowej na żądanie

Aby wyzwolić tworzenie kopii zapasowej na żądanie, poniżej przedstawiono składniki treści żądania.

Nazwa Typ Opis
properties IaaSVMBackupRequest Właściwości elementu BackupRequestResource

Pełną listę definicji treści żądania i innych szczegółów można znaleźć w dokumencie wyzwalania kopii zapasowych elementów chronionych za pomocą interfejsu API REST.

Przykładowa treść żądania dla kopii zapasowej na żądanie

Poniższa treść żądania definiuje właściwości wymagane do wyzwolenia kopii zapasowej chronionego elementu. Jeśli przechowywanie nie zostanie określone, zostanie zachowane przez 30 dni od momentu wyzwolenia zadania tworzenia kopii zapasowej.

{
   "properties": {
    "objectType": "IaasVMBackupRequest",
    "recoveryPointExpiryTimeInUTC": "2018-12-01T02:16:20.3156909Z"
  }
}

Odpowiedzi dotyczące kopii zapasowej na żądanie

Wyzwalanie kopii zapasowej na żądanie jest operacją asynchroniczną. Oznacza to, że ta operacja tworzy kolejną operację, która musi być śledzona oddzielnie.

Zwraca ona dwie odpowiedzi: 202 (Zaakceptowane), gdy zostanie utworzona inna operacja, a następnie 200 (OK) po zakończeniu tej operacji.

Nazwa Typ Opis
Zaakceptowano 202 Zaakceptowano

Przykładowe odpowiedzi dotyczące kopii zapasowej na żądanie

Po przesłaniu żądania POST dla kopii zapasowej na żądanie początkowa odpowiedź to 202 (Zaakceptowane) z nagłówkiem lokalizacji lub nagłówkiem azure-async-header.

HTTP/1.1 202 Accepted
Pragma: no-cache
Retry-After: 60
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;testVaultRG;testVM/protectedItems/vm;testRG;testVM/operationsStatus/b8daecaa-f8f5-44ed-9f18-491a9e9ba01f?api-version=2019-05-13
X-Content-Type-Options: nosniff
x-ms-request-id: 7885ca75-c7c6-43fb-a38c-c0cc437d8810
x-ms-client-request-id: 7df8e874-1d66-4f81-8e91-da2fe054811d; 7df8e874-1d66-4f81-8e91-da2fe054811d
Strict-Transport-Security: max-age=31536000; includeSubDomains
x-ms-ratelimit-remaining-subscription-writes: 1199
x-ms-correlation-request-id: 7885ca75-c7c6-43fb-a38c-c0cc437d8810
x-ms-routing-request-id: SOUTHINDIA:20180521T083541Z:7885ca75-c7c6-43fb-a38c-c0cc437d8810
Cache-Control: no-cache
Date: Mon, 21 May 2018 08:35:41 GMT
Location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;testVaultRG;testVM/protectedItems/vm;testRG;testVM/operationResults/b8daecaa-f8f5-44ed-9f18-491a9e9ba01f?api-version=2019-05-13
X-Powered-By: ASP.NET

Następnie śledź wynikową operację przy użyciu nagłówka lokalizacji lub nagłówka Azure-AsyncOperation za pomocą prostego polecenia GET .

GET https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;testRG;testVM/protectedItems/vm;testRG;testVM/operationsStatus/a0866047-6fc7-4ac3-ba38-fb0ae8aa550f?api-version=2019-05-13

Po zakończeniu operacji zwraca ona wartość 200 (OK) z identyfikatorem wynikowego zadania tworzenia kopii zapasowej w treści odpowiedzi.

HTTP/1.1 200 OK
Pragma: no-cache
X-Content-Type-Options: nosniff
x-ms-request-id: a8b13524-2c95-445f-b107-920806f385c1
x-ms-client-request-id: 5a63209d-3708-4e69-a75f-9499f4c8977c; 5a63209d-3708-4e69-a75f-9499f4c8977c
Strict-Transport-Security: max-age=31536000; includeSubDomains
x-ms-ratelimit-remaining-subscription-reads: 14995
x-ms-correlation-request-id: a8b13524-2c95-445f-b107-920806f385c1
x-ms-routing-request-id: SOUTHINDIA:20180521T083723Z:a8b13524-2c95-445f-b107-920806f385c1
Cache-Control: no-cache
Date: Mon, 21 May 2018 08:37:22 GMT
Server: Microsoft-IIS/8.0
X-Powered-By: ASP.NET

{
  "id": "00000000-0000-0000-0000-000000000000",
  "name": "00000000-0000-0000-0000-000000000000",
  "status": "Succeeded",
  "startTime": "2018-05-21T08:35:40.9488967Z",
  "endTime": "2018-05-21T08:35:40.9488967Z",
  "properties": {
    "objectType": "OperationStatusJobExtendedInfo",
    "jobId": "7ddead57-bcb9-4269-ac31-6a1b57588700"
  }
}

Ponieważ zadanie tworzenia kopii zapasowej jest długotrwałą operacją, należy ją śledzić zgodnie z opisem w dokumencie monitorowanie zadań przy użyciu interfejsu API REST.

Modyfikowanie konfiguracji kopii zapasowej chronionej maszyny wirtualnej platformy Azure

Zmiana zasad ochrony

Aby zmienić zasady, za pomocą których chroniona jest maszyna wirtualna, można użyć tego samego formatu co włączanie ochrony. Wystarczy podać nowy identyfikator zasad w treści żądania i przesłać żądanie. Na przykład: Aby zmienić zasady maszyny testVM z "DefaultPolicy" na "ProdPolicy", podaj identyfikator ProdPolicy w treści żądania.

{
  "properties": {
    "protectedItemType": "Microsoft.Compute/virtualMachines",
    "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testVM",
    "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupPolicies/ProdPolicy"
  }
}

Odpowiedź będzie stosować ten sam format, jak wspomniano o włączeniu ochrony

Wykluczanie dysków podczas ochrony maszyn wirtualnych platformy Azure

Jeśli kopia zapasowa maszyny wirtualnej platformy Azure została już utworzona, możesz określić listę dysków do utworzenia kopii zapasowej lub wykluczenia, zmieniając zasady ochrony. Po prostu przygotuj żądanie w tym samym formacie co wykluczanie dysków podczas włączania ochrony

Ważne

Treść żądania powyżej jest zawsze ostateczną kopią dysków danych, które mają zostać wykluczone lub dołączone. Nie powoduje to dodania do poprzedniej konfiguracji. Na przykład: jeśli najpierw zaktualizujesz ochronę jako "wyklucz dysk danych 1", a następnie powtórz polecenie " wyklucz dysk danych 2", zostanie uwzględniony tylko dysk danych 2 w kolejnych kopiach zapasowych i dysku danych 1. Jest to zawsze ostateczna lista, która zostanie dołączona/wykluczona z kolejnych kopii zapasowych.

Aby uzyskać bieżącą listę dysków, które są wykluczone lub dołączone, uzyskaj informacje o chronionym elemencie, jak wspomniano tutaj. Odpowiedź udostępni listę jednostek LUN dysku danych i wskazuje, czy są one dołączone, czy wykluczone.

Zatrzymaj ochronę, ale zachowaj istniejące dane

Aby usunąć ochronę chronionej maszyny wirtualnej, ale zachować już kopie zapasowe danych, usuń zasady w treści żądania i prześlij żądanie. Po usunięciu skojarzenia z zasadami tworzenie kopii zapasowych nie jest już wyzwalane i nie są tworzone żadne nowe punkty odzyskiwania.

{
  "properties": {
    "protectedItemType": "Microsoft.Compute/virtualMachines",
    "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testVM",
    "policyId": ""
  }
}

Odpowiedź będzie stosować ten sam format, jak wspomniano w przypadku wyzwalania kopii zapasowej na żądanie. Wynikowe zadanie powinno być śledzone zgodnie z opisem w dokumencie monitorowanie zadań przy użyciu interfejsu API REST.

Zatrzymywanie ochrony i usuwanie danych

Aby usunąć ochronę chronionej maszyny wirtualnej i usunąć również dane kopii zapasowej, wykonaj operację usuwania zgodnie z opisem w tym miejscu.

Zatrzymywanie ochrony i usuwanie danych jest operacją DELETE .

DELETE https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}?api-version=2019-05-13

Kwestie {containerName} i {protectedItemName} są skonstruowane powyżej. {fabricName} to "Azure". W naszym przykładzie przekłada się to na:

DELETE https://management.azure.com//Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;testRG;testVM/protectedItems/vm;iaasvmcontainerv2;testRG;testVM?api-version=2019-05-13

Odpowiedzi na ochronę przed usunięciem

Ochrona DELETE jest operacją asynchroniczną. Oznacza to, że ta operacja tworzy kolejną operację, która musi być śledzona oddzielnie.

Zwraca dwie odpowiedzi: 202 (Zaakceptowane) po utworzeniu innej operacji, a następnie 204 (NoContent), gdy operacja zostanie ukończona.

Nazwa Typ Opis
204 NoContent NoContent
Zaakceptowano 202 Zaakceptowano

Ważne

Aby chronić się przed przypadkowymi scenariuszami usuwania, dostępna jest funkcja usuwania nietrwałego dla magazynu usługi Recovery Services. Jeśli stan usuwania nietrwałego magazynu jest włączony, operacja usuwania nie spowoduje natychmiastowego usunięcia danych. Będzie on przechowywany przez 14 dni, a następnie trwale przeczyszczone. Opłaty za magazyn nie są naliczane przez ten 14 dni. Aby cofnąć operację usuwania, zapoznaj się z sekcją cofania usuwania.

Cofanie usuwania

Cofanie przypadkowego usunięcia jest podobne do tworzenia elementu kopii zapasowej. Po cofnięciu usunięcia element zostanie zachowany, ale nie zostaną wyzwolone żadne przyszłe kopie zapasowe.

Cofanie usuwania to operacja PUT , która jest bardzo podobna do zmiany zasad i/lub włączenia ochrony. Wystarczy podać zamiar cofnięcia usunięcia ze zmienną isRehydrate w treści żądania i przesłać żądanie. Na przykład: aby cofnąć usunięcie maszyny wirtualnej testVM, należy użyć następującej treści żądania.

{
  "properties": {
    "protectedItemType": "Microsoft.Compute/virtualMachines",
    "protectionState": "ProtectionStopped",
    "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testVM",
    "isRehydrate": true
  }
}

Odpowiedź będzie stosować ten sam format, jak wspomniano w przypadku wyzwalania kopii zapasowej na żądanie. Wynikowe zadanie powinno być śledzone zgodnie z opisem w dokumencie zadań monitorowania przy użyciu interfejsu API REST.

Następne kroki

Przywracanie danych z kopii zapasowej maszyny wirtualnej platformy Azure.

Aby uzyskać więcej informacji na temat interfejsów API REST Azure Backup, zobacz następujące dokumenty: