Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
SE APLICA A: Desarrollador | Básico | Estándar | Premium
Si publica y administra las API a través de Azure API Management, podrá aprovechar numerosas funcionalidades de infraestructura y tolerancia a errores que, de lo contrario, tendría que diseñar, implementar y administrar de manera manual. La plataforma Azure mitiga una gran cantidad de posibles errores a un costo reducido.
Para recuperarse de los problemas de disponibilidad que afectan a su servicio API Management, esté preparado para reconstituir su servicio en otra región en cualquier momento. Según el objetivo de tiempo de recuperación, puede que quiera mantener un servicio en espera en una o varias regiones. También puede que quiera intentar mantener sincronizados la configuración y el contenido con el servicio activo según el objetivo de punto de recuperación. Las características de copia de seguridad y restauración del API Management ofrecen los bloques de creación necesarios para implementar una estrategia de recuperación ante desastres.
Las operaciones de copia de seguridad y restauración también pueden usarse para replicar la configuración del servicio de API Management entre entornos operativos, por ejemplo, desarrollo y almacenamiento provisional. Sepa que los datos del entorno de ejecución, como los usuarios y las suscripciones, también se copiarán, lo que no siempre podría ser deseable.
En este artículo se muestra cómo automatizar las operaciones de copia de seguridad y restauración de la instancia de API Management mediante una cuenta de almacenamiento externa. Los pasos que se muestran aquí usan los cmdlets Backup-AzApiManagement y Restore-AzApiManagement de Azure PowerShell o las API de REST Management Service - Backup y API Management Service - Restore.
Advertencia
Cada copia de seguridad expira después de 30 días. Si intenta restaurar una copia de seguridad una vez transcurrido el período de expiración de 30 días, se producirá un error en la restauración con un mensaje Cannot restore: backup expired
.
Importante
La operación de restauración no cambia la configuración del nombre de host personalizado del servicio de destino. Se recomienda usar el mismo nombre de host personalizado y el mismo certificado TLS para los servicios activos y en espera, de modo que, una vez finalizada la operación de restauración, el tráfico pueda redirigirse a la instancia en espera mediante un simple cambio de DNS CNAME.
Nota:
Se recomienda usar el módulo de PowerShell de Azure Az para interactuar con Azure. Para comenzar, consulte Instalar Azure PowerShell. Para más información sobre cómo migrar al módulo Az PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.
Importante
Los cambios en la infraestructura del servicio API Management (por ejemplo, la configuración de dominios personalizados, la adición de certificados de CA, el escalado, la configuración de red virtual, los cambios de zona de disponibilidad y las adiciones de regiones) pueden tardar 15 minutos o más en completarse, según el nivel de servicio y el tamaño de la implementación. Espere tiempos más largos para una instancia con un mayor número de unidades de escalado o configuración de varias regiones. Los cambios graduales en API Management se ejecutan cuidadosamente para conservar la capacidad y la disponibilidad.
Aunque el servicio se está actualizando, no se pueden realizar otros cambios en la infraestructura de servicio. Sin embargo, puede configurar las API, los productos, las directivas y la configuración del usuario. El servicio no experimentará tiempo de inactividad de la puerta de enlace y API Management seguirá ofreciendo servicio a las solicitudes de API sin interrupción (excepto en el nivel Desarrollador).
Requisitos previos
Una instancia de servicio de API Management en un nivel de servicio compatible. Si no tiene una, consulte Creación de una instancia del servicio Azure API Management.
Nota:
Actualmente, la copia de seguridad y la restauración no se admiten en instancias de API Management con puertas de enlace de área de trabajo asociadas.
Una cuenta de almacenamiento de Azure. Si aún no tiene una, cree una cuenta de almacenamiento.
- Cree un contenedor en la cuenta de almacenamiento para que contenga los datos de copia de seguridad.
La versión más reciente de Azure PowerShell, si tiene previsto usar cmdlets de Azure PowerShell. Si todavía no lo ha hecho, instale Azure PowerShell.
Configuración del acceso de la cuenta de almacenamiento
Al ejecutar una operación de copia de seguridad o restauración, debe configurar el acceso a la cuenta de almacenamiento. API Management admite dos mecanismos de acceso de almacenamiento: una clave de acceso de Azure Storage o una identidad administrada de API Management.
Configuración de la clave de acceso de la cuenta de almacenamiento
Azure genera dos claves de acceso de 512 bits para cada cuenta de almacenamiento. Estas claves se pueden usar para autorizar el acceso a los datos de su cuenta de almacenamiento mediante la autorización con clave compartida. Para ver, recuperar y administrar las claves, consulte Administración de claves de acceso de la cuenta de almacenamiento.
Configuración de la identidad administrada de API Management
Nota:
El uso de una identidad administrada de API Management para operaciones de almacenamiento durante la copia de seguridad y la restauración requiere la versión 2021-04-01-preview
o posterior de la API REST de API Management.
Habilite una identidad administrada asignada por el sistema o por el usuario para API Management en la instancia de API Management.
- Si habilita una identidad administrada asignada por el usuario, tome nota del id. de cliente de la identidad.
- Si va a realizar una copia de seguridad y restaurar contenido en diferentes instancias de API Management, habilite una identidad administrada en las instancias de origen y de destino.
Asigne a la identidad la función Colaborador de datos de blobs de almacenamiento, en el ámbito de la cuenta de almacenamiento que se usa para realizar copias de seguridad y restauraciones. Puede usar Azure Portal u otras herramientas de Azure para asignar el rol.
Hacer una copia de seguridad del servicio API Management
Inicie sesión con Azure PowerShell.
En los siguientes ejemplos:
- Una instancia de API Management denominada myapim está en el grupo de recursos apimresourcegroup.
- Una cuenta de almacenamiento denominada backupstorageaccount está en el grupo de recursos storageresourcegroup. La cuenta de almacenamiento tiene un contenedor denominado backups.
- Se creará un blob de copia de seguridad con el nombre ContosoBackup.apimbackup.
Establezca las variables en PowerShell:
$apiManagementName="myapim";
$apiManagementResourceGroup="apimresourcegroup";
$storageAccountName="backupstorageaccount";
$storageResourceGroup="storageresourcegroup";
$containerName="backups";
$blobName="ContosoBackup.apimbackup"
Acceso mediante la clave de acceso de almacenamiento
$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
Acceso mediante la identidad administrada
Para configurar una identidad administrada en la instancia de API Management para acceder a la cuenta de almacenamiento, consulte Configuración de una identidad administrada, anteriormente en este artículo.
Acceso mediante una identidad administrada asignada por el sistema
$storageContext = New-AzStorageContext -StorageAccountName $storageAccountName
Backup-AzApiManagement -ResourceGroupName $apiManagementResourceGroup -Name $apiManagementName `
-StorageContext $storageContext -TargetContainerName $containerName `
-TargetBlobName $blobName -AccessType "SystemAssignedManagedIdentity"
Acceso mediante una identidad administrada asignada por el usuario
En este ejemplo, una identidad administrada asignada por el usuario denominada myidentity está en el grupo de recursos 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
La creación de una copia de seguridad es una operación de larga duración que puede tardar varios minutos en completarse. Durante este tiempo, la puerta de enlace de API sigue controlando las solicitudes, pero el estado del servicio es Actualizando.
Restaurar el servicio API Management
Precaución
Evite cambios en la configuración del servicio (por ejemplo, en la API, las directivas o la apariencia del portal para desarrolladores) mientras la operación de restauración está en curso. Los cambios se pueden sobrescribir.
En los siguientes ejemplos:
- Se restaura una instancia de API Management denominada myapim del blob de copia de seguridad denominado ContosoBackup.apimbackup en la cuenta de almacenamiento backupstorageaccount.
- El blob de copia de seguridad está en un contenedor denominado backups.
Establezca las variables en PowerShell:
$apiManagementName="myapim";
$apiManagementResourceGroup="apimresourcegroup";
$storageAccountName="backupstorageaccount";
$storageResourceGroup="storageresourcegroup";
$containerName="backups";
$blobName="ContosoBackup.apimbackup"
Acceso mediante la clave de acceso de almacenamiento
$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
Acceso mediante la identidad administrada
Para configurar una identidad administrada en la instancia de API Management para acceder a la cuenta de almacenamiento, consulte Configuración de una identidad administrada, anteriormente en este artículo.
Acceso mediante una identidad administrada asignada por el sistema
$storageContext = New-AzStorageContext -StorageAccountName $storageAccountName
Restore-AzApiManagement -ResourceGroupName $apiManagementResourceGroup -Name $apiManagementName `
-StorageContext $storageContext -SourceContainerName $containerName `
-SourceBlobName $blobName -AccessType "SystemAssignedManagedIdentity"
Acceso mediante una identidad administrada asignada por el usuario
En este ejemplo, una identidad administrada asignada por el usuario denominada myidentity está en el grupo de recursos 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
Restricciones
- La restauración de una copia de seguridad se garantiza solo durante 30 días a partir del momento en que esta se crea.
- Mientras la copia de seguridad esté en curso, evite hacer cambios de administración en el servicio, como una actualizaciones o cambios a una versión anterior de un plan de tarifa, cambios en los nombres de dominio, etc.
- Es posible que los cambios que se realicen en la configuración del servicio (por ejemplo, las API, las directivas y la apariencia del portal para desarrolladores) mientras se esté realizando la operación de copia de seguridad no se incluyan en la copia de seguridad y se pierdan.
- La copia de seguridad no captura los datos de registro previamente agregados usados en los informes mostrados en la ventana Análisis de Azure Portal.
- El Uso compartido de recursos entre orígenes (CORS)no debería estar habilitado en Blob service en la cuenta de almacenamiento.
- El plan de tarifa del servicio en el que se restaura debe coincidir con el plan de tarifa del servicio en copia de seguridad que se restaura.
Restricciones de redes de almacenamiento
Si la cuenta de almacenamiento está habilitada para firewall se recomienda usar la identidad administrada asignada por el sistema de la instancia de API Management para acceder a la cuenta. Asegúrese de que la cuenta de almacenamiento concede acceso a los servicios de Azure de confianza.
De lo que no se hace una copia de seguridad
- Los datos de uso con los que se crean informes de análisis no se incluyen en la copia de seguridad. La API de REST de Azure API Management permite recuperar de forma periódica informes de análisis para guardarlos en un lugar seguro.
- Certificados TLS/SSL de dominio personalizado.
- Certificados personalizados de entidades de certificación, que incluyen certificados raíz o intermedios cargados por el cliente.
- Configuración de la integración de red virtual.
- Configuración de identidad administrada.
- Configuración de diagnóstico de Azure Monitor.
- Configuración de protocolos y cifrado.
- Contenido del Portal para desarrolladores.
La frecuencia con la que se crean las copias de seguridad del servicio afecta al objetivo de punto de recuperación. Para minimizarlo, se recomienda implementar las copias de seguridad habituales y realizar copias de seguridad a petición después de hacer los cambios en el servicio API Management.
Contenido relacionado
Consulte los siguientes recursos relacionados para el proceso de copia de seguridad y restauración:
- Automatización de las copias de seguridad y restauración de API Management con Logic Apps
- Migración de Azure API Management entre regiones
- El nivel Premium de API Management también admite la redundancia de zona, ya que proporciona resistencia y alta disponibilidad a una instancia de servicio en una región (ubicación) de Azure específica.