Noodherstel implementeren met back-up en herstellen van services in Azure API Management
Door uw API's te publiceren en beheren via Azure API Management, profiteert u van fouttolerantie en infrastructuurmogelijkheden die u anders handmatig zou ontwerpen, implementeren en beheren. Het Azure-platform vermindert een groot deel van de potentiële fouten tegen een fractie van de kosten.
Als u wilt herstellen van beschikbaarheidsproblemen die van invloed zijn op de regio die als host voor uw API Management-service, kunt u uw service op elk moment opnieuw in een andere regio gebruiken. Afhankelijk van uw hersteltijddoel wilt u mogelijk een stand-byservice in een of meer regio's houden. U kunt ook proberen hun configuratie en inhoud synchroon te houden met de actieve service volgens uw herstelpuntdoelstelling. De back-up- en herstelfuncties van de service bieden de benodigde bouwstenen voor het implementeren van een strategie voor herstel na noodherstel.
Back-up- en herstelbewerkingen kunnen ook worden gebruikt voor het repliceren 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.
Deze handleiding laat zien hoe u back-up- en herstelbewerkingen automatiseert en hoe u ervoor kunt zorgen dat back-up- en herstelaanvragen met succes worden Azure Resource Manager.
Belangrijk
Herstelbewerking wijzigt de aangepaste hostnaamconfiguratie van de doelservice niet. We raden u aan dezelfde aangepaste hostnaam en hetzelfde TLS-certificaat te gebruiken voor zowel actieve als stand-byservices, zodat het verkeer, nadat de herstelbewerking is voltooid, opnieuw kan worden omgeleid naar het stand-by-exemplaar door een eenvoudige DNS CNAME-wijziging.
Back-upbewerking legt geen vooraf geaggregeerde logboekgegevens vast die worden gebruikt in rapporten die worden weergegeven op de blade Analyse in de Azure Portal.
Waarschuwing
Elke back-up verloopt na 30 dagen. Als u probeert een back-up te herstellen nadat de verloopperiode van 30 dagen is verlopen, mislukt het herstellen met een Cannot restore: backup expired bericht.
Notitie
In dit artikel wordt de Azure Az PowerShell-module gebruikt. Dit is de aanbevolen PowerShell-module voor interactie met Azure. Raadpleeg Azure PowerShell installeren om aan de slag te gaan met de Az PowerShell-module. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.
Beschikbaarheid
Belangrijk
Deze functie is beschikbaar in de Premium-, Standard-, Basic- en Developer-lagen van API Management.
Aanvragen voor Azure Resource Manager authenticeren
Belangrijk
De REST API voor back-up en herstel maakt gebruik van Azure Resource Manager en heeft een ander verificatiemechanisme dan de REST API's voor het beheren API Management entiteiten. In de stappen in deze sectie wordt beschreven hoe u Azure Resource Manager verifiëren. Zie Authenticating Azure Resource Manager requests (Aanvragen Azure Resource Manager authenticeren) voor meer informatie.
Alle taken die u op resources uitvoert met behulp van de Azure Resource Manager moeten worden geverifieerd met Azure Active Directory met behulp van de volgende stappen:
- Voeg een toepassing toe aan de Azure Active Directory tenant.
- Stel machtigingen in voor de toepassing die u hebt toegevoegd.
- Haal het token op voor het authenticeren van aanvragen Azure Resource Manager.
Een Azure Active Directory-toepassing maken
Meld u aan bij de Azure-portal.
Gebruik het abonnement dat uw API Management service-exemplaar bevat en navigeer naar de Azure Portal - App-registraties een app te registreren in Active Directory.
Notitie
Als de Azure Active Directory niet zichtbaar is voor uw account, neem dan contact op met de beheerder van het Azure-abonnement om de vereiste machtigingen voor uw account te verlenen.
Selecteer + Nieuwe registratie.
Stel op de pagina Een toepassing registreren de waarden als volgt in:
- Stel Naam in op een betekenisvolle naam.
- Stel Ondersteunde accounttypen in op Alleen accounts in deze organisatiemap.
- Voer in Omleidings-URI een tijdelijke aanduiding in, zoals
https://resources. Het is een vereist veld, maar de waarde wordt later niet gebruikt. - Selecteer Registreren.
Machtigingen toevoegen
Zodra de toepassing is gemaakt, selecteert u API-machtigingen > + Een machtiging toevoegen.
Selecteer Microsoft API's.
Selecteer Azure Service Management.
Klik op Gedelegeerde machtigingen naast de zojuist toegevoegde toepassing en vink het selectievakje Toegang tot Azure Service Management als organisatiegebruikers (preview) aan.
Selecteer Machtigingen toevoegen.
Uw app configureren
Voordat u de API's aanroept die de back-up en herstel genereren, moet u een token krijgen. In het volgende voorbeeld wordt het NuGet-pakket Microsoft.IdentityModel.Clients.ActiveDirectory gebruikt om het token op te halen.
using Microsoft.IdentityModel.Clients.ActiveDirectory;
using System;
namespace GetTokenResourceManagerRequests
{
class Program
{
static void Main(string[] args)
{
var authenticationContext = new AuthenticationContext("https://login.microsoftonline.com/{tenant id}");
var result = authenticationContext.AcquireTokenAsync("https://management.azure.com/", "{application id}", new Uri("{redirect uri}"), new PlatformParameters(PromptBehavior.Auto)).Result;
if (result == null) {
throw new InvalidOperationException("Failed to obtain the JWT token");
}
Console.WriteLine(result.AccessToken);
Console.ReadLine();
}
}
}
Vervang {tenant id} , en met behulp van de volgende {application id} {redirect uri} instructies:
Vervang
{tenant id}door de tenant-id van de Azure Active Directory die u hebt gemaakt. U kunt toegang krijgen tot de id door op App-registraties -> eindpunten te klikken.
Vervang
{application id}door de waarde die u krijgt door naar de pagina Instellingen navigeren.Vervang door
{redirect uri}de waarde van het tabblad Omleidings-URI's van uw Azure Active Directory toepassing.Zodra de waarden zijn opgegeven, moet het codevoorbeeld een token retourneren dat lijkt op het volgende voorbeeld:

Notitie
Het token kan na een bepaalde periode verlopen. Voer het codevoorbeeld opnieuw uit om een nieuw token te genereren.
Toegang tot Azure Storage
API Management maakt gebruik van een Azure Storage-account dat u opgeeft voor back-up- en herstelbewerkingen. Wanneer u een back-up- of herstelbewerking wilt uitvoeren, moet u de toegang tot het opslagaccount configureren. API Management ondersteunt twee toegangsmechanismen voor opslag: een Azure Storage-toegangssleutel (de standaardinstelling) of een API Management beheerde identiteit.
Toegangssleutel voor opslagaccount configureren
Zie Toegangssleutels voor opslagaccounts beheren voor stappen.
Een API Management identiteit configureren
Notitie
Voor het gebruik API Management beheerde identiteit voor opslagbewerkingen tijdens back-up en herstel is een API Management REST API of 2021-04-01-preview hoger vereist.
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 inschakelen, moet u de client-id van de identiteit noteren.
- Als u een back-up maakt van en herstelt naar verschillende API Management exemplaren, moet u een beheerde identiteit inschakelen in zowel de bron- als doel-exemplaren.
Wijs de identiteit toe aan Storage rol Blob Data Contributor, die is toegewezen aan het opslagaccount dat wordt gebruikt voor back-up en herstel. Als u de rol wilt toewijzen, gebruikt u de Azure Portal of andere Azure-hulpprogramma's.
De back-up- en herstelbewerkingen aanroepen
De REST API's zijn API Management Service - Backup en API Management Service - Restore.
Notitie
Back-up- en herstelbewerkingen kunnen ook worden uitgevoerd met respectievelijk de opdrachten PowerShell Backup-AzApiManagement en Restore-AzApiManagement.
Voordat u de bewerkingen 'back-up en herstel' aanroept die in de volgende secties worden beschreven, stelt u de header voor de autorisatieaanvraag voor uw REST-aanroep in.
request.Headers.Add(HttpRequestHeader.Authorization, "Bearer " + token);
Een back-up maken API Management service
Als u een back-up wilt API Management service de volgende HTTP-aanvraag uit:
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backup?api-version={api-version}
Hierbij
subscriptionId- Id van het abonnement dat de API Management service waar u een back-up van probeert te makenresourceGroupName- naam van de resourcegroep van uw Azure API Management serviceserviceName- de naam van de API Management-service die u een back-up maakt van die is opgegeven op het moment dat deze wordt gemaaktapi-version- een geldige REST API-versie,2020-12-01zoals of2021-04-01-preview.
Geef in de body van de aanvraag de naam van het doelopslagaccount, de naam van de blobcontainer, de back-upnaam en het toegangstype voor de opslag op. Als de opslagcontainer niet bestaat, wordt deze gemaakt door de back-upbewerking.
Toegang met toegangssleutel voor opslag
{
"storageAccount": "{storage account name for the backup}",
"containerName": "{backup container name}",
"backupName": "{backup blob name}",
"accessKey": "{access key for the account}"
}
Toegang met behulp van beheerde identiteit
Notitie
Voor het gebruik API Management beheerde identiteit voor opslagbewerkingen tijdens back-up en herstel is een API Management REST API of 2021-04-01-preview hoger vereist.
Toegang met behulp van een door het systeem toegewezen beheerde identiteit
{
"storageAccount": "{storage account name for the backup}",
"containerName": "{backup container name}",
"backupName": "{backup blob name}",
"accessType": "SystemAssignedManagedIdentity"
}
Toegang met behulp van door de gebruiker toegewezen beheerde identiteit
{
"storageAccount": "{storage account name for the backup}",
"containerName": "{backup container name}",
"backupName": "{backup blob name}",
"accessType": "UserAssignedManagedIdentity",
"clientId": "{client ID of user-assigned identity}"
}
Stel de waarde van de Content-Type aanvraagheader in op application/json .
Back-up is een langdurige bewerking die langer dan een minuut kan duren. Als de aanvraag is geslaagd en het back-upproces is gestart, ontvangt u een 202 Accepted antwoordstatuscode met een Location header. Aanvragen GET indienen bij de URL in de header om de status van de bewerking te weten te Location komen. Terwijl de back-up wordt uitgevoerd, blijft u een 202 Accepted statuscode ontvangen. Een antwoordcode van 200 OK geeft aan dat de back-upbewerking is voltooid.
Een API Management herstellen
Als u een API Management wilt herstellen vanuit een eerder gemaakte back-up, moet u de volgende HTTP-aanvraag indienen:
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/restore?api-version={api-version}
Hierbij
subscriptionId- Id van het abonnement dat de API Management service bevat waar u een back-up naar hersteltresourceGroupName- naam van de resourcegroep met de Azure API Management-service waar u een back-up naar hersteltserviceName: de naam van de API Management service die wordt hersteld in opgegeven tijdens het makenapi-version: een geldige REST API zoals2020-12-01of2021-04-01-preview
Geef in de aanvraag de naam van het bestaande opslagaccount, de naam van de blobcontainer, de back-upnaam en het toegangstype voor de opslag op.
Toegang met behulp van toegangssleutel voor opslag
{
"storageAccount": "{storage account name for the backup}",
"containerName": "{backup container name}",
"backupName": "{backup blob name}",
"accessKey": "{access key for the account}"
}
Toegang met behulp van beheerde identiteit
Notitie
Voor het gebruik API Management beheerde identiteit voor opslagbewerkingen tijdens back-up en herstel is een API Management REST API versie 2021-04-01-preview of hoger vereist.
Toegang met behulp van door het systeem toegewezen beheerde identiteit
{
"storageAccount": "{storage account name for the backup}",
"containerName": "{backup container name}",
"backupName": "{backup blob name}",
"accessType": "SystemAssignedManagedIdentity"
}
Toegang met behulp van door de gebruiker toegewezen beheerde identiteit
{
"storageAccount": "{storage account name for the backup}",
"containerName": "{backup container name}",
"backupName": "{backup blob name}",
"accessType": "UserAssignedManagedIdentity",
"clientId": "{client ID of user-assigned identity}"
}
Stel de waarde van de Content-Type aanvraagheader in op application/json .
Herstellen is een langdurige bewerking die maximaal 30 of meer minuten kan duren. Als de aanvraag is geslaagd en het herstelproces is gestart, ontvangt u een 202 Accepted antwoordstatuscode met een Location header. Maak GET-aanvragen naar de URL in de Location header om de status van de bewerking te vinden. Terwijl het herstellen wordt uitgevoerd, blijft u een 202 Accepted statuscode ontvangen. Een antwoordcode van 200 OK geeft aan dat de herstelbewerking is voltooid.
Belangrijk
De SKU van de service die wordt hersteld in moet overeenkomen met de SKU van de back-upservice die wordt hersteld.
Wijzigingen in de serviceconfiguratie (bijvoorbeeld API's, beleid, uiterlijk van de ontwikkelaarsportal) terwijl de herstelbewerking wordt uitgevoerd, kunnen worden overschreven.
Beperkingen bij het maken van een back-up- of herstelaanvraag
Terwijl de back-up wordt uitgevoerd, vermijdt u beheerwijzigingen in de service, zoals het upgraden of downgraden van de SKU, het wijzigen van de domeinnaam en meer.
Het herstellen van een back-up wordt slechts 30 dagen na het maken ervan gegarandeerd.
Wijzigingen in de serviceconfiguratie (bijvoorbeeld API's, beleidsregels en het uiterlijk van de ontwikkelaarsportal) terwijl de back-upbewerking wordt uitgevoerd, kunnen worden uitgesloten van de back-up en gaan verloren.
Cross-Origin Resource Sharing (CORS) mag niet zijn ingeschakeld op de Blob-service in het Azure Storage account.
De SKU van de service die wordt hersteld in moet overeenkomen met de SKU van de back-upservice die wordt hersteld.
Storage netwerkbeperkingen
Toegang met behulp van toegangssleutel voor opslag
Als de firewall van het opslagaccount is ingeschakeld en er een opslagsleutel wordt gebruikt voor toegang, moet de klant de set IP-adressen van het Azure API Management-besturingsvlak in het opslagaccount toestaan om een back-up te maken of te herstellen. Het opslagaccount kan zich in elke Azure-regio bevinden, behalve het account API Management service. Als de API Management-service zich bijvoorbeeld in VS - west bevinden, kan het Azure Storage-account zich in VS - west 2 bevinden en moet de klant het IP-adres van het besturingsvlak 13.64.39.16 (API MANAGEMENT CONTROL PLANE IP van VS - west) openen in de firewall. Dit komt doordat de aanvragen voor Azure Storage niet worden geSNAT naar een openbaar IP-adres vanuit rekenkracht (Azure API Management besturingsvlak) in dezelfde Azure-regio. Opslagaanvragen tussen regio's worden via SNAT naar het openbare IP-adres geSNAT.
Toegang met behulp van beheerde identiteit
Als een API Management door het systeem toegewezen beheerde identiteit wordt gebruikt voor toegang tot een opslagaccount met firewall-ondersteuning, moet u ervoor zorgen dat het opslagaccount toegang verleent tot vertrouwde Azure-services.
Er wordt geen back-up van de back-up van de back-up
- Gebruiksgegevens die worden gebruikt voor het maken van analyserapporten, zijn niet opgenomen in de back-up. Gebruik Azure API Management REST API om periodiek analyserapporten op te halen voor veilige bewaring.
- Aangepaste domein-TLS/SSL-certificaten.
- Aangepaste CA-certificaten,die tussen- of basiscertificaten omvatten die door de klant zijn geüpload.
- Instellingen voor integratie van virtuele netwerken.
- Configuratie van beheerde identiteit.
- Azure Monitor diagnostische configuratie.
- Instellingen voor protocollen en coderingen.
- Inhoud van de ontwikkelaarsportal.
De frequentie waarmee u serviceback-ups moet uitvoeren, is van invloed op uw herstelpuntdoelstelling. Om dit te minimaliseren, raden we u aan om regelmatige back-ups te implementeren en back-ups op aanvraag uit te voeren nadat u wijzigingen hebt aangebracht in 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 ondersteunt ook zone-redundantie,wat tolerantie en hoge beschikbaarheid biedt voor een service-exemplaar in een specifieke Azure-regio (locatie).