Noodherstel implementeren met back-up en herstellen van services in Azure API Management

VAN TOEPASSING OP: Ontwikkelaar | Basic | Standaard | Premium

Door uw API's te publiceren en te beheren via Azure API Management, profiteert u van fouttolerantie en infrastructuurmogelijkheden die u anders handmatig zou ontwerpen, implementeren en beheren. Het Azure-platform beperkt een groot deel van mogelijke fouten tegen een fractie van de kosten.

Als u wilt herstellen van beschikbaarheidsproblemen die van invloed zijn op uw API Management-service, kunt u uw service op elk gewenst moment in een andere regio reconstitueren. Afhankelijk van uw beoogde hersteltijd wilt u mogelijk een stand-byservice in een of meer regio's behouden. U kunt ook proberen hun configuratie en inhoud synchroon te houden met de actieve service volgens uw herstelpuntdoelstelling. De mogelijkheden voor back-up en herstel van API Management bieden de benodigde bouwstenen voor het implementeren van strategie voor herstel na noodgevallen.

Back-up- en herstelbewerkingen kunnen ook worden gebruikt voor het repliceren van de API Management-serviceconfiguratie tussen operationele omgevingen, bijvoorbeeld ontwikkeling en fasering. Let erop dat runtimegegevens, zoals gebruikers en abonnementen, ook worden gekopieerd, wat mogelijk niet altijd wenselijk is.

In dit artikel wordt beschreven hoe u back-up- en herstelbewerkingen van uw API Management-exemplaar automatiseert met behulp van een extern opslagaccount. De stappen die hier worden weergegeven, gebruiken de Cmdlets Backup-AzApiManagement en Restore-AzApiManagement Azure PowerShell, of de Api Management Service - Backup en Api Management Service - RESTORE REST API's.

Waarschuwing

Elke back-up verloopt na 30 dagen. Als u een back-up probeert te herstellen nadat de verloopperiode van 30 dagen is verlopen, mislukt het herstellen met een Cannot restore: backup expired bericht.

Belangrijk

Herstelbewerking wijzigt geen aangepaste hostnaamconfiguratie van de doelservice. We raden u aan hetzelfde aangepaste hostnaam- en TLS-certificaat te gebruiken voor zowel actieve als stand-byservices, zodat, nadat de herstelbewerking is voltooid, het verkeer opnieuw kan worden omgeleid naar het stand-by-exemplaar door een eenvoudige DNS CNAME-wijziging.

Notitie

Het wordt aanbevolen de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.

Vereisten

Toegang tot opslagaccount configureren

Wanneer u een back-up- of herstelbewerking uitvoert, moet u de toegang tot het opslagaccount configureren. API Management ondersteunt twee toegangsmechanismen voor opslag: een Azure Storage-toegangssleutel of een door API Management beheerde identiteit.

Toegangssleutel voor opslagaccounts configureren

Azure genereert twee 512-bits toegangssleutels voor opslagaccounts voor elk opslagaccount. Deze sleutels kunnen worden gebruikt om toegang tot gegevens in uw opslagaccount te autoriseren via autorisatie van gedeelde sleutels. Zie Toegangssleutels voor opslagaccounts beheren om de sleutels weer te geven, op te halen en te beheren.

Beheerde identiteit van API Management configureren

Notitie

Het gebruik van een beheerde API Management-identiteit voor opslagbewerkingen tijdens back-up en herstel wordt ondersteund in de REST API-versie 2021-04-01-preview van API Management of hoger.

  1. Schakel een door het systeem toegewezen of door de gebruiker toegewezen beheerde identiteit in voor API Management in uw API Management-exemplaar.

    • Als u een door de gebruiker toegewezen beheerde identiteit inschakelt, noteert u de client-id van de identiteit.
    • Als u een back-up maakt en herstelt naar verschillende API Management-exemplaren, schakelt u een beheerde identiteit in zowel de bron- als doelexemplaren in.
  2. Wijs de identiteit toe van de rol Inzender voor opslagblobgegevens, die is afgestemd op het opslagaccount dat wordt gebruikt voor back-up en herstel. Als u de rol wilt toewijzen, gebruikt u Azure Portal of andere Azure-hulpprogramma's.

Een back-up maken van een API Management-service

Meld u aan met Azure PowerShell.

In de volgende voorbeelden:

  • Een API Management-exemplaar met de naam myapim bevindt zich in de apimresourcegroup van de resourcegroep.
  • Een opslagaccount met de naam backupstorageaccount bevindt zich in de storageresourcegroup van de resourcegroep. Het opslagaccount heeft een container met de naam back-ups.
  • Er wordt een back-upblob gemaakt met de naam ContosoBackup.apimbackup.

Variabelen instellen in PowerShell:

$apiManagementName="myapim";
$apiManagementResourceGroup="apimresourcegroup";
$storageAccountName="backupstorageaccount";
$storageResourceGroup="storageresourcegroup";
$containerName="backups";
$blobName="ContosoBackup.apimbackup"

Toegang met behulp van opslagtoegangssleutel

$storageKey = (Get-AzStorageAccountKey -ResourceGroupName $storageResourceGroup -StorageAccountName $storageAccountName)[0].Value

$storageContext = New-AzStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $storageKey

Backup-AzApiManagement -ResourceGroupName $apiManagementResourceGroup -Name $apiManagementName `
    -StorageContext $storageContext -TargetContainerName $containerName -TargetBlobName $blobName

Toegang met beheerde identiteit

Zie Een beheerde identiteit configureren eerder in dit artikel als u een beheerde identiteit in uw API Management-exemplaar wilt configureren voor toegang tot het opslagaccount.

Toegang met door het systeem toegewezen beheerde identiteit

$storageContext = New-AzStorageContext -StorageAccountName $storageAccountName

Backup-AzApiManagement -ResourceGroupName $apiManagementResourceGroup -Name $apiManagementName `
    -StorageContext $storageContext -TargetContainerName $containerName `
    -TargetBlobName $blobName -AccessType "SystemAssignedManagedIdentity"

Toegang met door de gebruiker toegewezen beheerde identiteit

In dit voorbeeld bevindt een door de gebruiker toegewezen beheerde identiteit met de naam myidentity zich in de resourcegroep identityresourcegroup.

$identityName = "myidentity";
$identityResourceGroup = "identityresourcegroup";

$identityId = (Get-AzUserAssignedIdentity -Name $identityName -ResourceGroupName $identityResourceGroup).ClientId

$storageContext = New-AzStorageContext -StorageAccountName $storageAccountName

Backup-AzApiManagement -ResourceGroupName $apiManagementResourceGroup -Name $apiManagementName `
    -StorageContext $storageContext -TargetContainerName $containerName `
    -TargetBlobName $blobName -AccessType "UserAssignedManagedIdentity" ` -identityClientId $identityid

Back-up is een langdurige bewerking die enkele minuten kan duren. Gedurende deze tijd blijft de API-gateway aanvragen verwerken, maar de status van de service wordt bijgewerkt.

Een API Management-service herstellen

Let op

