

# Armazenamento em bloco temporário do armazenamento de instância para instâncias do EC2
<a name="InstanceStorage"></a>

Um *armazenamento de instância* fornece armazenamento temporário ao nível do bloco para a instância do EC2. Esse armazenamento é fornecido por discos que estão anexados fisicamente ao computador host. O armazenamento de instância é ideal para armazenamento temporário de informações que mudam com frequência, como buffers, caches, dados temporários e outros conteúdos temporários. Ele também pode ser usado para o armazenamento de dados temporários replicados em toda a frota de instâncias, como um grupo com balanceamento de carga de servidores Web.

Um armazenamento de instâncias consiste em um ou mais volumes de armazenamento de instâncias expostos como dispositivos de bloco. O tamanho de um armazenamento de instâncias e o número de dispositivos disponíveis variam por tipo e tamanho de instância. Por exemplo, nem todo tipo de instância fornece volumes de armazenamento de instância. Para obter mais informações, consulte [Limites de volume de armazenamento de instância para instâncias do EC2](instance-store-volumes.md).

Os dispositivos virtuais para volumes de armazenamento de instância recebem nomes de dispositivos virtuais na ordem de `ephemeral0` a `ephemeral23`. Por exemplo, com um tipo de instância compatível com um volume de armazenamento de instância, o nome do dispositivo virtual desse volume é `ephemeral0`. Com um tipo de instância compatível com quatro volumes de armazenamento de instância, os nomes dos dispositivos virtuais dos quatro volumes são os seguintes: `ephemeral0`, `ephemeral1`, `ephemeral2` e `ephemeral3`.

![\[Armazenamento de instâncias do Amazon EC2\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/instance_storage.png)


**Preço de armazenamento de instância**  
Não há cobrança adicional para usar os volumes de armazenamento de instância fornecidos para a instância. Os volumes do armazenamento de instância são incluídos como parte do custo de uso da instância.

**Topics**
+ [

# Persistência de dados para volumes de armazenamento de instância do Amazon EC2
](instance-store-lifetime.md)
+ [

# Limites de volume de armazenamento de instância para instâncias do EC2
](instance-store-volumes.md)
+ [

# Volumes de armazenamento de instância SSD para instâncias do EC2
](ssd-instance-store.md)
+ [

# Adicionar volumes de armazenamento de instâncias a uma instância do EC2
](add-instance-store-volumes.md)
+ [

# Habilitar volume de troca do armazenamento de instância para instâncias M1 e C1 do EC2
](instance-store-swap-volumes.md)
+ [

# Inicializar volumes de armazenamento de instância em instâncias do EC2
](disk-performance.md)
+ [

# Estatísticas de performance detalhadas para os volumes de armazenamento de instância do Amazon EC2
](nvme-detailed-performance-stats.md)

# Persistência de dados para volumes de armazenamento de instância do Amazon EC2
<a name="instance-store-lifetime"></a>

Os volumes de armazenamento de instâncias são anexados somente na execução da instância. Você não pode anexar volumes de armazenamento de instâncias depois de executar. Você não pode desanexar um volume de armazenamento de instâncias de uma instância e anexá-lo a outra instância.

Um volume de armazenamento de instâncias existe somente durante a vida útil da instância à qual está anexado. Você não pode configurar um volume de armazenamento de instâncias para persistir além da vida útil da instância associada.

Os dados em um volume de armazenamento de instâncias persistem mesmo que a instância seja reinicializada. No entanto, os dados não persistem se a instância for interrompida, hibernada ou encerrada. Quando a instância for interrompida, hibernada ou encerrada, todos os blocos do volume de armazenamento de instâncias serão apagados criptograficamente.

Portanto, não dependa dos volumes de armazenamento de instâncias para dados valiosos e de longo prazo. Se você precisar reter os dados armazenados em um volume de armazenamento de instâncias além da vida útil da instância, você precisará copiar manualmente esses dados para um armazenamento mais persistente, como um volume do Amazon EBS, um bucket do Amazon S3 ou um sistema de arquivos do Amazon EFS.

Há alguns eventos que podem fazer com que seus dados não persistam durante toda a vida útil da instância. A tabela a seguir indica se os dados nos volumes de armazenamento de instâncias persistem durante eventos específicos, tanto para instâncias virtualizadas quanto para instâncias bare metal.


| Event | O que acontece com seus dados? | 
| --- |--- |
| **Eventos do ciclo de vida da instância iniciados pelo usuário** | 
| --- |
| [A instância foi reinicializada](ec2-instance-reboot.md) | The data persists | 
| [A instância foi interrompida](Stop_Start.md) | The data does not persist | 
| [A instância está em hibernação](Hibernate.md) | The data does not persist | 
| [A instância foi encerrada](terminating-instances.md) | The data does not persist | 
| [O tipo da instância foi alterado](ec2-instance-resize.md) | The data does not persist \$1 | 
| [Uma AMI baseada em EBS é criada na instância](creating-an-ami-ebs.md) | The data does not persist in the created AMI \$1\$1 | 
| [Uma AMI baseada no Amazon S3 é criada usando a instância](creating-an-ami-instance-store.md) (Linux instances) | The data persists in the AMI bundle uploaded to Amazon S3 \$1\$1\$1 | 
| **Eventos do sistema operacional iniciados pelo usuário** | 
| --- |
| A shutdown is initiated | The data does not persist † | 
| A restart is initiated | The data persists | 
| **AWS Eventos agendados da** | 
| --- |
| [Interrupção da instância](schedevents_actions_retire.md) | The data does not persist | 
| [Reinicialização da instância](schedevents_actions_reboot.md) | The data persists | 
| [Reinicialização do sistema](schedevents_actions_reboot.md) | The data persists | 
| [Desativação da instância](schedevents_actions_retire.md) | The data does not persist | 
| **Eventos não planejados** | 
| --- |
| [Recuperação automática simplificada](instance-configuration-recovery.md) | The data does not persist | 
| [Recuperação baseada em ações do CloudWatch](cloudwatch-recovery.md) | The data does not persist | 
| The underlying disk fails | The data on the failed disk does not persist | 
| Power failure | The data persists upon reboot | 

\$1 Se o novo tipo de instância for compatível com o armazenamento de instâncias, a instância receberá o número de volumes de armazenamento de instâncias compatível com o novo tipo de instância, mas os dados não serão transferidos para a nova instância. Se o novo tipo de instância não for compatível com o armazenamento de instâncias, a instância não receberá os volumes de armazenamento de instâncias.

\$1\$1 Os dados não estão incluídos na AMI baseada em EBS e não estão incluídos nos volumes de armazenamento de instâncias anexados às instâncias executadas nessa AMI.

\$1\$1\$1 Os dados estão incluídos no pacote de AMIs que é carregado no Amazon S3. Quando você executa uma instância nessa AMI, a instância obtém os volumes de armazenamento de instâncias agrupados na AMI com os dados que eles continham no momento em que a AMI foi criada.

† As proteções contra encerramento e interrupção não protegem as instâncias contra interrupções ou encerramentos de instâncias como resultado de desligamentos iniciados por meio do sistema operacional na instância. Os dados armazenados nos volumes de armazenamento de instâncias não persistem nos eventos de interrupção e encerramento de instâncias.

# Limites de volume de armazenamento de instância para instâncias do EC2
<a name="instance-store-volumes"></a>

O número, o tamanho e o tipo dos volumes de armazenamento de instância são determinados pelo tipo da instância. Alguns tipos de instância, como C8i, M8i e R8i, não são compatíveis com volumes de armazenamento de instâncias, enquanto outros tipos de instância, como C8id, M8id e R8id, são compatíveis com volumes de armazenamento de instâncias. Você não pode anexar mais volumes de armazenamento de instâncias a uma instância do que o compatível com o tipo de instância. Para os tipos de instâncias compatíveis com volumes de armazenamento de instâncias, o número e o tamanho dos volumes de armazenamento de instâncias variam de acordo com o tamanho da instância. Por exemplo, `r8id.large` é compatível com um volume de armazenamento de instâncias de 118 GB, enquanto `r8id.32xlarge` é compatível com dois volumes de armazenamento de instâncias de 3.800 GB.

Para tipos de instância com **volumes de armazenamento de instâncias NVMe**, todos os volumes de armazenamento de instâncias compatíveis são automaticamente anexados à instância na execução. Para tipos de instância com **volumes de armazenamento de instância que não tem a especificação NVMe**, como C1, C3, M1, M2, M3, R3, D2, H1, I2, X1 e X1e, é necessário especificar manualmente os mapeamentos de dispositivos de blocos para os volumes de armazenamento de instância que você deseja anexar na inicialização. Depois que a instância for iniciada, você deverá [formatar e montar os volumes de armazenamento de instâncias anexados](making-instance-stores-available-on-your-instances.md) antes de poder usá-los. Você não pode anexar um volume de armazenamento de instâncias depois de executar a instância.

Alguns tipos de instância usam unidades de estado sólido (SSD) NVMe ou SATA, enquanto outros usam unidades de disco rígido (HDD) SATA. SDDs entregam alta performance e aleatória de E/S com latência muito baixa, mas você não precisa que os dados persistam quando a instância é terminada ou você pode tirar proveito de arquiteturas tolerantes a falhas. Para obter mais informações, consulte [Volumes de armazenamento de instância SSD para instâncias do EC2](ssd-instance-store.md).

Os dados nos volumes de armazenamento de instâncias do NVMe e alguns volumes de armazenamento de instâncias de HDD são criptografados em repouso. Para obter mais informações, consulte [Proteção de dados no Amazon EC2](data-protection.md).

## Volumes de armazenamento de instâncias disponíveis
<a name="available-instance-store-volumes"></a>

O *Guia de tipos de instância do Amazon EC2* fornece otimizações de quantidade, de tamanho, de tipo e de performance de volumes de armazenamento de instância disponíveis em cada tipo de instância compatível. Para saber mais, consulte:
+ [Instance store specifications: General purpose](https://docs.aws.amazon.com/ec2/latest/instancetypes/gp.html#gp_instance-store)
+ [Instance store specifications: Compute optimized](https://docs.aws.amazon.com/ec2/latest/instancetypes/co.html#co_instance-store)
+ [Instance store specifications: Memory optimized](https://docs.aws.amazon.com/ec2/latest/instancetypes/mo.html#mo_instance-store)
+ [Instance store specifications: Storage optimized](https://docs.aws.amazon.com/ec2/latest/instancetypes/so.html#so_instance-store)
+ [Instance store specifications: Accelerated computing](https://docs.aws.amazon.com/ec2/latest/instancetypes/ac.html#ac_instance-store)
+ [Instance store specifications: High-performance computing](https://docs.aws.amazon.com/ec2/latest/instancetypes/hpc.html#hpc_instance-store)
+ [Instance store specifications: Previous generation](https://docs.aws.amazon.com/ec2/latest/instancetypes/pg.html#pg_instance-store)

------
#### [ Console ]

**Como recuperar informações de volume de armazenamento de instância**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, selecione **Instance Types (Tipos de instância)**.

1. Adicione o filtro **Local instance storage = true**. A coluna **Armazenamento** indica o tamanho total do armazenamento da instância para o tipo de instância.

1. (Opcional) Clique no ícone **Preferências** e ative a **Contagem de discos de armazenamento**. Essa coluna indica o número de volumes de armazenamento de instâncias.

1. (Opcional) Adicione filtros para ampliar o escopo de tipos específicos de instância de interesse.

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

**Como recuperar informações de volume de armazenamento de instância**  
Use o comando [describe-instance-types](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-types.html). O exemplo a seguir mostra o tamanho total do armazenamento de instância para cada tipo de instância nas famílias de instâncias R8i com volumes de armazenamento de instância.

```
aws ec2 describe-instance-types \
    --filters "Name=instance-type,Values=r8i*" "Name=instance-storage-supported,Values=true" \
    --query 'sort_by(InstanceTypes, &InstanceStorageInfo.TotalSizeInGB)[].{InstanceType:InstanceType,TotalSizeInGB:InstanceStorageInfo.TotalSizeInGB}' \
    --output table
```

O seguinte é um exemplo de saída.

```
--------------------------------------
|        DescribeInstanceTypes       |
+------------------+-----------------+
|   InstanceType   |  TotalSizeInGB  |
+------------------+-----------------+
|  r8id.large      |  118            |
|  r8id.xlarge     |  237            |
|  r8id.2xlarge    |  474            |
|  r8id.4xlarge    |  950            |
|  r8id.8xlarge    |  1900           |
|  r8id.12xlarge   |  2850           |
|  r8id.16xlarge   |  3800           |
|  r8id.24xlarge   |  5700           |
|  r8id.32xlarge   |  7600           |
|  r8id.48xlarge   |  11400          |
|  r8id.metal-48xl |  11400          |
|  r8id.96xlarge   |  22800          |
|  r8id.metal-96xl |  22800          |
+------------------+-----------------+
```

**Para obter detalhes completos de armazenamento de instâncias para um tipo de instância**  
Use o comando [describe-instance-types](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-types.html).

```
aws ec2 describe-instance-types \
    --filters "Name=instance-type,Values=r8id.32xlarge" \
    --query 'InstanceTypes[0].InstanceStorageInfo' \
    --output json
```

O exemplo de resultado mostra que esse tipo de instância tem dois volumes SSD NVMe de 3800 GB, para um total de 7600 GB de armazenamento de instâncias.

```
{
    "TotalSizeInGB": 7600,
    "Disks": [
        {
            "SizeInGB": 3800,
            "Count": 2,
            "Type": "ssd"
        }
    ],
    "NvmeSupport": "required",
    "EncryptionSupport": "required"
}
```

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

**Como recuperar informações de volume de armazenamento de instância**  
Use o cmdlet [Get-EC2InstanceType](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceType.html). O exemplo a seguir mostra o tamanho total do armazenamento de instância para cada tipo de instância nas famílias de instâncias R8i com volumes de armazenamento de instância.

```
(Get-EC2InstanceType -Filter `
    @{Name="instance-type"; Values="r8i*"},
    @{Name="instance-storage-supported"; Values="true"}) |
    Sort-Object {$_.InstanceStorageInfo.TotalSizeInGB} |
    Format-Table InstanceType,
        @{Name="Disks.SizeInGB";Expression={$_.InstanceStorageInfo.Disks[0].SizeInGB}},
        @{Name="Disks.Count";Expression={$_.InstanceStorageInfo.Disks[0].Count}},
        @{Name="TotalSizeInGB";Expression={$_.InstanceStorageInfo.TotalSizeInGB}}
```

O seguinte é um exemplo de saída.

```
InstanceType    Disks.SizeInGB Disks.Count TotalSizeInGB
------------    -------------- ----------- -------------
r8id.large                 118           1           118
r8id.xlarge                237           1           237
r8id.2xlarge               474           1           474
r8id.4xlarge               950           1           950
r8id.8xlarge              1900           1          1900
r8id.12xlarge             2850           1          2850
r8id.16xlarge             3800           1          3800
r8id.24xlarge             2850           2          5700
r8id.32xlarge             3800           2          7600
r8id.48xlarge             3800           3         11400
r8id.metal-48xl           3800           3         11400
r8id.96xlarge             3800           6         22800
r8id.metal-96xl           3800           6         22800
```

**Para obter detalhes completos de armazenamento de instâncias para um tipo de instância**  
Use o cmdlet [Get-EC2InstanceType](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceType.html).

```
(Get-EC2InstanceType `
    -Filter @{Name="instance-type"; Values="r8id.32xlarge"}).InstanceStorageInfo |
    Format-List *,
        @{Name="Disks.Count";Expression={$_.Disks[0].Count}},
        @{Name="Disks.SizeInGB";Expression={$_.Disks[0].SizeInGB}},
        @{Name="Disks.Type";Expression={$_.Disks[0].Type.Value}}
```

O exemplo de resultado mostra que esse tipo de instância tem dois volumes SSD NVMe de 3800 GB, para um total de 7600 GB de armazenamento de instâncias.

```
Disks             : {Amazon.EC2.Model.DiskInfo}
EncryptionSupport : required
NvmeSupport       : required
TotalSizeInGB     : 7600
Disks.Count       : 2
Disks.SizeInGB    : 3800
Disks.Type        : ssd
```

------

# Volumes de armazenamento de instância SSD para instâncias do EC2
<a name="ssd-instance-store"></a>

Como outros volumes de armazenamento de instâncias, é necessário mapear os volumes de armazenamento de instância SSD para sua instância quando ela é executada. Os dados nos volumes de instância SSD persistem apenas durante a vida útil da instância do associada. Para obter mais informações, consulte [Adicionar volumes de armazenamento de instâncias a uma instância do EC2](add-instance-store-volumes.md).

## Volumes SSD de NVMe
<a name="nvme-ssd-volumes"></a>

Algumas instâncias oferecem volumes de armazenamento de instâncias de unidades de estado sólido (SSD) de memória expressa não volátil (NVMe). Para obter mais informações sobre o tipo de volume de armazenamento de instâncias compatível com cada tipo de instância, consulte [Limites de volume de armazenamento de instância para instâncias do EC2](instance-store-volumes.md).

Os dados no armazenamento de instâncias de NVMe são criptografados usando uma criptografia de bloco XTS-AES-256 implementada em um módulo de hardware na instância. As chaves de criptografia são geradas usando o módulo de hardware e são exclusivas para cada dispositivo de armazenamento de instâncias de NVMe. Todas as chaves de criptografia são destruídas quando a instância é interrompida ou encerrada e não podem ser recuperadas. Você não pode desativar essa criptografia e não pode fornecer sua própria chave de criptografia.

### Instâncias do Linux
<a name="nvme-ssd-linux"></a>

Para acessar os volumes de NVMe, os drivers de NVMe devem ser instalados. As AMIs a seguir atendem a este requisito:
+ AL2023
+ Amazon Linux 2
+ Amazon Linux AMI 2018.03 e posteriores
+ Ubuntu 14.04 ou posterior com kernel `linux-aws`
**nota**  
Os tipos de instância baseados no AWS Graviton requerem o Ubuntu 18.04 ou posterior com kernel `linux-aws`
+ Red Hat Enterprise Linux 7.4 ou posterior
+ SUSE Linux Enterprise Server 12 SP2 ou posterior
+ CentOS 7.4.1708 ou posterior
+ FreeBSD 11.1 ou posterior
+ Debian GNU/Linux 9 ou posterior
+ Bottlerocket

Depois de se conectar à instância, é possível listar os dispositivos de NVMe usando o comando **lspci** O seguinte é um exemplo da saída de uma instância `i3.8xlarge` compatível com quatro dispositivos de NVMe.

```
[ec2-user ~]$ lspci
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 01)
00:02.0 VGA compatible controller: Cirrus Logic GD 5446
00:03.0 Ethernet controller: Device 1d0f:ec20
00:17.0 Non-Volatile memory controller: Device 1d0f:cd01
00:18.0 Non-Volatile memory controller: Device 1d0f:cd01
00:19.0 Non-Volatile memory controller: Device 1d0f:cd01
00:1a.0 Non-Volatile memory controller: Device 1d0f:cd01
00:1f.0 Unassigned class [ff80]: XenSource, Inc. Xen Platform Device (rev 01)
```

Se você está usando um sistema operacional compatível mas os dispositivos de NVMe não estão sendo exibidos, verifique se o módulo de NVMe está carregado usando o comando a seguir.
+ Amazon Linux, Amazon Linux 2, Ubuntu 14/16, Red Hat Enterprise Linux, SUSE Linux Enterprise Server, CentOS 7

  ```
  $ lsmod | grep nvme
  nvme          48813  0
  ```
+ Ubuntu 18

  ```
  $ cat /lib/modules/$(uname -r)/modules.builtin | grep nvme
  s/nvme/host/nvme-core.ko
  kernel/drivers/nvme/host/nvme.ko
  kernel/drivers/nvmem/nvmem_core.ko
  ```

Os volumes de NVMe estão em conformidade com a especificação NVMe 1.0e. É possível usar os comandos de NVMe com os volumes de NVMe. Com o Amazon Linux, é possível instalar o pacote `nvme-cli` no repositório usando o comando **yum install**. Com outras versões compatíveis do Linux, é possível fazer download do pacote `nvme-cli` se ele não estiver disponível na imagem.

### Instâncias do Windows
<a name="nvme-ssd-windows"></a>

As AMIs do Windows da AWS mais recentes dos seguintes sistemas operacionais contêm os drivers do AWS NVMe usados para interagir com volumes de armazenamento de instâncias SSD que são expostos como dispositivos de bloco de NVMe para melhor performance:
+ Windows Server 2025
+ Windows Server 2022
+ Windows Server 2019
+ Windows Server 2016
+ Windows Server 2012 R2

Depois de se conectar à instância, é possível verificar se você vê os volumes de NVMe no Gerenciador de Disco. Na barra de ferramentas, abra o menu de contexto (clique com o botão direito do mouse) no logotipo do Windows e escolha **Disk Management**.

As AMIs do Windows da AWS fornecidas pela Amazon incluem o driver do AWS NVMe. Se você não estiver usando as AMIs do Windows da AWS mais recentes, [instale o driver atual do AWS NVMe](aws-nvme-drivers.md).

## Volumes SSD não NVMe
<a name="ssd-volumes"></a>

As instâncias apresentadas a seguir oferecem suporte a volumes de armazenamento de instância que usam SSDs não NVMe para fornecer alta performance de E/S randômica: C3, I2, M3, R3 e X1. Para obter mais informações sobre o suporte a volumes de armazenamento de instâncias com suporte de cada tipo de instância, consulte [Limites de volume de armazenamento de instância para instâncias do EC2](instance-store-volumes.md).

## Performance de E/S de volume de armazenamento de instância baseada em SSD
<a name="ssd-volume-perf"></a>

Ao preencher os volumes de armazenamento de instâncias baseados em SSD, o número de IOPS de gravação que é possível atingir diminui. Isso se deve ao trabalho extra que o controlador SSD deve fazer para encontrar espaço disponível, regravar os dados existentes e apagar o espaço não utilizado para que possa ser regravado. Esse processo de coleta de lixo resulta em uma amplificação da gravação interna no SSD, expressa como uma proporção entre as operações de gravação SSD e as operações de gravação do usuário. Essa redução na performance será ainda maior se as operações de gravação não ocorrerem em múltiplos de 4.096 bytes ou não estiverem alinhadas com um limite de 4.096 bytes. Se você gravar uma quantidade menor de bytes ou os bytes que não estejam alinhados, o controlador SSD deverá ler os dados adjacentes e armazenar o resultado em um novo local. Esse padrão resulta em uma amplificação da gravação muito maior, maior latência e uma performance de E/S drasticamente reduzida.

Os controladores SSD podem usar várias estratégias para reduzir o impacto da amplificação da gravação. Uma dessas estratégias é reservar espaço no armazenamento de instâncias SSD para que o controlador possa gerenciar, com mais eficiência, o espaço disponível para operações de gravação. Isso é denominado *superprovisionamento*. Os volumes de armazenamento de instância baseados em SSD fornecidos a uma instância não têm espaço reservado para o provisionamento em excesso. Para reduzir a amplificação da gravação, recomendamos reservar 10% do volume como não particionado, de modo que o controlador SSD possa usá-lo para provisionamento em excesso. Isso diminui o armazenamento que é possível usar, mas aumenta a performance mesmo se o disco estiver próximo da capacidade total.

Para volumes de armazenamento de instância compatíveis com TRIM, é possível usar o comando TRIM para notificar o controlador de SSD sempre que você não precisa mais dos dados que gravou. Isso fornece ao controlador mais espaço livre, o que pode reduzir a amplificação da gravação e aumentar a performance. Para obter mais informações, consulte [Suporte a TRIM do volume de armazenamento de instâncias](#InstanceStoreTrimSupport).

## Suporte a TRIM do volume de armazenamento de instâncias
<a name="InstanceStoreTrimSupport"></a>

Alguns tipos de instâncias oferecem suporte a volumes SSD com TRIM. Para obter mais informações, consulte [Limites de volume de armazenamento de instância para instâncias do EC2](instance-store-volumes.md).

**nota**  
(Somente para instâncias do Windows) As instâncias que executam o Windows Server 2012 R2 são compatíveis com a função TRIM a partir da versão 7.3.0 do driver PV da AWS. As instâncias que executam versões anteriores do Windows Server não são compatíveis com TRIM.

Os volumes de armazenamento de instâncias que oferecem suporte ao TRIM são aparados completamente antes de serem alocados à instância. Esses volumes não estão formatados com um sistema de arquivos quando uma instância é iniciada, portanto, é necessário formatá-los para que possam ser montados e usados. Para obter acesso mais rápido a esses volumes, é necessário ignorar a operação TRIM ao formatá-los.

(Instâncias do Windows) Para desabilitar temporariamente o suporte para a função TRIM durante a formatação inicial, use o comando `fsutil behavior set DisableDeleteNotify 1`. Após a conclusão da formatação, habilite novamente o suporte para a função TRIM ao usar `fsutil behavior set DisableDeleteNotify 0`.

Com volumes de armazenamento de instâncias que oferecem suporte ao TRIM, é possível usar o comando TRIM para notificar o controlador de SSD quando você não precisa mais dos dados que gravou. Isso fornece ao controlador mais espaço livre, o que pode reduzir a amplificação da gravação e aumentar a performance. Em **instâncias do Linux**, use o comando `fstrim` para habilitar a função TRIM periódica. Em **instâncias do Windows**, use o comando `fsutil behavior set DisableDeleteNotify 0` para garantir que o suporte para a função TRIM esteja habilitado durante a operação normal.

# Adicionar volumes de armazenamento de instâncias a uma instância do EC2
<a name="add-instance-store-volumes"></a>

Para tipos de instância com **volumes de armazenamento de instâncias NVMe**, todos os volumes de armazenamento de instâncias compatíveis são automaticamente anexados à instância na execução. Eles são automaticamente enumerados e atribuídos a um nome de dispositivo na execução da instância.

Para tipos de instância com **volumes de armazenamento de instância que não tem a especificação NVMe**, como C1, C3, M1, M2, M3, R3, D2, H1, I2, X1 e X1e, é necessário especificar manualmente os mapeamentos de dispositivos de blocos para os volumes de armazenamento de instância que você deseja anexar na inicialização. Os mapeamentos de dispositivos de blocos podem ser especificados na solicitação de execução da instância ou na AMI usada para executar a instância. O mapeamento de dispositivos de blocos inclui um nome de dispositivo e o volume para o qual ele é mapeado. Para obter mais informações, consulte . [Mapeamento de dispositivos de blocos para volumes em instâncias do Amazon EC2](block-device-mapping-concepts.md)

**Importante**  
Volumes de armazenamento de instâncias podem ser anexados a uma instância somente quando você executá-la. Você não pode anexar volumes de armazenamento de instâncias depois de executar a instância.

Depois de executar uma instância, verifique se os volumes de armazenamento de instâncias da instância estão formatados e montados para poderem ser usados. O volume raiz do armazenamento de instância é configurado automaticamente ao ser montado.

**Consideração dos volumes raiz**  
Um mapeamento de dispositivos de blocos sempre especifica o volume raiz da instância. O volume raiz é sempre montado automaticamente.

**Instâncias do Linux**: o volume raiz corresponde a um volume do Amazon EBS ou a um volume de armazenamento de instância. Para instâncias com um volume de armazenamento de instâncias do volume de raiz, o tamanho desse volume varia por AMI, mas o tamanho máximo é 10 GB. Para obter mais informações, consulte [Tipo do volume de raiz](ComponentsAMIs.md#storage-for-the-root-device).

**Instâncias do Windows**: o volume raiz deve ser um volume do Amazon EBS. O armazenamento de instância não é compatível com o volume raiz.

**Topics**
+ [

# Adicionar volumes de armazenamento de instância a uma AMI do Amazon EC2
](adding-instance-storage-ami.md)
+ [

# Adicionar volumes de armazenamento de instância a uma instância do EC2 durante a execução
](adding-instance-storage-instance.md)
+ [

# Disponibilizar o volume de armazenamento de instância para uso em uma instância do EC2
](making-instance-stores-available-on-your-instances.md)

# Adicionar volumes de armazenamento de instância a uma AMI do Amazon EC2
<a name="adding-instance-storage-ami"></a>

É possível criar uma AMI com um mapeamento de dispositivos de blocos que inclua volumes de armazenamento de instâncias.

Se você executar uma instância compatível com **volumes de armazenamento de instâncias não NVMe** usando uma AMI que especifique mapeamentos de dispositivos de blocos de volumes de armazenamento de instâncias, a instância incluirá esses volumes de armazenamento de instâncias. Se o número de mapeamentos de dispositivos de blocos de volumes de armazenamento de instâncias na AMI exceder o número de volumes de armazenamento de instâncias disponíveis para a instância, os mapeamentos de dispositivos de blocos de volumes de armazenamento de instâncias adicionais serão ignorados.

Se você executar uma instância compatível com **volumes de armazenamento de instâncias NVMe** usando uma AMI que especifique mapeamentos de dispositivos de blocos de volume de armazenamento de instâncias, eles serão ignorados. As instâncias compatíveis com volumes de armazenamento de instâncias NVMe recebem todos os volumes de armazenamento de instâncias compatíveis, independentemente dos mapeamentos de dispositivos de blocos especificados na solicitação de execução da instância e na AMI. O mapeamento de dispositivos desses volumes depende da ordem na qual o sistema operacional enumera os volumes.

**Considerações**
+ O número de volumes de armazenamento de instâncias disponíveis depende do tipo de instância. Para obter mais informações, consulte [Volumes de armazenamento de instâncias disponíveis](instance-store-volumes.md#available-instance-store-volumes).
+ Você precisa especificar um nome de dispositivo para cada dispositivo de blocos. Para obter mais informações, consulte [Nomes de dispositivos para volumes em instâncias do Amazon EC2](device_naming.md).
+ Ao executar uma instância, será possível omitir volumes de armazenamento de instâncias não NVMe especificados no mapeamento de dispositivos de blocos da AMI ou adicionar volumes de armazenamentos de instâncias.
+ Para instâncias M3, especifique volumes de armazenamento de instância no mapeamento de dispositivos de blocos da instância, não na AMI. O Amazon EC2 pode ignorar mapeamentos de dispositivos de blocos de volumes de armazenamento de instância na AMI.

------
#### [ Console ]

**Para adicionar volumes de armazenamento de instância a uma AMI baseada no Amazon EBS**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, escolha **Instances** e selecione a instância.

1. Escolha **Actions (Ações)**, **Image and templates (Imagem e modelos)**, **Create image (Criar imagem)**.

1. Na página diálogo **Create Image** (Criar imagem), adicione um nome e uma descrição significativos para imagem.

1. Para cada volume de armazenamento de instâncias a ser adicionado, selecione **Add volume** (Adicionar volume), em **Volume type** (Tipo de volume) selecione um volume de armazenamento de instâncias, e em **Device** (Dispositivo), selecione um nome de dispositivo. 

1. Escolha **Criar imagem**.

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

**Para adicionar volumes de armazenamento de instância a uma AMI**  
Use o comando [create-image](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-image.html) com a opção `--block-device-mappings` para especificar um mapeamento de dispositivos de blocos para uma AMI baseada no EBS. Use o comando [register-image](https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html) com a opção `--block-device-mappings` para especificar um mapeamento de dispositivo de blocos para uma AMI baseada no Amazon S3.

```
--block-device-mappings file://mapping.json
```

O mapeamento de dispositivos de blocos a seguir adiciona dois volumes de armazenamento de instâncias.

```
[
    {
        "DeviceName": "/dev/sdc",
        "VirtualName": "ephemeral0"
    },
    {
        "DeviceName": "/dev/sdd",
        "VirtualName": "ephemeral1"
    }
]
```

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

**Para adicionar volumes de armazenamento de instância a uma AMI**  
Use o cmdlet [New-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Image.html) com o parâmetro `-BlockDeviceMapping` para especificar um mapeamento de dispositivos de blocos para uma AMI baseada no EBS. Use o cmdlet [Register-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Image.html) com o parâmetro `-BlockDeviceMapping` para especificar um mapeamento de dispositivos de blocos para uma AMI baseada no Amazon S3.

```
-BlockDeviceMapping $bdm
```

O mapeamento de dispositivos de blocos a seguir adiciona dois volumes de armazenamento de instâncias.

```
$bdm = @()

$sdc = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping
$sdc.DeviceName = "/dev/sdc"
$sdc.VirtualName = "ephemeral0"
$bdm += $sdc

$sdd = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping
$sdd.DeviceName = "/dev/sdd"
$sdd.VirtualName = "ephemeral1"
$bdm += $sdd
```

------

# Adicionar volumes de armazenamento de instância a uma instância do EC2 durante a execução
<a name="adding-instance-storage-instance"></a>

Ao executar um tipo de instância com **volumes de armazenamento de instância não NVMe**, como C1, C3, M1, M2, M3, R3, D2, H1, I2, X1 e X1e, é necessário especificar os mapeamentos de dispositivos de blocos para os volumes de armazenamento de instância que você deseja anexar na execução. Os mapeamentos de dispositivos de blocos devem ser especificados na solicitação de execução da instância ou na AMI usada para executar a instância.

Se a AMI incluir mapeamentos de dispositivos de bloco para os volumes de armazenamento de instâncias, você não precisará especificar mapeamentos de dispositivos de blocos na solicitação de execução da instância, a menos que precise de mais volumes de armazenamento de instâncias do que os incluídos na AMI.

Se a AMI não incluir mapeamentos de dispositivos de blocos para volumes de armazenamento de instâncias, você deverá especificar os mapeamentos de dispositivos de bloco na solicitação de execução da instância.

Para tipos de instância com volumes de armazenamento de instâncias NVMe, todos os volumes de armazenamento de instâncias compatíveis são automaticamente anexados à instância na execução.

**Considerações**
+ O número de volumes de armazenamento de instâncias disponíveis depende do tipo de instância. Para obter mais informações, consulte [Volumes de armazenamento de instâncias disponíveis](instance-store-volumes.md#available-instance-store-volumes).
+ Você precisa especificar um nome de dispositivo para cada dispositivo de blocos. Para obter mais informações, consulte [Nomes de dispositivos para volumes em instâncias do Amazon EC2](device_naming.md).
+ Para instâncias do M3, é possível receber volumes de armazenamento de instâncias mesmo que você não os especifique no mapeamento de dispositivos de blocos da instância.

------
#### [ Console ]

**Para especificar um mapeamento de dispositivos de blocos em uma solicitação de inicialização de instância**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel, escolha **Executar instância**.

1. Na seção **Application and OS Images** (Imagens de aplicações e SO), selecione a AMI a ser usada.

1. Na seção **Configurar armazenamento**, a seção **Volumes de armazenamento de instâncias** lista os volumes de armazenamento de instâncias que podem ser anexados à instância.

1. Para cada volume de armazenamento de instância a ser anexado, em **Nome do dispositivo**, selecione o nome do dispositivo a ser usado.

1. Defina as configurações de instância restantes conforme necessário e, em seguida, escolha **Iniciar instância**.

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

**Para especificar um mapeamento de dispositivos de blocos em uma solicitação de inicialização de instância**  
Use o comando [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) com a opção `--block-device-mappings`.

```
--block-device-mappings file://mapping.json
```

O mapeamento de dispositivos de blocos a seguir adiciona dois volumes de armazenamento de instâncias.

```
[
    {
        "DeviceName": "/dev/sdc",
        "VirtualName": "ephemeral0"
    },
    {
        "DeviceName": "/dev/sdd",
        "VirtualName": "ephemeral1"
    }
]
```

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

**Para especificar um mapeamento de dispositivos de blocos em uma solicitação de inicialização de instância**  
Use o cmdlet [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) com a opção `-BlockDeviceMapping`.

```
-BlockDeviceMapping $bdm
```

O mapeamento de dispositivos de blocos a seguir adiciona dois volumes de armazenamento de instâncias.

```
$bdm = @()

$sdc = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping
$sdc.DeviceName = "/dev/sdc"
$sdc.VirtualName = "ephemeral0"
$bdm += $sdc

$sdd = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping
$sdd.DeviceName = "/dev/sdd"
$sdd.VirtualName = "ephemeral1"
$bdm += $sdd
```

------

# Disponibilizar o volume de armazenamento de instância para uso em uma instância do EC2
<a name="making-instance-stores-available-on-your-instances"></a>

Depois de iniciar uma instância com volumes de armazenamento de instâncias anexados, você deverá montar os volumes antes de poder acessá-los.

## Instâncias do Linux
<a name="view-instance-store-linux"></a>

É possível formatar volumes com o sistema de arquivos de sua escolha depois de iniciar a instância.

**Para disponibilizar um volume de armazenamento de instâncias no Linux**

1. Conecte-se à instância usando um cliente SSH. Para obter mais informações, consulte [Conectar-se à instância do Linux usando SSH](connect-to-linux-instance.md).

1. Use o comando `df -h` para visualizar os volumes formatados e montados.

   ```
   $ df -h
   Filesystem      Size  Used Avail Use% Mounted on
   devtmpfs        3.8G   72K  3.8G   1% /dev
   tmpfs           3.8G     0  3.8G   0% /dev/shm
   /dev/nvme0n1p1  7.9G  1.2G  6.6G  15% /
   ```

1. Use o `lsblk` para visualizar todos os volumes que foram mapeados na inicialização, mas não formatados e montados.

   ```
   $ lsblk
   NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
   nvme0n1       259:1    0    8G  0 disk
   ├─nvme0n1p1   259:2    0    8G  0 part /
   └─nvme0n1p128 259:3    0    1M  0 part
   nvme1n1       259:0    0 69.9G  0 disk
   ```

1. Para formatar e montar um volume de armazenamento de instâncias que foi apenas mapeado, faça o seguinte:

   1. Crie um sistema de arquivos no dispositivo usando o comando `mkfs`.

      ```
      $ sudo mkfs -t xfs /dev/nvme1n1
      ```

   1. Crie um diretório no qual montar o dispositivo usando o comando `mkdir`.

      ```
      $ sudo mkdir /data
      ```

   1. Monte o dispositivo no diretório recém-criado usando o comando `mount`.

      ```
      $ sudo mount /dev/nvme1n1 /data
      ```

## Instâncias do Windows
<a name="view-instance-store-windows"></a>

Em instâncias do Windows, reformatamos os volumes de armazenamento de instâncias com o sistema de arquivos NTFS.

É possível visualizar os volumes do armazenamento de instância usando o Gerenciamento de Disco do Windows. Para obter mais informações, consulte [Listar discos não NVMe](windows-list-disks.md#windows-disks).

**Como montar manualmente um volume de armazenamento de instâncias**

1. Escolha **Iniciar**, insira **Gerenciamento de computador** e pressione **Enter**.

1. No painel esquerdo, escolha **Gerenciamento de disco**.

1. Se você for solicitado a inicializar o volume, escolha o volume a ser inicializado, selecione o tipo de partição necessário dependendo do seu caso de uso e escolha **OK**.

1. Na lista de volumes, clique com o botão direito do mouse no volume a ser montado e escolha **Novo volume simples**.

1. No assistente, escolha **Avançar**.

1. Na tela Especificar tamanho do volume, escolha **Avançar** para usar o tamanho máximo do volume. Como alternativa, escolha um tamanho de volume que esteja entre o espaço mínimo e o máximo em disco.

1. Na tela Atribuir uma letra ou um caminho de unidade, siga um destes procedimentos e escolha **Avançar**.
   + Para montar o volume com uma letra de unidade, escolha **Atribuir a seguinte letra de unidade** e escolha a letra da unidade a ser usada.
   + Para montar o volume como uma pasta, escolha **Montar na seguinte pasta NTFS vazia** e escolha **Procurar** para criar ou selecionar a pasta a ser usada.
   + Para montar o volume sem uma letra ou um caminho de unidade, escolha **Não atribuir uma letra ou um caminho de unidade**.

1. Na tela Formatar partição, especifique se deseja ou não formatar o volume. Se você optar por formatar o volume, escolha o sistema de arquivos e o tamanho da unidade necessários e especifique um rótulo de volume.

1. Escolha **Avançar** e **Concluir**.

# Habilitar volume de troca do armazenamento de instância para instâncias M1 e C1 do EC2
<a name="instance-store-swap-volumes"></a>

**nota**  
Este tópico se aplica somente às instâncias `c1.medium` e `m1.small` do Linux.

Os tipos de instância `c1.medium` e `m1.small` têm uma quantidade limitada de memória física. Portanto, elas recebem um volume de troca de 900 MiB no momento da inicialização para atuar como memória virtual ou *espaço de troca* para o sistema Linux. O espaço de troca no Linux pode ser usado quando um sistema precisa de mais memória que a que foi alocada fisicamente. Quando o espaço de troca está habilitado, os sistemas Linux podem mudar páginas da memória física usadas infrequentemente para espaço de troca (uma partição dedicada ou um arquivo de troca em um sistema de arquivos existente) e liberar esse espaço para páginas de memória que exigem acesso de alta velocidade.

**nota**  
O uso do espaço de troca para paginação de memória não é tão rápido ou eficiente quanto usar a RAM. Se a workload estiver paginando a memória regularmente no espaço de troca, é necessário considerar migrar para um tipo de instância maior com mais memória RAM. Para obter mais informações, consulte [Alterações no tipo de instância do Amazon EC2](ec2-instance-resize.md).
Apesar de o kernel do Linux considerar esse espaço de troca uma partição do volume raiz, ele é, na realidade, um volume de armazenamento de instância separado, independentemente do tipo de volume raiz usado.

O Amazon Linux habilita e usa automaticamente esse espaço de troca, mas a AMI pode exigir algumas etapas adicionais para reconhecer e usar esse espaço de troca. Para ver se a instância está usando o espaço de troca, é possível usar o comando **swapon -s**.

```
[ec2-user ~]$ swapon -s
Filename                                Type            Size    Used    Priority
/dev/xvda3                              partition       917500  0       -1
```

A instância acima tem um volume de troca de 900 MiB anexado e habilitado. Se você não vir um volume de troca listado com esse comando, será possível precisar habilitar o espaço de troca para o dispositivo. Verifique os discos disponíveis usando o comando **lsblk**.

```
[ec2-user ~]$ lsblk
NAME  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda1 202:1    0    8G  0 disk /
xvda3 202:3    0  896M  0 disk
```

Aqui, o volume de troca `xvda3` está disponível para a instância, mas não está habilitado (observe que o campo `MOUNTPOINT` está vazio). É possível habilitar o volume de troca com o comando **swapon**.

**nota**  
Você precisa preceder `/dev/` ao nome do dispositivo listado pelo **lsblk**. Seu dispositivo pode ter um nome diferente, como `sda3`, `sde3` ou `xvde3`. Use o nome do dispositivo de seu sistema no comando abaixo.

```
[ec2-user ~]$ sudo swapon /dev/xvda3
```

Agora o espaço de troca deve ser mostrado na saída do **lsblk** e do **swapon -s**.

```
[ec2-user ~]$ lsblk
NAME  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda1 202:1    0    8G  0 disk /
xvda3 202:3    0  896M  0 disk [SWAP]
[ec2-user ~]$ swapon -s
Filename                                Type            Size    Used    Priority
/dev/xvda3                              partition       917500  0       -1
```

Também será necessário editar o arquivo `/etc/fstab` para que esse espaço de troca seja habilitado automaticamente em cada inicialização do sistema.

```
[ec2-user ~]$ sudo vim /etc/fstab
```

Acrescente a linha a seguir ao arquivo `/etc/fstab` (usando o nome do dispositivo de troca de seu sistema):

```
/dev/xvda3       none    swap    sw  0       0
```

**Para usar um volume de armazenamento de instâncias como espaço de troca**

Qualquer volume de armazenamento de instâncias pode ser usado como espaço de troca. Por exemplo, o tipo de instância `m3.medium` inclui um volume de armazenamento de instâncias SSD de 4 GB que é adequado para o espaço de troca. Se o volume de armazenamento de instâncias for muito maior (por exemplo, 350 GB), será possível considerar particionar o volume com uma partição de troca menor de 4 a 8 GB e o restante para um volume de dados.
**nota**  
Esse procedimento se aplica apenas a tipos de instância que oferecem suporte ao armazenamento de instâncias. Para obter uma lista dos tipos de instâncias compatíveis, consulte [Limites de volume de armazenamento de instância para instâncias do EC2](instance-store-volumes.md).

1. <a name="step_swap_start"></a>Liste os dispositivos de blocos anexados à instância para obter o nome do dispositivo de seu volume de armazenamento de instâncias.

   ```
   [ec2-user ~]$ lsblk -p
   NAME       MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
   /dev/xvdb  202:16   0   4G  0 disk /media/ephemeral0
   /dev/xvda1 202:1    0   8G  0 disk /
   ```

   Neste exemplo, o volume de armazenamento de instâncias é `/dev/xvdb`. Como essa é uma instância do Amazon Linux, o volume de armazenamento de instâncias está formatado e montado em `/media/ephemeral0`. Nem todos os sistemas operacionais Linux fazem isso automaticamente.

1. (Opcional) Se o volume de armazenamento de instâncias está montado (ele é listado como um `MOUNTPOINT` na saída do comando **lsblk**), você precisa desmontá-lo com o comando a seguir.

   ```
   [ec2-user ~]$ sudo umount /dev/xvdb
   ```

1. <a name="step_mkswap"></a>Configure uma área de troca do Linux no dispositivo com o comando **mkswap**.

   ```
   [ec2-user ~]$ sudo mkswap /dev/xvdb
   mkswap: /dev/xvdb: warning: wiping old ext3 signature.
   Setting up swapspace version 1, size = 4188668 KiB
   no label, UUID=b4f63d28-67ed-46f0-b5e5-6928319e620b
   ```

1. Habilite o novo espaço de troca.

   ```
   [ec2-user ~]$ sudo swapon /dev/xvdb
   ```

1. <a name="step_swap_enable"></a>Verifique se o novo espaço de troca está sendo usado.

   ```
   [ec2-user ~]$ swapon -s
   Filename				Type		Size	Used	Priority
   /dev/xvdb                              	partition	4188668	0	-1
   ```

1. Edite o arquivo `/etc/fstab` para que esse espaço de troca seja habilitado automaticamente em cada inicialização do sistema.

   ```
   [ec2-user ~]$ sudo vim /etc/fstab
   ```

   Se o arquivo `/etc/fstab` tiver uma entrada para `/dev/xvdb` (ou para`/dev/sdb`) altere-o para que corresponda à linha abaixo. Se ele não tiver uma entrada para esse dispositivo, adicione a linha a seguir no arquivo `/etc/fstab` (usando o nome do dispositivo de troca de seu sistema):

   ```
   /dev/xvdb       none    swap    sw  0       0
   ```
**Importante**  
Os dados do volume de armazenamento de instâncias são perdidos quando uma instância é interrompida ou hibernada. Isso inclui a formatação do espaço de troca do armazenamento de instâncias criadas em [Step 3](#step_mkswap). Se você parar e reiniciar uma instância que foi configurada para usar o espaço de troca de armazenamento de instâncias, deverá repetir a [Step 1](#step_swap_start) até a [Step 5](#step_swap_enable) no novo volume de armazenamento de instâncias.

# Inicializar volumes de armazenamento de instância em instâncias do EC2
<a name="disk-performance"></a>

Por causa do modo como o Amazon EC2 virtualiza os discos, a primeira gravação em qualquer local em alguns volumes de armazenamento de instâncias ocorre mais lentamente que as gravações subsequentes. Para a maioria das aplicações, a amortização desse custo ao longo da vida útil da instância é aceitável. Entretanto, se você precisar de alta performance de disco, recomendamos inicializar suas unidades gravando uma vez em todos os locais da unidade antes do uso em produção.

**nota**  
Tipos de instância com unidades de estado sólido (SSD) anexadas diretamente e compativeis com TRIM fornecem performance máxima no momento da inicialização, sem inicialização. Para obter informações sobre o armazenamento de instâncias para cada tipo de instância, consulte [Limites de volume de armazenamento de instância para instâncias do EC2](instance-store-volumes.md).

Se você precisar de maior flexibilidade na latência ou no throughput, recomendamos usar o Amazon EBS.

Para inicializar os volumes de armazenamento de instâncias, use os seguintes comandos `dd`, dependendo do armazenamento a ser inicializado (por exemplo, `/dev/sdb` ou `/dev/nvme1n1`).

**nota**  
Desmonte a unidade antes de executar esse comando.   
A inicialização pode levar muito tempo (cerca de oito horas para uma instância extragrande).

Para inicializar os volumes de armazenamento de instâncias, use os comandos a seguir nos tipos de instância `m1.large`, `m1.xlarge`, `c1.xlarge`, `m2.xlarge`, `m2.2xlarge` e `m2.4xlarge`:

```
dd if=/dev/zero of=/dev/sdb bs=1M          
dd if=/dev/zero of=/dev/sdc bs=1M          
dd if=/dev/zero of=/dev/sdd bs=1M          
dd if=/dev/zero of=/dev/sde bs=1M
```

Para executar a inicialização em todos os volumes de armazenamento de instâncias ao mesmo tempo, use o comando a seguir: 

```
dd if=/dev/zero bs=1M|tee /dev/sdb|tee /dev/sdc|tee /dev/sde > /dev/sdd
```

A configuração de unidades para RAID as inicializa gravando em todos os locais da unidade. Ao configurar o RAID com base em software, altere a velocidade mínima da reconstrução: 

```
echo $((30*1024)) > /proc/sys/dev/raid/speed_limit_min
```

# Estatísticas de performance detalhadas para os volumes de armazenamento de instância do Amazon EC2
<a name="nvme-detailed-performance-stats"></a>

O Amazon EC2 fornece, em tempo real, estatísticas de performance de alta resolução para os volumes de armazenamento de instância NVMe anexados às instâncias do Amazon EC2 baseadas no Nitro. Essas estatísticas são apresentadas como contadores agregados que são retidos durante a toda a vida útil da instância. As estatísticas fornecem detalhes sobre o número cumulativo de operações, bytes enviados e recebidos, tempo gasto em operações de E/S de leitura e gravação e histogramas de operações de E/S de leitura e gravação. Embora essas estatísticas mantenham consistência com as [estatísticas de performance detalhadas do Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/nvme-detailed-performance-stats.html), elas também incluem histogramas de latência detalhados, categorizados por tamanho de E/S, que podem fornecer insights mais granulares sobre os padrões de performance do armazenamento. Essa maior visibilidade permite identificar precisamente quais são os tamanhos específicos de E/S que estão tendo problemas de latência, permitindo otimizar a performance das aplicações e solucionar os problemas com mais eficiência.

Você pode coletar essas estatísticas em uma granularidade de intervalos de até um segundo. Se solicitações forem feitas em uma frequência maior que a intervalos de um segundo, o driver NVMe poderá enfileirar as solicitações juntamente com outros comandos administrativos para processamento posterior.

**Considerações**
+ As estatísticas são compatíveis apenas com volumes de armazenamento de instância NVMe anexados a instâncias baseadas no Nitro.
+ Os contadores não persistem durante interrupções e reinicializações da instância.
+ As estatísticas estão disponíveis sem custo adicional.

## Statistics
<a name="nvme-stats"></a>

O dispositivo de blocos NVMe fornece as seguintes estatísticas:


| Nome da estatística | Nome completo | Tipo | Descrição | 
| --- | --- | --- | --- | 
| total\$1read\$1ops | Total de operações de leitura | Contador | O número total de operações de leitura concluídas. | 
| total\$1write\$1ops | Total de operações de gravação | Contador | O número total de operações de gravação concluídas. | 
| total\$1read\$1bytes | Total de bytes de leitura | Contador | O número total de bytes de leitura transferidos. | 
| total\$1write\$1bytes | Total de bytes de gravação | Contador | O número total de bytes de gravação transferidos. | 
| total\$1read\$1time | Tempo total de leitura | Contador | O tempo total gasto, em microssegundos, por todas as operações de leitura concluídas. | 
| total\$1write\$1time | Tempo total de gravação | Contador | O tempo total gasto, em microssegundos, por todas as operações de gravação concluídas. | 
| instance\$1store\$1volume\$1performance\$1exceeded\$1iops | A demanda de tempo total excedeu o IOPS máximo do volume | Contador | O tempo total em microssegundos que o IOPS demanda excedeu o máximo de IOPS do volume. Qualquer valor acima de 0 indica que a workload demandou mais IOPS do que o volume podia fornecer. Idealmente, a contagem incremental dessa métrica, entre os horários de dois snapshots, deve ser mínima. | 
| instance\$1store\$1volume\$1performance\$1exceeded\$1tp | A demanda de tempo total excedeu o throughput máximo do volume | Contador | O tempo total em microssegundos que o throughput demanda excedeu o throughput máximo do volume. Qualquer valor acima de 0 indica que a workload exigia mais throughput do que o volume poderia fornecer. Idealmente, a contagem incremental dessa métrica, entre as horas de dois snapshots, deve ser mínima. | 
| volume\$1queue\$1length | Tamanho de fila do volume | Ponto de tempo | O número de solicitações de operação de leitura e gravação aguardando conclusão. | 
| read\$1io\$1latency\$1histogram | Histograma de E/S de leitura | Histograma \$1 | O número de operações de leitura concluídas em cada compartimento de latência, em microssegundos.  | 
| write\$1io\$1latency\$1histogram | Histograma de E/S de gravação | Histograma \$1 | O número de operações de gravação concluídas em cada compartimento de latência, em microssegundos.  | 

**nota**  
\$1 As estatísticas do histograma representam apenas as operações de E/S que foram concluídas com êxito. As operações de E/S paralisadas ou prejudicadas não foram incluídas, mas ficarão aparentes nas estatísticas de `volume_queue_length`, que são apresentadas como estatísticas pontuais.

## Acessar as estatísticas
<a name="nvme-stat-access"></a>

As estatísticas devem ser acessadas diretamente na instância à qual os volumes de armazenamento de instância estão anexados. Você pode acessar as estatísticas usando um dos métodos a seguir.

### Instâncias do Linux
<a name="nvme-stat-access-linux"></a>

------
#### [ Amazon CloudWatch ]

Você pode configurar o agente do Amazon CloudWatch para coletar as estatísticas da instância e disponibilizá-las como métricas personalizadas no CloudWatch. Você pode, então, usar as métricas do CloudWatch para analisar padrões de E/S, acompanhar tendências de performance, criar painéis personalizados e configurar alarmes automatizados baseados em limites de performance.

Para obter mais informações sobre a configuração do agente CloudWatch, consulte [Collect Amazon EC2 instance store volume metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-metrics-instance-store-Collect.html).

------
#### [ nvme-cli tool ]

**Para acessar as estatísticas**

1. Conecte-se à instância a que o volume está anexado.

1. As AMIs do Amazon Linux 2023 lançadas após 15 de setembro de 2025 incluem a versão mais recente da ferramenta `nvme-cli`. Se você estiver usando uma AMI do Amazon Linux mais antiga, atualize a ferramenta `nvme-cli`.

   ```
   sudo yum install nvme-cli
   ```

1. Execute o comando a seguir e especifique o nome do dispositivo para o volume.

   ```
   sudo nvme amzn stats /dev/nvme0n1
   ```

As estatísticas também fornecem histogramas de latência detalhados, categorizados por tamanho de E/S. Para ver as estatísticas categorizadas por tamanho de E/S, inclua a opção `--details`. Por exemplo:

```
sudo nvme amzn stats --details /dev/nvme0n1
```

Você pode obter mais informações sobre como usar a ferramenta especificando a opção `--help`. Por exemplo:

```
sudo nvme amzn stats --help
```

------

### Instâncias do Windows
<a name="nvme-stat-access-windows"></a>

------
#### [ nvme\$1amzn.exe tool ]

**Para acessar as estatísticas**

1. Conecte-se à instância a que o volume está anexado.

1. Certifique-se de estar usando o driver AWSNVMe versão `1.7.0` ou posterior. Para obter mais informações sobre a atualização do driver AWSNVMe, consulte [Drivers AWS NVMe](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/aws-nvme-drivers.html).

1. Obtenha o número do disco para o volume. Para obter mais informações, consulte [Mapear discos NVMe em uma instância Amazon EC2 Windows para volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/windows-list-disks-nvme.html).

1. Execute o comando a seguir como administrador e especifique o número do disco para o volume.

   ```
   .\nvme_amzn.exe stats disk_number
   ```

As estatísticas também fornecem histogramas de latência detalhados, categorizados por tamanho de E/S. Para ver as estatísticas categorizadas por tamanho de E/S, inclua a opção `--details`. Por exemplo:

```
.\nvme_amzn.exe stats --details disk_number
```

------