

# Localizar um tipo de instância do Amazon EC2
<a name="instance-discovery"></a>

Para poder executar uma instância, é necessário selecionar um tipo de instância para usar. O tipo de instância escolhido pode depender dos recursos necessários para sua workload, como recursos de computação, memória ou armazenamento. Pode ser benéfico identificar vários tipos de instância possivelmente adequadas à sua workload e avaliar a performance deles em um ambiente de teste. Não há substituto para medir a performance de sua aplicação sob carga.

Você pode obter sugestões e orientações para os tipos de instância do EC2 usando o localizador de tipos de instância do EC2. Para obter mais informações, consulte [Obtenha recomendações do localizador de tipo de instância do EC2](get-ec2-instance-type-recommendations.md).

Se já tiver instâncias do EC2 em execução, será possível usar o AWS Compute Optimizer para obter recomendações sobre os tipos de instâncias que deve usar para melhorar a performance, economizar dinheiro ou ambos. Para obter mais informações, consulte [Obter as recomendações de instâncias do EC2 no Compute Optimizer](ec2-instance-recommendations.md).

**Topics**
+ [Localizar um tipo de instância usando o console](#instance-discovery-console)
+ [Descrever um tipo de instância usando a AWS CLI](#describe-instance-type-example)
+ [Encontrar um tipo de instância usando a AWS CLI](#instance-discovery-cli)
+ [Encontrar um tipo de instância usando as Ferramentas para PowerShell](#instance-discovery-ps)

## Localizar um tipo de instância usando o console
<a name="instance-discovery-console"></a>

É possível encontrar um tipo de instância que atenda às suas necessidades usando o console do Amazon EC2.

**Como encontrar um tipo de instância usando o console**

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

1. Na barra de navegação, selecione a região na qual executar as instâncias. Selecione qualquer região que estiver disponível para você, independentemente do seu local.

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

1. (Opcional) Selecione o ícone de preferências (engrenagem) para escolher quais atributos de tipos de instância exibir, como a **Definição de preço do Linux sob demanda** e selecione **Confirmar**. Como alternativa, selecione o nome de um tipo de instância para abrir a respectiva página de detalhes e exibir todos os atributos disponíveis por meio do console. O console não exibe todos os atributos disponíveis por meio da API ou da linha de comando.

1. Use os atributos de tipo de instância para filtrar a lista de tipos de instância exibidos apenas para os tipos de instância que atendem às suas necessidades. Por exemplo, é possível filtrar com base nos seguintes atributos:
   + **Availability zones** (Zonas de disponibilidade): o nome da zona de disponibilidade, zona local ou zona Wavelength. Para obter mais informações, consulte [A VPC abrange as zonas de disponibilidade e a zona Wavelength.](using-regions-availability-zones.md).
   + **vCPUs** (vCPUs) ou **Cores** (Núcleos): o número de vCPUs ou núcleos.
   + **Memory (GiB)** (Memória [GiB]): o tamanho da memória em GiB.
   + **Network performance** (Performance de rede): o desempenho da rede, em Gigabits.
   + **Local instance storage** (Armazenamento de instâncias locais): indica se o tipo de instância tem armazenamento de instância local (`true` \$1 `false`).

1. (Opcional) Para ver um comparativo lado a lado, marque a caixa de seleção para vários tipos de instâncias. A comparação é exibida na parte inferior da tela.

1. (Opcional) Para salvar a lista de tipos de instância em um arquivo de valores separados por vírgula (.csv) para análise adicional, escolha **Actions** (Ações), **Download list CSV** (Baixar lista em CSV). O arquivo inclui todos os tipos de instância que correspondem aos filtros definidos.

1. (Opcional) Para executar instâncias usando um tipo de instância que satisfaça suas necessidades, marque a caixa de seleção para o tipo de instância e escolha **Actions** (Ações), **Launch instance** (Executar instância). Para obter mais informações, consulte [Executar uma instância do EC2 usando o assistente de inicialização de instâncias no console](ec2-launch-instance-wizard.md).

## Descrever um tipo de instância usando a AWS CLI
<a name="describe-instance-type-example"></a>

Você pode usar o comando [describe-instance-types](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-types.html) para descrever um tipo de instância específico.

**Descrever por completo um tipo de instância**  
O comando a seguir exibe todos os detalhes disponíveis do tipo da instância especificado. A saída é longa, portanto ela é omitida aqui.

```
aws ec2 describe-instance-types \
    --instance-types t2.micro \
    --region us-east-2
```

**Elas descrevem um tipo de instância e filtram a saída**  
O comando a seguir exibe os detalhes da rede para o tipo de instância especificado.

```
aws ec2 describe-instance-types \
    --instance-types t2.micro \
    --region us-east-2 \
    --query "InstanceTypes[].NetworkInfo"
```

O seguinte é um exemplo de saída.

```
[
    {
        "NetworkPerformance": "Low to Moderate",
        "MaximumNetworkInterfaces": 2,
        "MaximumNetworkCards": 1,
        "DefaultNetworkCardIndex": 0,
        "NetworkCards": [
            {
                "NetworkCardIndex": 0,
                "NetworkPerformance": "Low to Moderate",
                "MaximumNetworkInterfaces": 2,
                "BaselineBandwidthInGbps": 0.064,
                "PeakBandwidthInGbps": 1.024
            }
        ],
        "Ipv4AddressesPerInterface": 2,
        "Ipv6AddressesPerInterface": 2,
        "Ipv6Supported": true,
        "EnaSupport": "unsupported",
        "EfaSupported": false,
        "EncryptionInTransitSupported": false,
        "EnaSrdSupported": false
    }
]
```

O comando a seguir exibe a memória disponível para o tipo de instância especificado.

```
aws ec2 describe-instance-types \
    --instance-types t2.micro \
    --region us-east-2 \
    --query "InstanceTypes[].MemoryInfo"
```

O seguinte é um exemplo de saída.

```
[
    {
        "SizeInMiB": 1024
    }
]
```

## Encontrar um tipo de instância usando a AWS CLI
<a name="instance-discovery-cli"></a>

Você pode usar os comandos [describe-instance-types](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-types.html) e [describe-instance-type-offerings](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-type-offerings.html) para encontrar os tipos de instância que atendem às suas necessidades.

**Topics**
+ [Encontrar um tipo de instância por zona de disponibilidade](#find-instance-type-example-1)
+ [Encontrar um tipo de instância por tamanho de memória disponível](#find-instance-type-example-2)
+ [Encontrar um tipo de instância por armazenamento de instância disponível](#find-instance-type-example-3)
+ [Encontrar um tipo de instância compatível com hibernação](#find-instance-type-example-4)

### Exemplo 1: encontrar um tipo de instância por zona de disponibilidade
<a name="find-instance-type-example-1"></a>

O exemplo a seguir exibe somente os tipos de instância oferecidos na zona de disponibilidade especificada.

```
aws ec2 describe-instance-type-offerings \
    --location-type "availability-zone" \
    --filters "Name=location,Values=us-east-2a" \
    --region us-east-2 \
    --query "InstanceTypeOfferings[*].[InstanceType]" --output text | sort
```

A saída é uma lista de tipos de instâncias ordenadas alfabeticamente. Veja a seguir apenas o início da saída da chamada.

```
a1.2xlarge
a1.4xlarge
a1.large
a1.medium
a1.metal
a1.xlarge
c4.2xlarge
   ...
```

### Exemplo 2: encontrar um tipo de instância por tamanho de memória disponível
<a name="find-instance-type-example-2"></a>

O exemplo a seguir exibe somente os tipos de instância da geração atual com 64 GiB (65.536 MiB) de memória.

```
aws ec2 describe-instance-types \
    --filters "Name=current-generation,Values=true" "Name=memory-info.size-in-mib,Values=65536" \
    --region us-east-2 \
    --query "InstanceTypes[*].[InstanceType]" --output text | sort
```

A saída é uma lista de tipos de instâncias ordenadas alfabeticamente. Veja a seguir apenas o início da saída da chamada.

```
c5a.8xlarge
c5ad.8xlarge
c6a.8xlarge
c6g.8xlarge
c6gd.8xlarge
c6gn.8xlarge
c6i.8xlarge
c6id.8xlarge
c6in.8xlarge
   ...
```

### Exemplo 3: encontrar um tipo de instância por armazenamento de instância disponível
<a name="find-instance-type-example-3"></a>

O exemplo a seguir exibe o tamanho total do armazenamento de instâncias para todas as instâncias R7 com volumes de armazenamento de instâncias.

```
aws ec2 describe-instance-types \
    --filters "Name=instance-type,Values=r7*" "Name=instance-storage-supported,Values=true" \
    --region us-east-2 \
    --query "InstanceTypes[].[InstanceType, InstanceStorageInfo.TotalSizeInGB]" \
    --output table
```

O seguinte é um exemplo de saída.

```
---------------------------
|  DescribeInstanceTypes  |
+----------------+--------+
|  r7gd.xlarge   |  237   |
|  r7gd.8xlarge  |  1900  |
|  r7gd.16xlarge |  3800  |
|  r7gd.medium   |  59    |
|  r7gd.4xlarge  |  950   |
|  r7gd.2xlarge  |  474   |
|  r7gd.metal    |  3800  |
|  r7gd.large    |  118   |
|  r7gd.12xlarge |  2850  |
+----------------+--------+
```

### Exemplo 4: encontrar um tipo de instância compatível com hibernação
<a name="find-instance-type-example-4"></a>

O exemplo a seguir exibe os tipos de instância compatíveis com hibernação.

```
aws ec2 describe-instance-types \
    --filters "Name=hibernation-supported,Values=true" \
    --region us-east-2 \
    --query "InstanceTypes[*].[InstanceType]" \
    --output text | sort
```

A saída é uma lista de tipos de instâncias ordenadas alfabeticamente. Veja a seguir apenas o início da saída da chamada.

```
c4.2xlarge
c4.4xlarge
c4.8xlarge
c4.large
c4.xlarge
c5.12xlarge
c5.18xlarge
c5.2xlarge
c5.4xlarge
c5.9xlarge
...
```

## Encontrar um tipo de instância usando as Ferramentas para PowerShell
<a name="instance-discovery-ps"></a>

É possível usar os cmdlets [Get-EC2InstanceType](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceType.html) e [Get-EC2InstanceTypeOffering](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceTypeOffering.html) para encontrar os tipos de instância que atendem às suas necessidades.

**Topics**
+ [Encontrar um tipo de instância por zona de disponibilidade](#find-instance-type-by-az-ps)
+ [Encontrar um tipo de instância por tamanho de memória disponível](#find-instance-type-by-memory-ps)
+ [Encontrar um tipo de instância por armazenamento de instância disponível](#find-instance-type-by-storage-ps)
+ [Encontrar um tipo de instância compatível com hibernação](#find-instance-type-hibernation-ps)

### Encontrar um tipo de instância por zona de disponibilidade
<a name="find-instance-type-by-az-ps"></a>

O exemplo a seguir exibe somente os tipos de instância oferecidos na zona de disponibilidade especificada.

```
(Get-EC2InstanceTypeOffering `
    -LocationType "availability-zone" `
    -Region us-east-2 `
    -Filter @{Name="location"; Values="us-east-2a"}).InstanceType | Sort-Object `
```

### Encontrar um tipo de instância por tamanho de memória disponível
<a name="find-instance-type-by-memory-ps"></a>

O exemplo a seguir exibe somente os tipos de instância da geração atual com 64 GiB (65.536 MiB) de memória.

```
(Get-EC2InstanceType `
    -Filter @{Name="current-generation"; Values="true"}, 
            @{Name="memory-info.size-in-mib"; Values="65536"}).InstanceType | Sort-Object
```

### Encontrar um tipo de instância por armazenamento de instância disponível
<a name="find-instance-type-by-storage-ps"></a>

O exemplo a seguir exibe o tamanho total do armazenamento de instâncias para todas as instâncias R7 com volumes de armazenamento de instâncias.

```
Get-EC2InstanceType `
    -Filter @{Name="instance-type"; Values="r7*"}, 
            @{Name="instance-storage-supported"; Values="true"} | `
     Select InstanceType, @{Name="TotalSizeInGB"; Expression={($_.InstanceStorageInfo.TotalSizeInGB)}}
```

O seguinte é um exemplo de saída.

```
InstanceType  TotalSizeInGB
------------  -------------
r7gd.8xlarge           1900
r7gd.16xlarge          3800
r7gd.xlarge             237
r7gd.4xlarge            950
r7gd.medium              59
r7gd.2xlarge            474
r7gd.large              118
r7gd.metal             3800
r7gd.12xlarge          2850
```

### Encontrar um tipo de instância compatível com hibernação
<a name="find-instance-type-hibernation-ps"></a>

O exemplo a seguir exibe os tipos de instância compatíveis com hibernação.

```
(Get-EC2InstanceType `
    -Filter @{Name="hibernation-supported"; Values="true"}).InstanceType | Sort-Object
```