Saltar al contenido

¿Cómo soluciono el error "Waiter ImageAvailable failed" al crear o copiar una AMI?

5 minutos de lectura
0

Cuando creo o copio una imagen de máquina de Amazon (AMI) en Amazon Elastic Compute Cloud (Amazon EC2), recibo el mensaje de error "Waiter ImageAvailable failed".

Resolución

Solución del error "Max attempts exceeded"

Si el proceso de creación o copia de la AMI tarda más que el tiempo de espera predeterminado de 10 minutos, recibirás el siguiente mensaje de error:

"Waiter ImageAvailable failed: Max attempts exceeded"

Para resolver este problema, implementa un retraso exponencial con un comportamiento de reintento o utiliza Amazon EventBridge para supervisar el proceso de creación o copia de la AMI.

Implementación de un retroceso exponencial

El retroceso exponencial aumenta la cantidad de tiempo entre los reintentos. Para implementar el retroceso exponencial, utiliza un script o un código que vuelva a intentar la operación con un retraso creciente entre cada intento.

El siguiente script de ejemplo usa el AWS SDK para Python (Boto3) para establecer un valor de WaiterConfig personalizado:

import boto3
from botocore.exceptions import WaiterError

client = boto3.client('ec2')
waiter = client.get_waiter('image_available')

try:
    waiter.wait(
        ImageIds=['ami-abcdefghxyz'],
        WaiterConfig={
            'Delay': 15,
            'MaxAttempts': 50
        }
    )
except WaiterError as e:
    # Handle the WaiterError exception
    print(f"Error waiting for image availability: {e}")
    # Add additional logic here to handle the error, such as retrying the operation or logging the issue

Nota: Sustituye ami-abcdefghxyz por tu ID de AMI, 15 por el retraso entre intentos en segundos y 50 por el número máximo de reintentos.

Uso de EventBridge para supervisar los procesos de AMI

Si usas EventBridge, no es necesario que supervises activamente los procesos de la AMI. En su lugar, crea una regla de EventBridge que detecte cuándo se completan los eventos CopyImage o CreateImage. A continuación, configura una acción para que te notifique cuando se completen los procesos. Por ejemplo, utiliza Amazon Simple Notification Service (Amazon SNS) para enviarte una notificación por correo electrónico. Para obtener más información, consulta Supervisión de los eventos de las AMI con Amazon EventBridge.

Solución del error "An error occurred waiting for the image to become available"

Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulta Solución de problemas de AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.

Es posible que se muestre el siguiente mensaje de error:

"An error occurred waiting for the image to become available: Waiter ImageAvailable failed: Waiter encountered a terminal failure state"

Este error surge por los siguientes motivos:

  • Te faltan los permisos necesarios de AWS Identity and Access Management (IAM).
  • Hay problemas temporales con la infraestructura subyacente de AWS.
  • Has copiado o creado una AMI grande o compleja.
    Nota: Las AMI grandes o complejas que tienen varios paquetes de software y personalizaciones pueden superar el tiempo de espera predeterminado de 10 minutos al copiarlas o crearlas. Para resolver este problema, consulta Solución del error "Max attempts exceeded".

Para solucionar estos errores, haz lo siguiente.

Comprobación de los permisos de IAM

La política de IAM que adjuntaste al rol o usuario que creó o copió la AMI debe tener los siguientes permisos obligatorios:

  • ec2:DescribeImages
  • ec2:CreateImage
  • ec2:CopyImage

Actualiza la política de IAM para incluir los permisos anteriores y, a continuación, vuelve a intentar el proceso de creación o copia.

Comprobación de si hay problemas con la infraestructura de AWS

Para comprobar el estado actual de la AMI, ejecuta el siguiente comando describe-images de la AWS CLI.

aws ec2 describe-images --image-ids AMI_ID

Nota: Sustituye AMI_ID por tu ID de AMI.

El resultado muestra el estado actual de la AMI. Si el estado es Pendiente, el proceso de creación o copia de la AMI aún está en curso. Sin embargo, si el estado esError es posible que haya problemas de infraestructura subyacentes.

Los problemas de hardware o de carga elevada pueden provocar problemas temporales al crear o copiar las AMI. En este escenario, espera entre 5 y 10 minutos y, a continuación, vuelve a intentar el proceso de creación o copia. Para comprobar si hay problemas actuales que afectan a tu región de AWS o a tu servicio de AWS, comprueba el estado del servicio en el panel de estado de AWS.

Solución de otros problemas

Si sigues teniendo problemas, consulta el historial de eventos de AWS CloudTrail para identificar los problemas con los eventos CopyImage o CreateImage. Comprobación de si hay mensajes de error, motivos de error, cuotas de servicio superadas y problemas de acceso. Para obtener más información, consulta Registro de llamadas a la API de Amazon EC2 mediante CloudTrail.

Si no hay ningún problema en curso y la operación falla incluso después de esperar entre 5 y 10 minutos para volver a intentarlo, abre un caso de AWS Support.

OFICIAL DE AWSActualizada hace un año