Vészhelyreállítás a biztonsági mentés és visszaállítás használatával az Azure API Managementben

A KÖVETKEZŐKRE VONATKOZIK: Fejlesztő | Alapszintű | Standard | Prémium

Az API-k Azure API Managementen keresztüli közzétételével és kezelésével kihasználhatja a hibatűrési és infrastruktúra-képességeket, amelyeket egyébként manuálisan tervezhet, implementálhat és kezelhet. Az Azure-platform a költségek töredékével mérsékli a lehetséges hibák nagy részét.

Az API Management szolgáltatást érintő rendelkezésre állási problémák elhárításához bármikor készen kell állnia a szolgáltatás egy másik régióban való újraalakítására. A helyreállítási időkorláttól függően előfordulhat, hogy egy készenléti szolgáltatást egy vagy több régióban szeretne tartani. A helyreállítási pont célkitűzésének megfelelően megpróbálhatja az aktív szolgáltatással szinkronban tartani a konfigurációjukat és a tartalmaikat. Az API management biztonsági mentési és visszaállítási képességei biztosítják a vészhelyreállítási stratégia megvalósításához szükséges építőelemeket.

A biztonsági mentési és visszaállítási műveletek az API Management szolgáltatás konfigurációjának operatív környezetek közötti replikálásához is használhatók, például a fejlesztéshez és az előkészítéshez. Ügyeljen arra, hogy a futtatókörnyezeti adatok, például a felhasználók és az előfizetések is másolni fognak, ami nem mindig kívánatos.

Ez a cikk bemutatja, hogyan automatizálhatja az API Management-példány biztonsági mentési és visszaállítási műveleteit egy külső tárfiók használatával. Az itt látható lépések a Backup-AzApiManagement és a Restore-AzApiManagement Azure PowerShell-parancsmagokat, vagy az Api Management Service – Backup és Api Management Service – Rest API-k visszaállítása parancsmagokat használják.

Figyelmeztetés

30 nap után minden biztonsági másolat lejár. Ha a 30 napos lejárati időszak lejárta után próbál biztonsági másolatot készíteni, a visszaállítás egy Cannot restore: backup expired üzenettel meghiúsul.

Fontos

A visszaállítási művelet nem módosítja a célszolgáltatás egyéni állomásnév-konfigurációját. Javasoljuk, hogy az aktív és a készenléti szolgáltatások esetében is ugyanazt az egyéni gazdagépnevet és TLS-tanúsítványt használja, hogy a visszaállítási művelet befejeződése után a forgalom egy egyszerű DNS CNAME-módosítással újra irányítható legyen a készenléti példányra.

Feljegyzés

Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Az első lépésekhez tekintse meg az Azure PowerShell telepítését ismertető szakaszt. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.

Előfeltételek

Tárfiók-hozzáférés konfigurálása

Biztonsági mentési vagy visszaállítási művelet futtatásakor konfigurálnia kell a tárfiókhoz való hozzáférést. Az API Management két tárolási hozzáférési mechanizmust támogat: egy Azure Storage hozzáférési kulcsot vagy egy API Management által felügyelt identitást.

Tárfiók hozzáférési kulcsának konfigurálása

Az Azure két 512 bites tárfiók hozzáférési kulcsot hoz létre minden tárfiókhoz. Ezekkel a kulcsokkal engedélyezheti a tárfiókban lévő adatokhoz való hozzáférést megosztott kulcsok engedélyezésén keresztül. A kulcsok megtekintéséhez, lekéréséhez és kezeléséhez lásd : Tárfiók hozzáférési kulcsainak kezelése.

Az API Management által felügyelt identitás konfigurálása

Feljegyzés

Az API Management által felügyelt identitás használata a tárolási műveletekhez a biztonsági mentés és visszaállítás során az API Management REST API-verziójában vagy újabb verzióiban 2021-04-01-preview támogatott.

  1. Engedélyezze a rendszer által hozzárendelt vagy felhasználó által hozzárendelt felügyelt identitást az API Managementhez az API Management-példányban.

    • Ha engedélyezi a felhasználó által hozzárendelt felügyelt identitást, jegyezze fel az identitás ügyfél-azonosítóját.
    • Ha biztonsági másolatot készít és visszaállít különböző API Management-példányokra, engedélyezze a felügyelt identitást a forrás- és a célpéldányokban is.
  2. Rendelje hozzá az identitást a Storage Blob-adatok közreműködői szerepköréhez, amely a biztonsági mentéshez és visszaállításhoz használt tárfiókra terjed ki. A szerepkör hozzárendeléséhez használja az Azure Portalt vagy más Azure-eszközöket.

API Management szolgáltatás biztonsági mentése