Vermijd wijzigingen in de serviceconfiguratie (bijvoorbeeld API's, beleid, weergave van ontwikkelaarsportal) terwijl de herstelbewerking wordt uitgevoerd. Wijzigingen kunnen worden overschreven.

In de volgende voorbeelden:

  • Een API Management-exemplaar met de naam myapim wordt hersteld vanuit de back-upblob met de naam ContosoBackup.apimbackup in het back-upaccount backupstorageaccount.
  • De back-upblob bevindt zich in een container met de naam back-ups.

Variabelen instellen in PowerShell:

$apiManagementName="myapim";
$apiManagementResourceGroup="apimresourcegroup";
$storageAccountName="backupstorageaccount";
$storageResourceGroup="storageresourcegroup";
$containerName="backups";
$blobName="ContosoBackup.apimbackup"

Toegang met behulp van opslagtoegangssleutel

$storageKey = (Get-AzStorageAccountKey -ResourceGroupName $storageResourceGroup -StorageAccountName $storageAccountName)[0].Value

$storageContext = New-AzStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $storageKey

Restore-AzApiManagement -ResourceGroupName $apiManagementResourceGroup -Name $apiManagementName `
    -StorageContext $storageContext -SourceContainerName $containerName -SourceBlobName $blobName

Toegang met beheerde identiteit

Zie Een beheerde identiteit configureren eerder in dit artikel als u een beheerde identiteit in uw API Management-exemplaar wilt configureren voor toegang tot het opslagaccount.

Toegang met door het systeem toegewezen beheerde identiteit

$storageContext = New-AzStorageContext -StorageAccountName $storageAccountName

Restore-AzApiManagement -ResourceGroupName $apiManagementResourceGroup -Name $apiManagementName `
    -StorageContext $storageContext -SourceContainerName $containerName `
    -SourceBlobName $blobName -AccessType "SystemAssignedManagedIdentity"

Toegang met door de gebruiker toegewezen beheerde identiteit

In dit voorbeeld bevindt een door de gebruiker toegewezen beheerde identiteit met de naam myidentity zich in de resourcegroep identityresourcegroup.

$identityName = "myidentity";
$identityResourceGroup = "identityresourcegroup";

$identityId = (Get-AzUserAssignedIdentity -Name $identityName -ResourceGroupName $identityResourceGroup).ClientId

$storageContext = New-AzStorageContext -StorageAccountName $storageAccountName

Restore-AzApiManagement -ResourceGroupName $apiManagementResourceGroup -Name $apiManagementName `
    -StorageContext $storageContext -SourceContainerName $containerName `
    -SourceBlobName $blobName -AccessType "UserAssignedManagedIdentity" ` -identityClientId $identityid

Herstellen is een langdurige bewerking die maximaal 45 minuten of langer kan duren.

Beperkingen

  • Herstel van een back-up is gegarandeerd slechts 30 dagen sinds het moment van het maken ervan.
  • Terwijl er een back-up wordt uitgevoerd, vermijdt u beheerwijzigingen in de service , zoals upgrade of downgrade van de prijscategorie, wijziging in domeinnaam en meer.
  • Wijzigingen die zijn aangebracht in de serviceconfiguratie (bijvoorbeeld API's, beleidsregels en weergave van de ontwikkelaarsportal) terwijl de back-upbewerking wordt uitgevoerd , kan worden uitgesloten van de back-up en gaat verloren.
  • Back-up legt geen vooraf geaggregeerde logboekgegevens vast die worden gebruikt in rapporten die worden weergegeven in het venster Analytics in Azure Portal.
  • Cors (Cross-Origin Resource Sharing) mag niet zijn ingeschakeld voor de Blob-service in het opslagaccount.
  • De prijscategorie van de service die wordt hersteld, moet overeenkomen met de prijscategorie van de back-upservice die wordt hersteld.

Beperkingen voor opslagnetwerken

Als de firewall is ingeschakeld voor het opslagaccount, is het raadzaam om de door het systeem toegewezen beheerde identiteit van het API Management-exemplaar te gebruiken voor toegang tot het account. Zorg ervoor dat het opslagaccount toegang verleent tot vertrouwde Azure-services.

Er wordt geen back-up gemaakt van wat er niet wordt gemaakt

De frequentie waarmee u serviceback-ups uitvoert, is van invloed op uw herstelpuntdoelstelling. We raden u aan om regelmatig back-ups te implementeren en back-ups op aanvraag uit te voeren nadat u wijzigingen aanbrengt in uw API Management-service.

Volgende stappen

Bekijk de volgende gerelateerde resources voor het back-up-/herstelproces: