En este artículo se responden las preguntas más frecuentes sobre lo que sucede cuando las imágenes de Azure Marketplace se ponen en desuso.
Tengo un correo electrónico que mi imagen está programada para desuso. ¿Qué significa esto?
Puede recibir un correo electrónico que le indique que la máquina virtual (VM) se está ejecutando en imágenes programadas para desuso o que ya están en desuso. El publicador puede dejar de usar una imagen por varias razones, lo que puede deberse a problemas de seguridad o a que la imagen llega al final de la vida útil.
Una imagen puede quedar en desuso en el nivel de versión, plan o oferta:
- Entrada en desuso de una versión de imagen: eliminación de una versión de imagen de una máquina virtual individual
- Entrada en desuso de un plan o SKU: eliminación de un plan o SKU y de todas las imágenes del plan
- Entrada en desuso de una oferta: eliminación de una oferta de una máquina virtual completa, incluidos todos los planes dentro de la oferta y todas las imágenes de cada plan.
He recibido un correo electrónico que indica que mis cargas de trabajo se ejecutan en imágenes programadas para entrar en desuso. ¿Qué significa esto y cómo afecta a mis cargas de trabajo existentes?
Antes de la fecha de entrada en desuso programada puede seguir implementando nuevas instancias de máquina virtual o conjunto de escalado. Después de la fecha de desuso programada, no puede implementar nuevas instancias mediante las imágenes afectadas. Si el plan está programado para desuso, todas las versiones de imagen del plan ya no están disponibles. Si toda la oferta está programada para desuso, todos los planes de la oferta ya no estarán disponibles después del desuso.
- Las instancias de máquina virtual activas no se ven afectadas.
- No se pueden crear nuevas instancias de máquinas virtuales a partir de ninguna de las imágenes afectadas.
- Las implementaciones existentes del conjunto de escalado de máquinas virtuales no se pueden escalar horizontalmente si se configuran con cualquiera de las imágenes afectadas. Cuando un plan u oferta se ponen en desuso, no se puede escalar horizontalmente ninguna de las implementaciones de conjuntos de escalado existentes ancladas a cualquier imagen dentro del plan u oferta, respectivamente.
¿Qué tengo que hacer?
Si desea que el conjunto de escalado se escale horizontalmente después de la fecha de desuso, debe identificar el conjunto de escalado que se ejecuta en la imagen en desuso y, a continuación, migrar la carga de trabajo a una imagen compatible. Si desea permanecer en la imagen después del desuso, puede crear su propia imagen personalizada y migrarla. Si ya tiene actualizaciones automáticas configuradas para la máquina virtual o el conjunto de escalado, solo se verá afectado cuando una versión de oferta o plan está en desuso. La desuso de la versión de la imagen no tiene ningún impacto.
¿Cómo puedo identificar las máquinas virtuales y los conjuntos de escalado de máquinas virtuales en mi suscripción que se ejecutan en imágenes programadas para desuso?
Uso de Azure Resource graph:
Puede buscar la máquina virtual o los conjuntos de escalado de máquinas virtuales anclados a una imagen mediante la ejecución de las siguientes consultas en Azure Resource Graph:
- Para buscar las máquinas virtuales que se ejecutan en cualquier imagen retirada, especifique la imagen retirada y ejecute la consulta en Azure Resource Graph. Reemplace los valores por los detalles de la imagen:
resources
|where type == "microsoft.compute/virtualmachines"
//| where properties.storageProfile.imageReference.publisher =~ 'Windows' //optional filter, uncomment this line to filter for a specific publisher.
//| where properties.storageProfile.imageReference.sku =~ '2016-Datacenter' //optional filter, uncomment this line to filter for a specific deprecated SKU (Plan).
//| where properties.storageProfile.imageReference.version == '14393.4467.2106061537' //optional filter, uncomment this line to filter for a specific deprecated version.
|project name, subscriptionId, resourceGroup, ImagePublisher=properties.storageProfile.imageReference.publisher,ImageOffer=properties.storageProfile.imageReference.offer,imageSku=properties.storageProfile.imageReference.sku, imageVersion=properties.storageProfile.imageReference.exactVersion
- Para buscar el conjunto de escalado que se ejecuta en cualquier imagen retirada, especifique la imagen retirada y ejecute la consulta en Azure Resource Graph. Reemplace los valores por los detalles de la imagen:
resources
|where type == "microsoft.compute/virtualmachinescalesets"
//| where properties.virtualMachineProfile.storageProfile.imageReference.publisher =~ 'Windows' //optional filter, uncomment this line to filter for a specific publisher.
//| where properties.virtualMachineProfile.storageProfile.imageReference.sku =~ '2016-Datacenter' //optional filter, uncomment this line to filter for a specific deprecated SKU (Plan).
//| where properties.virtualMachineProfile.storageProfile.imageReference.version == '14393.4467.2106061537' //optional filter, uncomment this line to filter for a specific deprecated version.
//| where properties.virtualMachineProfile.storageProfile.imageReference.version != "latest" //optional filter, uncomment this line to filter out scale sets that aren't using "latest version" in the model.
|project name, subscriptionId, resourceGroup, ImagePublisher=properties.virtualMachineProfile.storageProfile.imageReference.publisher,ImageOffer=properties.virtualMachineProfile.storageProfile.imageReference.offer,imageSku=properties.virtualMachineProfile.storageProfile.imageReference.sku, imageVersion=properties.virtualMachineProfile.storageProfile.imageReference.version
Uso de la CLI de Azure:
- Muestre la máquina virtual con una imagen en desuso en el nivel de plan o SKU.
az vm show --resource-group $rgName --name $vmName --query "storageProfile.imageReference.exactVersion
az vm list --query "[?storageProfile.imageReference.sku=='2016-Datacenter'].{VM:id, imageOffer:storageProfile.imageReference.offer, imagePublisher:StorageProfile.imageReference.publisher, imageSku: storageProfile.imageReference.sku, imageVersion:storageProfile.imageReference.version}"
- Muestre la máquina virtual con una imagen en desuso en el nivel de versión.
az vm list --query "[?storageProfile.imageReference.version=='14393.4402.2105052108'].{VM:id, imageOffer:storageProfile.imageReference.offer, imagePublisher:StorageProfile.imageReference.publisher, imageSku: storageProfile.imageReference.sku, imageVersion:storageProfile.imageReference.version}"
Con PowerShell:
- Muestre la máquina virtual con imágenes en desuso en el nivel de versión.
(Get-AzVM -ResourceGroupName $rgname -Name $vmname).StorageProfile.ImageReference.ExactVersion
- Para buscar un conjunto de escalado mediante una versión en desuso.
$vmsslist = Get-AzVmss
$vmsslist | where {$_.virtualMachineProfile.storageProfile.imageReference.Version -eq '14393.4402.2105052108'} | Select-Object -Property ResourceGroupName, Name, @{label='imageOffer'; expression={$_.virtualMachineProfile.storageProfile.imageReference.Offer}}, @{label='imagePublisher'; expression={$_.virtualMachineProfile.storageProfile.imageReference.Publisher}}, @{label='imageSKU'; expression={$_.virtualMachineProfile.storageProfile.imageReference.Sku}}, @{label='imageVersion'; expression={$_.virtualMachineProfile.storageProfile.imageReference.Version}}
- Muestre los conjuntos de escalado con imágenes en desuso en el nivel de plan o SKU.
$vmsslist = Get-AzVmss
$vmsslist | where {$_.virtualMachineProfile.storageProfile.imageReference.Sku -eq '2016-Datacenter'} | Select-Object -Property ResourceGroupName, Name, @{label='imageOffer'; expression={$_.virtualMachineProfile.storageProfile.imageReference.Offer}}, @{label='imagePublisher'; expression={$_.virtualMachineProfile.storageProfile.imageReference.Publisher}}, @{label='imageSKU'; expression={$_.virtualMachineProfile.storageProfile.imageReference.Sku}}, @{label='imageVersion'; expression={$_.virtualMachineProfile.storageProfile.imageReference.Version}}
- Ejecute Get-AzVMImageDeprecationStatus.ps1 para enumerar si se crearon máquinas virtuales o conjuntos de escalado de máquinas virtuales en una suscripción a partir de imágenes de máquina virtual programadas para desuso.
Cuando una imagen se pone en desuso, no hay ningún impacto en las máquinas virtuales existentes y no se requiere ninguna acción. Cuando una imagen está en desuso, solo se ven afectadas las operaciones de escalado horizontal del conjunto de escalado de máquinas virtuales y las nuevas operaciones de creación de conjuntos de escalado de máquinas virtuales y máquinas virtuales.
¿Cómo migro mis cargas de trabajo a otra imagen?
Es posible que quiera seguir usando una imagen programada para ponerse desuso por motivos concretos o que quiera migrar las cargas de trabajo a otra oferta, plan o versión. Si desea seguir usando una imagen programada para ponerse en desuso, generalice la máquina virtual, desasígnela y, a continuación, cree una imagen personalizada para la máquina virtual o el conjunto de escalado. Después, cambie la implementación de la máquina virtual o del conjunto de escalado para que apunte a la imagen personalizada. Para más información, consulte Captura de una imagen de una máquina virtual en el portal.
Nota:
Si usa una imagen de Marketplace de pago en desuso que tiene definida la información del plan de compra (el objeto "plan" en la imagen), cuando esta imagen está en desuso, no puede crear nuevas cargas de trabajo de Virtual Machines ni realizar operaciones de Azure Site Recovery (ASR) o Backup con esta imagen. Esto sucede debido a la falta de información del plan.
Quiere migrar a otra oferta, plan o versión:
En primer lugar, busque otras ofertas, planes o versiones del mismo publicador.
Para migrar a otra oferta:
En la CLI de Azure:
az vm image list --location "west europe" --publisher "MicrosoftWindowsServer"
Mediante PowerShell:
Get-AzVMImage -Location "west europe" -PublisherName “MicrosoftWindowsServer”
Para migrar a otro plan:
Busque otros planes en la misma oferta y, a continuación, migre a ese plan.
CLI de Azure:
az vm image list --location "west europe" --publisher "MicrosoftWindowsServer" --offer "WindowsServer"
PowerShell:
Get-AzVMImage -Location "west europe" -PublisherName “MicrosoftWindowsServer” -Offer “WindowsServer”
Para migrar a otra versión:
Busque otra versión. Se recomienda migrar a la versión más reciente.
CLI de Azure:
az vm image list --location "west europe" --publisher "MicrosoftWindowsServer" --offer "WindowsServer" --sku "2019-Datacenter-with-Containers" --all"
PowerShell:
Get-AzVMImage -Location "west europe" -PublisherName "MicrosoftWindowsServer” -Offer “WindowsServer” -Skus "2019-Datacenter-with-Containers"
Debe comprobar que las cargas de trabajo sean compatibles y que se ejecutarán correctamente en la nueva imagen antes de migrar las cargas de trabajo a ella.
Los conjuntos de escalado, por lo general, admiten el reemplazo de la referencia de imágenes, pero las máquinas virtuales no lo admiten.
Migración de cargas de trabajo del conjunto de escalado a una imagen más reciente con un tiempo de inactividad mínimo
Conjunto de escalado: las sugerencias para actualizar la versión deben incluir:
- Para evitar tiempos de inactividad, asegúrese de que la directiva de actualización esté establecida en manual o gradual.
- Si se establece en manual, no se restablecerá la imagen inicial de las instancias existentes hasta que se actualicen manualmente.
- Si se establece en gradual, se actualizarán y se restablecerá la imagen inicial de las instancias existentes por lotes.
- Actualice la referencia de imagen mediante los pasos que se indican en Modificación de un conjunto de escalado de máquinas virtuales de Azure.
- Asegúrese de que todas las instancias existentes se actualicen y lo hagan al modelo más reciente. También puede escalar horizontalmente y migrar la carga de trabajo a las nuevas instancias y, a continuación, eliminar las instancias antiguas, en lugar de actualizar las instancias existentes.
- Una vez que todas las instancias existentes se actualicen a la nueva imagen, cambie la directiva de actualización a la que era si fuera necesario. Si usa virtual Machine Scale Sets, se recomienda habilitar las actualizaciones automáticas de imágenes del sistema operativo para que la imagen más reciente publicada por editores de imágenes se aplique automáticamente al conjunto de escalado sin intervención manual del usuario. Obtenga información sobre cómo habilitar la actualización automática de imágenes del sistema operativo.
¿Qué ocurre cuando una imagen de Marketplace de pago con la información del plan de compra está en desuso?
Si usa una imagen de Marketplace de pago, cuando la imagen está en desuso intentando restaurar la máquina virtual a partir de copias de seguridad puede producir un error en las imágenes con información de plan una vez que la imagen se quita o deja de usar de Marketplace. Se recomienda crear nuevas máquinas virtuales y migrar la carga de trabajo a esa imagen si usa una imagen de Marketplace de pago con información de plan. Si la imagen de máquina virtual es gratuita, en ese caso no requiere información del plan, puede seguir usando la única máquina virtual y poder restaurar desde copias de seguridad. Esto solo afecta a las máquinas virtuales únicas y no a las cargas de trabajo del conjunto de escalado de máquinas virtuales.
¿Qué ocurre cuando una imagen gratuita de Marketplace está en desuso?
No hay ningún impacto en las cargas de trabajo existentes de vm o conjunto de escalado de máquinas virtuales cuando una imagen gratuita de Marketplace está en desuso. Sin embargo, no puede crear nuevas máquinas virtuales ni cargas de trabajo del conjunto de escalado de máquinas virtuales a partir de una imagen gratuita de Marketplace en desuso.
¿Todas las versiones de imagen que sean inferiores a la versión indicada también están en desuso?
Por lo general, sí. Sin embargo, es recomendable confirmar en la lista de versiones válidas de un plan mediante Imágenes de máquina virtual: Lista.
¿Cómo recibo correos electrónicos sobre el desuso de imágenes?
Asegúrese de que tiene roles de propietario, administrador de cuenta o administrador de acceso de usuario en la suscripción.
¿Cómo puedo comprobar si una imagen específica está en desuso o programada para ello?
Puede comprobar si una imagen está en desuso o está programada para ello mediante la API REST.
Si la imagen está en desuso, obtendrá una imagen de máquina virtual en desuso . Si la imagen está programada para desuso, la respuesta muestra la fecha del desuso programado.
Nota:
Puede ejecutar Get-AzVMImageDeprecationStatus.ps1 en Cloud Shell o localmente en Azure PowerShell para mostrar si alguna máquina virtual de una suscripción se creó a partir de imágenes de máquinas virtuales cuyo desuso está programado. Este script admite instancias del conjunto de escalado de máquinas virtuales y de máquinas virtuales.
La respuesta indica que esta imagen está en desuso:
{
"error": {
"code": "ImageVersionDeprecated",
"message": "VM Image from publisher: MicrosoftWindowsServer with - Offer: WindowsServer, Sku: 2016-Datacenter, Version: 14393.4169.2101090332 is deprecated."
}
}
Para comprobar si una imagen está en desuso mediante la CLI de Azure o PowerShell:
CLI de Azure:
az vm image show --location eastus --urn <MicrosoftWindowsServer:WindowsServer:2016-Datacenter:14393.4169.2101090332> --query [imageDeprecationStatus]
PowerShell:
Get-AzVMImage -Location "eastus" -PublisherName <MicrosoftWindowsServer> -Offer "WindowsServer" -Skus <2016-Datacenter> -Version <14393.4169.2101090332> | Select-Object -ExpandProperty "ImageDeprecationStatus"
Para comprobar todas las versiones de una SKU específica con sus detalles de desuso:
Get-AzVMImage -Location "westus" `
-PublisherName "center-for-internet-security-inc" `
-Offer "cis-rocky" `
-Skus "cis-rockylinux-9-l1-gen2-azure-observability" `
-Expand "properties/imageDeprecationStatus" |
Select-Object Version, @{
Name = "DeprecationDetails"
Expression = { $_.ImageDeprecationStatus | Out-String }
} | Format-Table -Wrap -AutoSize
La respuesta indica que esta imagen está en desuso:
Get-AzVMImage: VM Image from publisher: MicrosoftWindowsServer with - Offer: WindowsServer, Sku: 2016-Datacenter, Version: 14393.4169.2101090332 is deprecated.
ErrorCode: ImageVersionDeprecated
ErrorMessage: VM Image from publisher: MicrosoftWindowsServer with - Offer: WindowsServer, Sku: 2016-Datacenter, Version: 14393.4169.2101090332 is deprecated.
ErrorTarget:
StatusCode: 404
ReasonPhrase: Not Found
¿Qué ocurre con mi instancia de SQL Server si una imagen de Azure Marketplace de SQL Server está en desuso?
No ocurre nada con la instancia de SQL Server si una imagen de SQL Server está en desuso. Puede seguir usando la máquina virtual de Azure y la instancia de SQL Server sin interrupción. Sin embargo, ya no podrá implementar esa imagen en el futuro.
¿Cómo se comprueban las versiones de imágenes activas en una SKU determinada?
Las imágenes activas no están programadas para desuso o ya están en desuso. Enumere las versiones de imágenes activas en una SKU mediante los siguientes comandos:
CLI de Azure:
az vm image list --<location> eastus --publisher <MicrosoftWindowsServer> --offer <WindowsServer> --sku <2022-Datacenter> --all --query "[?imageDeprecationStatus.imageState=='Active']"
PowerShell:
Get-AzVMImage -Location "westus" `
-PublisherName "center-for-internet-security-inc" `
-Offer "cis-rocky" `
-Skus "cis-rockylinux-9-l1-gen2-azure-observability" `
-Expand "properties/imageDeprecationStatus" |
Where-Object { $_.ImageDeprecationStatus.ImageState -eq "Active" } |
Select-Object Version