Jelentkezzen be az Azure PowerShell-lel.

Az alábbi példákban:

  • A myapim nevű API Management-példány az apimresourcegroup erőforráscsoportban található.
  • A backupstorageaccount nevű tárfiók az erőforráscsoport storageresourcegroup-ban található. A tárfiók rendelkezik biztonsági másolatok nevű tárolóval.
  • Létrejön egy ContosoBackup.apimbackup nevű biztonsági mentési blob.

Változók beállítása a PowerShellben:

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

Hozzáférés tárelérési kulccsal

$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

Hozzáférés felügyelt identitással

Ha egy felügyelt identitást szeretne konfigurálni az API Management-példányban a tárfiók eléréséhez, olvassa el a cikk korábbi, felügyelt identitás konfigurálása című szakaszát.

Hozzáférés a rendszer által hozzárendelt felügyelt identitással

$storageContext = New-AzStorageContext -StorageAccountName $storageAccountName

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

Hozzáférés felhasználó által hozzárendelt felügyelt identitással

Ebben a példában a myidentity nevű, felhasználó által hozzárendelt felügyelt identitás az erőforráscsoport identityresourcegroup-ban található.

$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

A biztonsági mentés egy hosszú ideig futó művelet, amely több percet is igénybe vehet. Ez idő alatt az API-átjáró továbbra is kezeli a kéréseket, de a szolgáltatás állapota frissítés.

API Management szolgáltatás visszaállítása

Figyelemfelhívás

Kerülje a szolgáltatáskonfiguráció (például API-k, szabályzatok, fejlesztői portál megjelenése) módosítását, amíg a visszaállítási művelet folyamatban van. A módosítások felülírhatók.

Az alábbi példákban

  • A rendszer visszaállít egy myapim nevű API Management-példányt a ContosoBackup.apimbackup nevű biztonsági mentési blobból a tárfiók backupstorageaccount mappájában.
  • A biztonsági mentési blob egy biztonsági másolatok nevű tárolóban található.

Változók beállítása a PowerShellben:

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

Hozzáférés tárelérési kulccsal

$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

Hozzáférés felügyelt identitással

Ha egy felügyelt identitást szeretne konfigurálni az API Management-példányban a tárfiók eléréséhez, olvassa el a cikk korábbi, felügyelt identitás konfigurálása című szakaszát.

Hozzáférés a rendszer által hozzárendelt felügyelt identitással

$storageContext = New-AzStorageContext -StorageAccountName $storageAccountName

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

Hozzáférés felhasználó által hozzárendelt felügyelt identitással

Ebben a példában a myidentity nevű, felhasználó által hozzárendelt felügyelt identitás az erőforráscsoport identityresourcegroup-ban található.

$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

A visszaállítás egy hosszú ideig futó művelet, amely akár 45 percet is igénybe vehet.

Megszorítások

  • A biztonsági mentés visszaállítása csak a létrehozás pillanatától számított 30 napig garantált.
  • Amíg a biztonsági mentés folyamatban van, kerülje a szolgáltatás felügyeleti változásait, például a tarifacsomagok frissítését vagy leminősítését, a tartománynév módosítását stb.
  • Előfordulhat , hogy a szolgáltatáskonfiguráció módosításai (például API-k, szabályzatok és fejlesztői portál megjelenése) a biztonsági mentési művelet végrehajtása közben ki lesznek zárva a biztonsági mentésből, és elvesznek.
  • A biztonsági mentés nem rögzíti az Azure Portal Elemzés ablakában megjelenő jelentésekben használt előre összesített naplóadatokat.
  • A forrásközi erőforrás-megosztás (CORS)nem engedélyezhető a tárfiók blobszolgáltatásában.
  • A visszaállítandó szolgáltatás tarifacsomagjának meg kell egyeznie a visszaállított biztonsági mentési szolgáltatás tarifacsomagjának.

Tárolási hálózatkezelési korlátozások

Ha a tárfiók engedélyezve van a tűzfalon, ajánlott az API Management-példány rendszer által hozzárendelt felügyelt identitását használni a fiókhoz való hozzáféréshez. Győződjön meg arról, hogy a tárfiók hozzáférést biztosít a megbízható Azure-szolgáltatásokhoz.

Mi nem készül biztonsági mentésről?

A szolgáltatás biztonsági mentésének gyakorisága befolyásolja a helyreállítási pont célkitűzését. A minimálisra csökkentése érdekében javasoljuk, hogy az API Management szolgáltatás módosítása után rendszeres biztonsági mentéseket és igény szerinti biztonsági mentéseket hajtson végre.

Következő lépések

Tekintse meg a következő kapcsolódó erőforrásokat a biztonsági mentési/visszaállítási folyamathoz: