Noodherstel implementeren met back-up en herstellen van services in Azure API Management
VAN TOEPASSING OP: Ontwikkelaar | Basic | Standaard | Premie
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
Een API Management-service-exemplaar. Zie Een API Management-service-exemplaar maken als u er nog geen hebt.
Een opslagaccount van Azure. Zie Een opslagaccount maken als u er nog geen hebt.
- Maak een container in het opslagaccount om de back-upgegevens op te slaan.
De nieuwste versie van Azure PowerShell als u Azure PowerShell-cmdlets wilt gebruiken. Als u dat nog niet hebt gedaan, installeert u Azure PowerShell.
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.
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.
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
- Gebruiksgegevens die worden gebruikt voor het maken van analyserapporten , worden niet opgenomen in de back-up. Azure API Management REST API gebruiken om periodiek analyserapporten op te halen voor veilig bewaren.
- TLS/SSL-certificaten voor aangepast domein.
- Aangepaste CA-certificaten, die tussenliggende of basiscertificaten bevatten die door de klant zijn geĆ¼pload.
- Instellingen voor integratie van virtuele netwerken .
- Configuratie van beheerde identiteit .
- Diagnostische configuratie van Azure Monitor.
- Protocollen en coderingsinstellingen .
- Inhoud van ontwikkelaarsportal .
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:
- Back-up maken en terugzetten in API Management automatiseren met Logic Apps
- Azure API Management verplaatsen tussen regio's
- Api Management Premium-laag biedt ook ondersteuning voor zoneredundantie, die tolerantie en hoge beschikbaarheid biedt voor een service-exemplaar in een specifieke Azure-regio (locatie).