

# Criar uma tarefa de armazenamento de imagem
<a name="work-with-ami-store-restore"></a>

Quando você armazena uma AMI em um bucket do S3, uma tarefa de armazenamento de imagem é criada. É possível usar a tarefa de armazenamento de imagem para monitorar o andamento e o resultado do processo.

**Topics**
+ [Proteger suas AMIs](#securing-amis)
+ [Permissões para armazenar e restaurar AMIs usando o S3](#ami-s3-permissions)
+ [Criar uma tarefa de armazenamento de imagem](#create-store-image-task)
+ [Criar uma tarefa de restauração de imagem](#create-restore-image-task)

## Proteger suas AMIs
<a name="securing-amis"></a>

É importante garantir que o bucket do S3 esteja configurado com segurança suficiente para proteger o conteúdo da AMI e que a segurança seja mantida enquanto os objetos da AMI permanecerem no bucket. Se isso não puder ser feito, o uso dessas APIs não é recomendado. Não permita acesso público ao bucket do S3. Recomendamos que você ative a [Criptografia do lado do servidor](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html) para os buckets do S3 nos quais você armazena as AMIs, embora não seja necessário.

Para obter informações sobre como definir as configurações de segurança apropriadas para os buckets do S3, consulte os seguintes tópicos de segurança:
+ [Bloquear o acesso público ao armazenamento do Amazon S](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-control-block-public-access.html)
+ [Definir o comportamento padrão da criptografia para os buckets do Amazon S](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-encryption.html)
+ [Qual política de bucket do S3 devo usar para seguir a regra s3-bucket-ssl-requests-only do AWS Config?](https://repost.aws/knowledge-center/s3-bucket-policy-for-config-rule)
+ [Habilitar o log de acesso ao servidor do Amazon S](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html)

Quando os snapshots da AMI são copiados para o objeto S3, os dados são copiados em conexões TLS. É possível armazenar AMIs com snapshots criptografados, mas os snapshots são descriptografados como parte do processo de armazenamento.

## Permissões para armazenar e restaurar AMIs usando o S3
<a name="ami-s3-permissions"></a>

Caso as entidades principais do IAM armazenem ou restaurem AMIs usando o Amazon S3, você precisará conceder a elas as permissões necessárias.

A política de exemplo a seguir inclui todas as ações necessárias para permitir que uma entidade principal do IAM execute as tarefas de armazenamento e restauração.

Também é possível criar políticas do IAM que concedam às entidades principais acesso apenas a recursos específicos. Para obter mais exemplos de políticas, consulte [Gerenciamento de acesso para recursos da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) no *Guia do usuário do IAM*.

**nota**  
Se os snapshots que compõem a AMI estiverem criptografados ou se a conta estiver habilitada para criptografia por padrão, seu principal do IAM deverá ter permissão para usar a chave 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": "*"
        }
    ]
}
```

------

## Criar uma tarefa de armazenamento de imagem
<a name="create-store-image-task"></a>

Para armazenar uma AMI em um bucket do S3, comece criando uma tarefa de armazenamento de imagem. O tempo necessário para concluir a tarefa depende do tamanho da AMI. É possível acompanhar o andamento da tarefa até que ela tenha êxito ou falhe.

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

**Para criar a tarefa de armazenamento de imagem**  
Use o 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}}
```

O seguinte é um exemplo de saída.

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

**Para descrever o andamento de uma tarefa de armazenamento de AMI**  
Use o 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
```

O seguinte é um exemplo de saída.

```
InProgress
```

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

**Para criar a tarefa de armazenamento de imagem**  
Use o 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}}
```

O seguinte é um exemplo de saída.

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

**Para descrever o andamento de uma tarefa de armazenamento de AMI**  
Use o cmdlet [Get-EC2StoreImageTask](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2StoreImageTask.html).

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

O seguinte é um exemplo de saída.

```
InProgress
```

------

## Criar uma tarefa de restauração de imagem
<a name="create-restore-image-task"></a>

É necessário especificar um nome para a AMI restaurada. O nome deve ser exclusivo para AMIs na região dessa conta. A AMI restaurada obtém um novo ID de AMI.

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

**Para criar uma tarefa de armazenamento de imagem**  
Use o 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}}"
```

O seguinte é um exemplo de saída.

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

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

**Para criar uma tarefa de armazenamento de imagem**  
Use o 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}}"
```

O seguinte é um exemplo de saída.

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

------