Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
DOTYCZY: Developer | Podstawowa | Standardowa | Premia
Publikując interfejsy API i zarządzając nimi za pośrednictwem usługi Azure API Management, korzystasz z możliwości odporności na uszkodzenia i infrastruktury, które w przeciwnym razie można projektować, implementować i zarządzać nimi ręcznie. Platforma Azure zmniejsza ułamek potencjalnych awarii przy ułamku kosztów.
Aby odbudować się po problemach z dostępnością, które mają wpływ na Twoją usługę API Management, zawsze bądź gotowy do jej odtworzenia w innym regionie. W zależności od celu czasu odzyskiwania możesz zachować usługę rezerwową w jednym lub więcej regionach. Możesz również spróbować zachować ich konfigurację i zawartość zsynchronizowaną z aktywną usługą zgodnie z celem punktu odzyskiwania danych. Funkcje tworzenia i przywracania kopii zapasowych usługi API Management zapewniają niezbędne bloki konstrukcyjne do implementowania strategii odzyskiwania po awarii.
Operacje tworzenia i przywracania kopii zapasowych mogą być również używane do replikowania konfiguracji usługi API Management między środowiskami operacyjnymi, na przykład deweloperskim i testowym. Uważaj, że dane środowiska uruchomieniowego, takie jak użytkownicy i subskrypcje, również zostaną skopiowane, co może nie zawsze być pożądane.
W tym artykule pokazano, jak zautomatyzować operacje tworzenia i przywracania kopii zapasowych wystąpienia usługi API Management przy użyciu zewnętrznego konta magazynu. Przedstawione tutaj kroki korzystają z poleceń cmdlet programu Azure PowerShell Backup-AzApiManagement i Restore-AzApiManagement albo interfejsów API REST API Management Service — Backup i API Management Service — Restore.
Ostrzeżenie
Każda kopia zapasowa wygasa po upływie 30 dni. Jeśli spróbujesz przywrócić kopię zapasową po upływie 30-dniowego okresu wygaśnięcia, przywracanie zakończy się niepowodzeniem z komunikatem Cannot restore: backup expired .
Ważne
Operacja przywracania nie zmienia niestandardowej konfiguracji nazwy hosta usługi docelowej. Zalecamy używanie tej samej niestandardowej nazwy hosta i certyfikatu TLS zarówno dla aktywnej, jak i rezerwowej usługi, aby po zakończeniu operacji przywracania ruch mógł zostać ponownie skierowany do serwera rezerwowego za pomocą prostej zmiany rekordu CNAME DNS.
Uwaga
Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.
Ważne
Zmiany w infrastrukturze usługi API Management (takie jak konfigurowanie domen niestandardowych, dodawanie certyfikatów urzędu certyfikacji, skalowanie, konfiguracja sieci wirtualnej, zmiany strefy dostępności i dodawanie regionów) mogą potrwać 15 minut lub dłużej, w zależności od warstwy usługi i rozmiaru wdrożenia. Spodziewaj się dłuższego czasu działania instancji z większą liczbą jednostek skalowania lub z konfiguracją obejmującą wiele regionów. Zmiany etapowe w usłudze API Management są wykonywane ostrożnie, aby zachować pojemność i dostępność.
Podczas aktualizowania usługi nie można wprowadzać innych zmian infrastruktury usług. Można jednak skonfigurować interfejsy API, produkty, zasady i ustawienia użytkownika. Usługa nie doświadczy przestoju bramy, a zarządzanie interfejsem API będzie nadal obsługiwać żądania bez przerwy (z wyjątkiem poziomu Deweloper).
Wymagania wstępne
Wystąpienie usługi API Management w obsługiwanej warstwie usługi. Jeśli go nie masz, zobacz Tworzenie wystąpienia usługi API Management.
Uwaga
Obecnie tworzenie kopii zapasowych i przywracanie nie jest obsługiwane w wystąpieniach usługi API Management ze skojarzonymi bramami obszaru roboczego.
Konto usługi Azure Storage. Jeśli go nie masz, zobacz Utwórz konto magazynu.
- Utwórz kontener w koncie pamięci masowej, aby przechowywać kopie zapasowe.
Najnowsza wersja programu Azure PowerShell, jeśli planujesz używać poleceń cmdlet programu Azure PowerShell. Jeśli jeszcze tego nie zrobiono, zainstaluj program Azure PowerShell.
Konfiguracja dostępu do konta magazynowego
Podczas uruchamiania operacji tworzenia kopii zapasowej lub przywracania należy skonfigurować dostęp do konta magazynu. Usługa API Management obsługuje dwa mechanizmy dostępu do magazynu: klucz dostępu usługi Azure Storage lub tożsamość zarządzaną usługi API Management.
Konfigurowanie klucza dostępu do konta magazynu
Platforma Azure generuje dwa 512-bitowe klucze dostępu do konta magazynu dla każdego konta magazynu. Za pomocą tych kluczy można autoryzować dostęp do danych w Twoim koncie magazynowym za pomocą autoryzacji klucza współdzielonego. Aby wyświetlić, pobrać klucze i zarządzać nimi, zobacz Zarządzanie kluczami dostępu do konta magazynu.
Konfigurowanie zarządzanej tożsamości w usłudze API Management
Uwaga
Używanie tożsamości zarządzanej usługi API Management na potrzeby operacji magazynowania podczas tworzenia kopii zapasowych i przywracania jest obsługiwane w wersji 2021-04-01-preview interfejsu API REST usługi API Management lub nowszej.
Włącz tożsamość zarządzaną przypisaną przez system lub przypisaną przez użytkownika dla usługi API Management w wystąpieniu usługi API Management.
- Jeśli włączysz tożsamość zarządzaną, przypisaną przez użytkownika, zanotuj identyfikator klienta.
- Jeśli zamierzasz wykonać kopię zapasową i przywrócić ją do różnych wystąpień usługi API Management, włącz tożsamość zarządzaną zarówno w wystąpieniach źródłowym, jak i docelowym.
Przypisz tożsamość roli Uczestnika danych Blob Storage w obszarze konta magazynu używanego do tworzenia kopii zapasowych i przywracania. Aby przypisać rolę, użyj witryny Azure Portal lub innych narzędzi platformy Azure.
Tworzenie kopii zapasowej usługi API Management
Zaloguj się przy użyciu programu Azure PowerShell.
W następujących przykładach:
- Wystąpienie usługi API Management o nazwie myapim znajduje się w grupie zasobów apimresourcegroup.
- Konto magazynowe o nazwie backupstorageaccount znajduje się w grupie zasobów storageresourcegroup. Konto magazynu ma kontener o nazwie backups.
- Zostanie utworzony obiekt blob kopii zapasowej o nazwie ContosoBackup.apimbackup.
Ustaw zmienne w programie PowerShell:
$apiManagementName="myapim";
$apiManagementResourceGroup="apimresourcegroup";
$storageAccountName="backupstorageaccount";
$storageResourceGroup="storageresourcegroup";
$containerName="backups";
$blobName="ContosoBackup.apimbackup"
Dostęp przy użyciu klucza dostępu do magazynu
$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
Dostęp przy użyciu tożsamości zarządzanej
Aby skonfigurować tożsamość zarządzaną w wystąpieniu usługi API Management w celu uzyskania dostępu do konta magazynu, zobacz Konfigurowanie tożsamości zarządzanej we wcześniejszej sekcji tego artykułu.
Dostęp przy użyciu tożsamości zarządzanej przypisanej przez system
$storageContext = New-AzStorageContext -StorageAccountName $storageAccountName
Backup-AzApiManagement -ResourceGroupName $apiManagementResourceGroup -Name $apiManagementName `
-StorageContext $storageContext -TargetContainerName $containerName `
-TargetBlobName $blobName -AccessType "SystemAssignedManagedIdentity"
Dostęp przy użyciu tożsamości zarządzanej przypisanej przez użytkownika
W tym przykładzie tożsamość zarządzana przypisana przez użytkownika o nazwie myidentity znajduje się w grupie zasobów 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
Tworzenie kopii zapasowej to długotrwała operacja, która może potrwać kilka minut. W tym czasie brama interfejsu API nadal obsługuje żądania, ale stan usługi jest aktualizowany.
Przywracanie usługi API Management
Uwaga
Unikaj zmian konfiguracji usługi (na przykład interfejsów API, zasad, wyglądu portalu dla deweloperów) podczas wykonywania operacji przywracania. Zmiany mogą zostać nadpisane.
W poniższych przykładach:
- Wystąpienie usługi API Management o nazwie myapim jest przywracane z obiektu blob kopii zapasowej o nazwie ContosoBackup.apimbackup w koncie magazynu backupstorageaccount.
- Blob kopii zapasowej znajduje się w kontenerze o nazwie backups.
Ustaw zmienne w programie PowerShell:
$apiManagementName="myapim";
$apiManagementResourceGroup="apimresourcegroup";
$storageAccountName="backupstorageaccount";
$storageResourceGroup="storageresourcegroup";
$containerName="backups";
$blobName="ContosoBackup.apimbackup"
Dostęp przy użyciu klucza dostępu do magazynu
$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
Dostęp przy użyciu tożsamości zarządzanej
Aby skonfigurować tożsamość zarządzaną w wystąpieniu usługi API Management w celu uzyskania dostępu do konta magazynu, zobacz Konfigurowanie tożsamości zarządzanej we wcześniejszej sekcji tego artykułu.
Dostęp przy użyciu tożsamości zarządzanej przypisanej przez system
$storageContext = New-AzStorageContext -StorageAccountName $storageAccountName
Restore-AzApiManagement -ResourceGroupName $apiManagementResourceGroup -Name $apiManagementName `
-StorageContext $storageContext -SourceContainerName $containerName `
-SourceBlobName $blobName -AccessType "SystemAssignedManagedIdentity"
Dostęp przy użyciu tożsamości zarządzanej przypisanej przez użytkownika
W tym przykładzie tożsamość zarządzana przypisana przez użytkownika o nazwie myidentity znajduje się w grupie zasobów 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
Ograniczenia
- Przywracanie kopii zapasowej jest gwarantowane tylko przez 30 dni od momentu jego utworzenia.
- Podczas tworzenia kopii zapasowej należy unikać zmian zarządzania w usłudze, takich jak uaktualnienie warstwy cenowej lub obniżenie jej poziomu, zmiana nazwy domeny i nie tylko.
- Zmiany wprowadzone w konfiguracji usługi (na przykład interfejsy API, zasady i wygląd portalu dla deweloperów) podczas wykonywania operacji tworzenia kopii zapasowej mogą zostać wykluczone z kopii zapasowej i zostaną utracone.
- Kopia zapasowa nie przechwytuje wstępnie zagregowanych danych dziennika używanych w raportach wyświetlanych w oknie Analiza w witrynie Azure Portal.
- Udostępnianie zasobów między źródłami (CORS) nie powinno być włączone w usłudze Blob na koncie magazynowym.
- Warstwa cenowa przywracanej usługi musi być zgodna z warstwą cenową przywracanej usługi kopii zapasowej.
Ograniczenia dotyczące sieci magazynu
Jeśli konto magazynu ma włączony firewall, zaleca się użycie systemowo przypisanej tożsamości zarządzanej dla wystąpienia usługi API Management w celu uzyskania dostępu do konta. Upewnij się, że konto magazynu udziela dostępu do zaufanych usług platformy Azure.
Czego nie obejmuje kopia zapasowa
- Dane użycia używane do tworzenia raportów analitycznych nie są uwzględniane w kopii zapasowej. Użyj interfejsu API REST usługi Azure API Management, aby okresowo pobierać raporty analityczne na potrzeby przechowywania danych.
- Certyfikaty TLS/SSL domeny niestandardowej.
- Niestandardowe certyfikaty CA, które obejmują certyfikaty pośrednie lub główne przesłane przez klienta.
- Ustawienia integracji sieci wirtualnej.
- Konfiguracja tożsamości zarządzanej .
- Konfiguracja diagnostyczna usługi Azure Monitor.
- Ustawienia protokołów i szyfrów .
- Zawartość portalu dla deweloperów.
Częstotliwość wykonywania kopii zapasowych usługi ma wpływ na cel punktu odzyskiwania. Aby go zminimalizować, zalecamy zaimplementowanie regularnych kopii zapasowych i wykonywanie kopii zapasowych na żądanie po wprowadzeniu zmian w usłudze API Management.
Powiązana zawartość
Zapoznaj się z następującymi powiązanymi zasobami dla procesu tworzenia/przywracania kopii zapasowej:
- Automatyzowanie tworzenia kopii zapasowej i przywracania w usłudze API Management za pomocą usługi Logic Apps
- Jak przenieść usługę Azure API Management między regionami
- Warstwa Premium w zarządzaniu API obsługuje również replikację strefy, która zapewnia odporność i wysoką dostępność wystąpienia usługi w określonym regionie platformy Azure (lokalizacji).