Publicación de la AMI para utilizarla en Amazon EC2 - Amazon Elastic Compute Cloud

Publicación de la AMI para utilizarla en Amazon EC2

Puede hacer que su AMI esté disponible públicamente y compartirla con todas las Cuentas de AWS.

Si desea impedir que sus AMI se compartan públicamente, habilite el bloqueo del acceso público de las AMI. Esto bloquea cualquier intento de hacer pública una AMI, lo que ayuda a prevenir el acceso no autorizado y el posible uso indebido de los datos de la AMI. Tenga en cuenta que la habilitación del bloqueo del acceso público no afecta a las AMI que ya están disponibles públicamente y que permanecerán en ese estado. Para obtener más información, consulte Descripción del bloqueo del acceso público de las AMI.

Para permitir que solo cuentas específicas utilicen su AMI para iniciar instancias, consulte Compartir una AMI con cuentas de AWS específicas.

Consideraciones

Tenga en cuenta lo siguiente antes de hacer pública una AMI.

  • Propiedad: para hacer pública una AMI, su Cuenta de AWS debe ser la propietaria de esta.

  • Región: las AMI son un recurso regional. Cuando comparte una AMI, solo está disponible en la región desde donde la compartió. Para hacer que una AMI esté disponible en una región distinta, copie la AMI en dicha región y, a continuación, compártala. Para obtener más información, consulte Copia de una AMI de Amazon EC2.

  • bloqueo del acceso público: para compartir públicamente una AMI, debe deshabilitar el bloqueo del acceso público de las AMI en cada región en la que la AMI se compartirá públicamente. Una vez que haya compartido la AMI públicamente, puede volver a habilitar el bloqueo del acceso público de las AMI para evitar que se sigan compartiendo públicamente.

  • Algunas AMI no se pueden hacer públicas: si su AMI tiene alguno de los siguientes componentes, no puede hacerla pública (pero puede compartir la AMI con Cuentas de AWS específicas):

    • Volúmenes cifrados

    • Instantáneas de volúmenes cifrados

    • Códigos de producto

  • Evite exponer información confidencial: para evitar exponer información confidencial al compartir una AMI, lea las consideraciones de seguridad disponibles en Recomendaciones para crear AMI compartidas de Linux y realice las acciones recomendadas.

  • Uso: cuando comparte una AMI, los usuarios solo pueden iniciar instancias desde la AMI. No pueden eliminarla, compartirla ni modificarla. Sin embargo, después de iniciar una instancia mediante la AMI, pueden crear una AMI a partir de esa instancia.

  • Obsolescencia automática: de forma predeterminada, la fecha de obsolescencia de todas las AMI públicas se establece en dos años a partir de la fecha de creación de la AMI. Puede establecer una fecha de obsolescencia anterior a los dos años. Para anular la fecha de obsolescencia o para aplazarla, debe hacer que la AMI sea privada. Para ello, compártala solo con Cuentas de AWS específicas.

  • Eliminar las AMI obsoletas: cuando una AMI pública alcanza su fecha de caducidad, si no se han inicializado instancias nuevas desde la AMI durante seis meses o más, AWS elimina con el tiempo la propiedad de uso compartido público para que las AMI obsoletas no aparezcan en las listas de AMI públicas.

  • Facturación: no se factura cuando otras Cuentas de AWS utilizan la AMI para iniciar instancias. Las cuentas que inician instancias mediante la AMI serán facturadas por las instancias iniciadas.

Compartir una AMI con todas las cuentas de AWS (compartir públicamente)

Después de hacer pública una AMI, estará disponible en AMI de la comunidad de la consola, a las que puede acceder desde el Catálogo de AMI en el navegador izquierdo de la consola de EC2 o cuando lance una instancia con la consola. Tenga en cuenta que pueden transcurrir unos minutos antes de que la AMI aparezca en AMI de comunidad una vez que se ha hecho pública.

Console
Para hacer una AMI pública
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación, seleccione AMIs.

  3. Seleccione la AMI de la lista y, a continuación, elija Acciones, Editar permisos de la AMI.

  4. En Disponibilidad de AMI, elija Pública.

  5. Elija Guardar cambios.

AWS CLI

Cada AMI tiene una propiedad launchPermission que controla qué Cuentas de AWS, además de la del propietario, pueden utilizar dicha AMI para iniciar instancias. Al modificar la propiedad launchPermission de una AMI, puede hacerla pública (lo cual concede permisos de inicialización a todas las Cuentas de AWS) o compartirla solo con aquellas Cuentas de AWS que especifique.

Puede añadir o eliminar ID de cuentas en la lista de cuentas que tienen permisos de inicialización para una AMI. Para hacer la AMI pública, especifique el grupo all. Puede especificar permisos de inicialización públicos y explícitos.

Para hacer una AMI pública
  1. Utilice el comando modify-image-attribute del modo siguiente para agregar el grupo all a la lista launchPermission de la AMI especificada.

    aws ec2 modify-image-attribute \ --image-id ami-0abcdef1234567890 \ --launch-permission "Add=[{Group=all}]"
  2. Para verificar los permisos de inicialización de la AMI, utilice el comando describe-image-attribute.

    aws ec2 describe-image-attribute \ --image-id ami-0abcdef1234567890 \ --attribute launchPermission
  3. (Opcional) Para hacer la AMI privada de nuevo, elimine el grupo all de sus permisos de inicialización. Tenga en cuenta que el propietario de la AMI siempre tiene permisos de inicialización, por lo que este comando no le afecta.

    aws ec2 modify-image-attribute \ --image-id ami-0abcdef1234567890 \ --launch-permission "Remove=[{Group=all}]"
PowerShell

Cada AMI tiene una propiedad launchPermission que controla qué Cuentas de AWS, además de la del propietario, pueden utilizar dicha AMI para iniciar instancias. Al modificar la propiedad launchPermission de una AMI, puede hacerla pública (lo cual concede permisos de inicialización a todas las Cuentas de AWS) o compartirla solo con aquellas Cuentas de AWS que especifique.

Puede añadir o eliminar ID de cuentas en la lista de cuentas que tienen permisos de inicialización para una AMI. Para hacer la AMI pública, especifique el grupo all. Puede especificar permisos de inicialización públicos y explícitos.

Para hacer una AMI pública
  1. Utilice el comando Edit-EC2ImageAttribute del modo siguiente para agregar el grupo all a la lista launchPermission de la AMI especificada.

    PS C:\> Edit-EC2ImageAttribute -ImageId ami-0abcdef1234567890 -Attribute launchPermission -OperationType add -UserGroup all
  2. Para verificar los permisos de inicialización de la AMI, utilice el comando Get-EC2ImageAttribute.

    PS C:\> Get-EC2ImageAttribute -ImageId ami-0abcdef1234567890 -Attribute launchPermission
  3. (Opcional) Para hacer la AMI privada de nuevo, elimine el grupo all de sus permisos de inicialización. Tenga en cuenta que el propietario de la AMI siempre tiene permisos de lanzamiento, por lo que este comando no le afecta.

    PS C:\> Edit-EC2ImageAttribute -ImageId ami-0abcdef1234567890 -Attribute launchPermission -OperationType remove -UserGroup all