Tworzenie kopii zapasowej maszyny wirtualnej platformy Azure przy użyciu usługi 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 usługi 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. Aby chronić maszynę wirtualną platformy Azure przy użyciu witryny Azure Portal, zobacz ten artykuł.

Dowiedz się, jak utworzyć magazyn i utworzyć samouczki interfejsu API REST zasad na potrzeby tworzenia nowych magazynów i zasad.

Załóżmy, że chcesz chronić maszynę wirtualną w grupie testRG zasobów w magazynie testVaultusługi Recovery Services , znajdującym się w grupie testVaultRGzasobów z domyślnymi zasadami (o nazwie DefaultPolicy).testVM

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 "pamięci podręczne". Gdy maszyna wirtualna będzie "buforowana", usługi odzyskiwania 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 jest {vaultName} "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 inną operację, która musi być śledzona oddzielnie.

Zwraca ona dwie odpowiedzi: 202 (Zaakceptowane) podczas tworzenia innej operacji i 200 (OK) po zakończeniu tej operacji.

Nazwisko Pisz Opis
204 Brak zawartości OK z brakiem 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

Nazwisko Pisz 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"
      }
    },……………..

Napiwek

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.

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 jest "buforowana" i "zidentyfikowana", wybierz zasady, które mają być chronione. 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 opcję "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

Element {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.

Nazwisko Pisz Opis
właściwości AzureIaaSVMProtectedItem Właściwości zasobu ProtectedItem

Pełną listę definicji treści żądania i innych szczegółów można znaleźć w artykule Create protected item REST API (Tworzenie dokumentu REST interfejsu API REST elementu chronionego).

Przykładowa treść żądania:

Następująca 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 z odpowiedzi elementów, które można chronić. Odpowiedzi na operację tworzenia chronionego elementu @01011011

Odpowiedzi na operację tworzenia chronionego elementu

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

Zwraca ona dwie odpowiedzi: 202 (Zaakceptowane) podczas tworzenia innej operacji i 200 (OK) po zakończeniu tej operacji.

Nazwisko Pisz Opis
200 OK ProtectedItemResource OK
Zaakceptowano 202 Zaakceptowano

Przykładowe odpowiedzi na operację tworzenia chronionego elementu:

Po przesłaniu żądania PUT do utworzenia lub zaktualizowania 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 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

Usługa Azure Backup umożliwia również selektywne tworzenie kopii zapasowej podzestawu dysków na maszynie wirtualnej platformy Azure. Więcej szczegółów znajduje się 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 powyższej treści żądania lista dysków do utworzenia kopii zapasowej znajduje się w sekcji właściwości rozszerzonych.

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

Dlatego jeśli wymagane jest tworzenie kopii zapasowej tylko dysku systemu operacyjnego, należy wykluczyć wszystkie dyski danych. Łatwiejszym sposobem jest stwierdzenie, że nie powinny być uwzględniane żadne dyski danych. Dlatego lista LUN dysku będzie pusta, a lista IsInclusionList będzie prawdziwa. Podobnie pomyśl o tym, jaki jest łatwiejszy sposób wybierania podzestawu: Kilka dysków powinno być zawsze wykluczonych lub kilka dysków powinno być zawsze uwzględnianych. Wybierz listę 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 wyzwolić kopię zapasową na żądanie w dowolnym momencie. 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

Element {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ć kopię zapasową na żądanie, poniżej przedstawiono składniki treści żądania.

Nazwisko Pisz Opis
właściwości IaaSVMBackupRequest Właściwości kopii zapasowejRequestResource

Pełną listę definicji treści żądania i innych szczegółów można znaleźć w dokumencie wyzwalania kopii zapasowych elementów chronionych 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 dla chronionego elementu. Jeśli okres przechowywania nie zostanie określony, zostanie on zachowany 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 inną operację, która musi być śledzona oddzielnie.

Zwraca ona dwie odpowiedzi: 202 (Zaakceptowane) podczas tworzenia innej operacji i 200 (OK) po zakończeniu tej operacji.

Nazwisko Pisz 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 monitorowania zadań przy użyciu interfejsu API REST.

Modyfikowanie konfiguracji kopii zapasowej chronionej maszyny wirtualnej platformy Azure

Zmienianie zasad ochrony

Aby zmienić zasady, za pomocą których chroniona jest maszyna wirtualna, można użyć tego samego formatu, co włączenie ochrony). Wystarczy podać nowy identyfikator zasad w treści żądania i przesłać żądanie. Na przykład: Aby zmienić zasady 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 postępować w takim samym formacie, 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, których kopia zapasowa ma zostać utworzona lub wykluczona, 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órzysz polecenie "wyklucz dysk danych 2", w kolejnych kopiach zapasowych zostanie uwzględniony tylko dysk danych 2. 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, pobierz 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ż utworzone kopie zapasowe danych, usuń zasady w treści żądania i prześlij żądanie. Po usunięciu skojarzenia z zasadami kopie zapasowe nie są 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 monitorowania 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

Element {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 inną operację, która musi być śledzona oddzielnie.

Zwraca ona dwie odpowiedzi: 202 (Zaakceptowane) podczas tworzenia innej operacji i 204 (NoContent) po zakończeniu tej operacji.

Nazwisko Pisz 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 zostanie 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 za ten okres 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.

Cofnij usunięcie 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 monitorowania zadań 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 usługi Azure Backup, zobacz następujące dokumenty: