Saltar al contenido

¿Cómo soluciono los errores de inicio de instancias de EC2 causados por problemas de AMI?

4 minutos de lectura
0

Quiero solucionar el problema de mi imagen de máquina de Amazon (AMI) que no puede iniciar una instancia de Amazon Elastic Compute Cloud (Amazon EC2).

Descripción corta

Al iniciar una instancia desde una AMI, es posible que se muestre uno de los siguientes mensajes de error:

  • «Error launching AMI: In order to use the AWS Marketplace product you need to accept the terms and subscribe».
  • «Error: The instance configuration for this AWS Marketplace product is not supported».

O bien, es posible que la instancia se detenga inmediatamente después de iniciarla. Este problema suele producirse cuando se cifran los volúmenes de Amazon Elastic Block Store (Amazon EBS) de la instancia.

Resolución

Solución del error «you need to accept the terms and subscribe»

Puedes crear o iniciar nuevas AMI e instantáneas a partir de instancias que hayas creado con una AMI de AWS Marketplace. Las cuentas de AWS con las que compartas estas instancias deben suscribirse a la AMI de AWS Marketplace. Si la cuenta compartida no está suscrita a la AMI original de AWS Marketplace, no podrás iniciar una instancia desde la nueva AMI. Tampoco puedes adjuntar un volumen de EBS que hayas creado a partir de la instantánea de esa AMI.

Para resolver este problema, abre el enlace del mensaje de error para suscribir la cuenta a la AMI. A continuación, acepta los términos de la AMI. O bien, utiliza la consola de AWS Marketplace para suscribirte a la AMI.

Solución del error «instance configuration for this AWS Marketplace product is not supported»

Puedes restringir las AMI de AWS Marketplace por proveedor para permitir solo tipos de instancias específicos. Si intentas iniciar un tipo de instancia no compatible, se mostrará el mensaje de error «instance configuration for this AWS Marketplace product is not supported».

Consulta la página de AWS Marketplace de la AMI para obtener información sobre los tipos de instancias compatibles. Asegúrate de usar un tipo de instancia compatible para la AMI.

Solución de problemas de volúmenes de EBS cifrados

El usuario de AWS Identity and Access Management (IAM) debe tener acceso a la clave de cifrado de AWS Key Management Service (AWS KMS) para iniciar la instancia. De lo contrario, se produce un error en el inicio de la instancia.

Para resolver este problema, confirma que has compartido correctamente la AMI con la cuenta de destino. Para compartir una AMI, el usuario o rol de IAM de la cuenta de origen debe tener permisos ModifyImageAttribute en la AMI. Ejemplo de política de IAM:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:ModifyImageAttribute"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/12345678"
            ]                                                    
        }
    ]
}

Nota: Sustituye arn:aws:ec2:us-east-1::image/12345678 por el nombre de recurso de Amazon (ARN) de la AMI.

En la cuenta de origen, sigue estos pasos para compartir la clave de AWS KMS con la cuenta de destino:

  1. Abre la consola de AWS KMS.
  2. En el panel de navegación, selecciona Claves administradas por el cliente y, a continuación, selecciona tu clave de AWS KMS.
  3. En Otras cuentas de AWS, elige Agregar otras cuentas de AWS y, a continuación, elige Agregar otra cuenta de AWS.
  4. Para arn:aws:iam::, introduce el ID de la cuenta de objetivo. Por ejemplo, 1234567890.
  5. Selecciona Guardar cambios.

En la cuenta de objetivo, confirma que el usuario o rol de IAM tiene los permisos de cifrado necesarios. Ejemplo de política:

{  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "kms:DescribeKey",
        "kms:ReEncrypt*",
        "kms:Decrypt",
        "kms:GenerateDataKeyWithoutPlainText"
      ],
      "Resource": [
        "arn:aws:kms:us-east-1:Source-Account:key/key-id"
      ]
    },
    {
      "Effect": "Allow",
      "Action": "kms:CreateGrant",
      "Resource": [
        "arn:aws:kms:us-east-1:Source-Account:key/key-id"
      ],
      "Condition": {
        "Bool": {
          "kms:GrantIsForAWSResource": true
        }
      }
    }
  ]
}

Nota: Sustituye us-east-1 por tu región de AWS, Source-Account por el ID de la cuenta de origen y key-id por el ID de clave de AWS KMS.

Para probar la configuración, inicia la instancia de EC2 con la AMI cifrada. Cuando usas una AMI cifrada compartida, puedes usar tu propia clave de AWS KMS o el AWS KMS de origen para el cifrado de volúmenes. Se recomienda usar un AWS KMS de la cuenta de destino para volver a cifrar los volúmenes y protegerlos contra problemas de revocación de permisos o que comprometan la clave de origen.

Para obtener más información, consulta Cómo compartir AMI cifradas entre cuentas para iniciar instancias de EC2 cifradas.

OFICIAL DE AWSActualizada hace 4 meses