

# Creación de una tarea de almacenamiento de imágenes
<a name="work-with-ami-store-restore"></a>

Al almacenar una AMI en un bucket de S3, se crea una tarea de almacenamiento de imágenes. Puede utilizar la tarea de almacenamiento de imágenes para supervisar el progreso y el resultado del proceso.

**Topics**
+ [Protección de sus AMI](#securing-amis)
+ [Permisos para almacenar y restaurar AMI mediante S3](#ami-s3-permissions)
+ [Creación de una tarea de almacenamiento de imágenes](#create-store-image-task)
+ [Creación de una tarea de restauración de imágenes](#create-restore-image-task)

## Protección de sus AMI
<a name="securing-amis"></a>

Es importante asegurarse de que el bucket de S3 esté configurado con la seguridad suficiente para proteger el contenido de la AMI y que la seguridad se mantenga mientras los objetos AMI permanezcan en el bucket. Si esto no se puede hacer, no se recomienda el uso de estas API. Asegúrese de que el acceso público al bucket de S3 no está permitido. Recomendamos habilitar el [cifrado del lado del servidor](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html) para los buckets de S3 en los que almacena las AMI, aunque no es necesario.

Para obtener información acerca de cómo establecer la configuración de seguridad adecuada para los buckets de S3, consulte los siguientes temas de seguridad:
+ [Cómo bloquear el acceso público al almacenamiento de Amazon S](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-control-block-public-access.html)
+ [Establecer el comportamiento predeterminado del cifrado del lado del servidor para los buckets de Amazon S](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-encryption.html)
+ [¿Qué política de bucket de S3 debo utilizar para cumplir la regla s3-bucket-ssl-requests-only de AWS Config?](https://repost.aws/knowledge-center/s3-bucket-policy-for-config-rule)
+ [Habilitar el registro de acceso al servidor de Amazon S](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html)

Cuando las instantáneas de AMI se copian en el objeto de S3, los datos se copian a través de conexiones TLS. Puede almacenar AMI con instantáneas cifradas, pero las instantáneas se descifran como parte del proceso de almacenamiento.

## Permisos para almacenar y restaurar AMI mediante S3
<a name="ami-s3-permissions"></a>

Si sus entidades principales de IAM van a almacenar o restaurar AMI usando Amazon S3, debe concederles los permisos necesarios.

En la siguiente política de ejemplo se incluyen todas las acciones necesarias para permitir que una entidad principal de IAM lleve a cabo las tareas de almacenamiento y restauración.

También puede crear políticas de IAM que otorguen a las entidades principales acceso solo a recursos específicos. Para obtener más políticas de ejemplo, vea [Administración de acceso para los recursos de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) en la *Guía del usuario de IAM*.

**nota**  
Si las instantáneas que componen la AMI están cifradas o si su cuenta está habilitada para el cifrado de forma predeterminada, la entidad principal de IAM debe tener permiso para usar la clave de KMS.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:DeleteObject",
                "s3:GetObject",
                "s3:ListBucket",
                "s3:PutObject",
                "s3:PutObjectTagging",
                "s3:AbortMultipartUpload",
                "ebs:CompleteSnapshot",
                "ebs:GetSnapshotBlock",
                "ebs:ListChangedBlocks",
                "ebs:ListSnapshotBlocks",
                "ebs:PutSnapshotBlock",
                "ebs:StartSnapshot",
                "ec2:CreateStoreImageTask",
                "ec2:DescribeStoreImageTasks",
                "ec2:CreateRestoreImageTask",
                "ec2:GetEbsEncryptionByDefault",
                "ec2:DescribeTags",
                "ec2:CreateTags"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Creación de una tarea de almacenamiento de imágenes
<a name="create-store-image-task"></a>

Para almacenar una AMI en un bucket de S3, comience por crear una tarea de almacenamiento de imágenes. El tiempo que se tarda en completar la tarea depende del tamaño de la AMI. Puede hacer un seguimiento del progreso de la tarea hasta que esta se complete correctamente o se produzca un error.

------
#### [ AWS CLI ]

**Creación de la tarea de almacenamiento de imágenes**  
Utilice el comando [create-store-image-task](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-store-image-task.html).

```
aws ec2 create-store-image-task \
    --image-id {{ami-0abcdef1234567890}} \
    --bucket {{amzn-s3-demo-bucket}}
```

A continuación, se muestra un ejemplo del resultado.

```
{
  "ObjectKey": "ami-0abcdef1234567890.bin"
}
```

**Descripción del progreso de la tarea de almacenamiento de imágenes**  
Utilice el comando [describe-store-image-tasks](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-store-image-tasks.html).

```
aws ec2 describe-store-image-tasks \
    --image-ids{{ ami-0abcdef1234567890}} \
    --query StoreImageTaskResults[].StoreTaskState \
    --output text
```

A continuación, se muestra un ejemplo del resultado.

```
InProgress
```

------
#### [ PowerShell ]

**Creación de la tarea de almacenamiento de imágenes**  
Utilice el cmdlet [New-EC2StoreImageTask](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2StoreImageTask.html).

```
New-EC2StoreImageTask `
    -ImageId {{ami-0abcdef1234567890}} `
    -Bucket {{amzn-s3-demo-bucket}}
```

A continuación, se muestra un ejemplo del resultado.

```
ObjectKey         : ami-0abcdef1234567890.bin
```

**Descripción del progreso de la tarea de almacenamiento de imágenes**  
Utilice el cmdlet [Get-EC2StoreImageTask](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2StoreImageTask.html).

```
(Get-EC2StoreImageTask -ImageId {{ami-0abcdef1234567890}}).StoreTaskState
```

A continuación, se muestra un ejemplo del resultado.

```
InProgress
```

------

## Creación de una tarea de restauración de imágenes
<a name="create-restore-image-task"></a>

Debe especificar también un nombre para la AMI restaurada. El nombre debe ser único para las AMI de la región de esta cuenta. La AMI restaurada obtiene un nuevo ID de AMI.

------
#### [ AWS CLI ]

**Creación de una tarea de restauración de imágenes**  
Utilice el comando [create-restore-image-task](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-restore-image-task.html).

```
aws ec2 create-restore-image-task \
    --object-key {{ami-0abcdef1234567890}}.bin \
    --bucket {{amzn-s3-demo-bucket}} \
    --name "{{my-restored-ami}}"
```

A continuación, se muestra un ejemplo del resultado.

```
{
   "ImageId": "ami-1234567890abcdef0"
}
```

------
#### [ PowerShell ]

**Creación de una tarea de restauración de imágenes**  
Utilice el cmdlet [New-EC2RestoreImageTask](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2RestoreImageTask.html).

```
New-EC2RestoreImageTask `
    -ObjectKey {{ami-0abcdef1234567890}}.bin `
    -Bucket {{amzn-s3-demo-bucket}} `
    -Name "{{my-restored-ami}}"
```

A continuación, se muestra un ejemplo del resultado.

```
ImageId         : ami-1234567890abcdef0
```

------