A Amazon Elastic Compute Cloud (Amazon EC2) oferece a flexibilidade de optar entre uma série de tipos de instância diferentes para atender às suas necessidades de computação. Cada instância apresenta uma quantidade previsível de capacidade computacional dedicada e é cobrada por hora de instância consumida.
As instâncias padrão de primeira geração (M1) fornecem aos clientes um conjunto equilibrado de recursos e uma plataforma de baixo custo adequada para uma ampla variedade de aplicativos.
Instância pequena M1 – padrão*
Memória de 1,7 GiB
1 unidade EC2 Compute (1 núcleo virtual com 1 unidade EC2 Compute)
Armazenamento de 160 GB de instâncias
Plataforma de 32 ou 64 bits
Desempenho de E/S: moderado
EBS otimizado disponível: não
Nome da API: m1.small
Instância média M1
Memória de 3,75 GiB
2 unidades de processamento EC2 (1 núcleo virtual com 2 unidades de processamento EC2)
Armazenamento de 410 GB de instâncias
Plataforma de 32 ou 64 bits
Desempenho de E/S: moderado
EBS otimizado disponível: não
Nome da API: m1.medium
Instância grande M1
Memória de 7,5 GiB
4 unidades de processamento EC2 (2 núcleos virtuais com 2 unidades de processamento EC2 cada)
Armazenamento de 850 GB de instâncias
Plataforma de 64 bits
Desempenho de E/S: moderado
EBS otimizado disponível: 500 Mbps
Nome da API: m1.large
Instância extragrande M1
Memória de 15 GiB
8 unidades de EC2 Compute (4 núcleos virtuais com 2 unidades de processamento EC2 cada)
Armazenamento de 1.690 GB de instâncias
Plataforma de 64 bits
Desempenho de E/S: alto
EBS otimizado disponível: 1000 Mbps
Nome da API: m1.xlarge
As instâncias padrão de segunda geração (M3) fornecem aos clientes um conjunto equilibrado de recursos e um nível superior de desempenho de processamento em comparação às instâncias padrão de primeira geração. As instâncias nessa família são ideiais para aplicativos que exigem desempenho de memória e CPU absolutos superiores. Entre os exemplos de aplicativos que se beneficiarão do desempenho de instâncias padrão de segunda geração estão codificação, sistemas de gerenciamento de conteúdo de tráfego elevado e armazenamento em cache de memória.
Instância extragrande M3
Memória de 15 GiB
13 unidades de processamento EC2 (4 núcleos virtuais com 3,25 unidades de processamento EC2 cada)
Somente armazenamento EBS
Plataforma de 64 bits
Desempenho de E/S: moderado
EBS otimizado disponível: não
Nome da API: m3.xlarge
Instância dupla extragrande M3
Memória de 30 GiB
26 unidades de processamento EC2 (8 núcleos virtuais com 3,25 unidades de processamento EC2 cada)
Somente armazenamento EBS
Plataforma de 64 bits
Desempenho de E/S: alto
EBS otimizado disponível: não
Nome da API: m3.2xlarge
As Microinstâncias (t1.micro) fornecem uma pequena quantidade de recursos consistentes do CPU e permitem que você aumente a capacidade do CPU em bursts curtos quando ciclos adicionais estiverem disponíveis. Eles são adequados para aplicativos de produtividade mais baixa e websites que requerem ciclos computacionais significativos adicionais periodicamente. Saiba mais sobre como você pode usar microinstâncias e aplicativos apropriados na documentação do Amazon EC2.
Microinstância
613 MiB de memória
Até 2 unidades EC2 (para picos periódicos curtos)
Somente armazenamento EBS
Plataforma de 32 ou 64 bits
Desempenho de E/S: baixo
EBS otimizado disponível: não
Nome da API: t1.micro
Instâncias dessa família oferecem grandes tamanhos de memória para aplicativos de alta taxa de transferência, incluindo banco de dados e aplicativos de cache de memória.
Instância extragrande de memória elevada
17,1 GiB de memória
6,5 unidades de processamento EC2 (2 núcleos virtuais com 3,25 unidades de processamento EC2 cada)
420 GB de armazenamento de instâncias
Plataforma de 64 bits
Desempenho de E/S: moderado
EBS otimizado disponível: não
Nome da API: m2.xlarge
Instância extragrande dupla de memória elevada
34,2 GiB de memória
13 unidades de processamento EC2 (4 núcleos virtuais com 3,25 unidades de processamento EC2)
850 GB de armazenamento de instâncias
Plataforma de 64 bits
Desempenho de E/S: alto
EBS otimizado disponível: não
Nome da API: m2.2xlarge
Instância extragrande quádrupla de memória elevada
68,4 GiB de memória
26 unidades EC8 Compute (8 núcleos virtuais com 3,25 unidades de processamento EC2)
1.690 GB de armazenamento de instâncias
Plataforma de 64 bits
Desempenho de E/S: alto
EBS otimizado disponível: 1.000 Mbps
Nome da API: m2.4xlarge
As instâncias desta família têm proporcionalmente mais recursos de CPU do que memória (RAM) e são adequadas para aplicativos com processamento intensivo.
Instância média de CPU elevada
1,7 GiB de memória
5 unidades de processamento EC2 (2 núcleos virtuais com 2,5 unidades de processamento EC2)
350 GB de armazenamento de instâncias
Plataforma de 32 ou 64 bits
Desempenho de E/S: moderado
EBS otimizado disponível: não
Nome da API: cl.medium
Instância extragrande de CPU elevada
7 GiB de memória
20 unidades de processamento EC2 (8 núcleos virtuais com 2,5 unidades de processamento EC2)
1.690 GB de armazenamento de instâncias
Plataforma de 64 bits
Desempenho de E/S: alto
EBS otimizado disponível: não
Nome da API: cl.xlarge
Instâncias desta família fornecem proporcionalmente CPU de alta performance com desempenho de rede maior e são bastante adequadas para aplicativos de Computação de Alta Performance (HPC) e outros aplicativos exigentes relacionados à rede. Você pode aprender mais sobre conceitos de instâncias de cluster lendo a documentação do Amazon EC2. Para mais informações sobre casos de uso específicos e opções de gestão de cluster para HPC, consulte a página de soluções HPC.
Instância óctupla extragrande de computação em cluster
60,5 GiB de memória
88 unidades de processamento EC2 (2 x Intel Xeon E5-2670, oito núcleos)
3.370 GB de armazenamento de instâncias
Plataforma de 64 bits
Desempenho de E/S: muito alto (Ethernet de 10 Gigabits)
EBS otimizado disponível: não**
Nome da API: cc2.8xlarge
Instâncias desta família fornecem proporcionalmente recursos de CPU e mais memória com desempenho de rede maior e são bastante adequadas para análise com uso intensivo de memória, aplicativos de Computação de Alta Performance (HPC) e outros aplicativos vinculados ao uso intensivo de memória. Você pode aprender mais sobre conceitos de instâncias de cluster lendo a documentação do Amazon EC2. Para obter mais informações sobre casos de uso específicos em HPC e dados grandes, consulte as páginas de soluções HPC e dados grandes.
Instâncias óctupla extragrande de cluster com mais memória
244 GiB de memória
88 Unidades de processamento EC2 (2 x Intel Xeon E5-2670, oito núcleos). Intel Turbo, NUMA)*
240 GB de armazenamento de instâncias SSD
Plataforma de 64 bits
Desempenho de E/S: muito alto (Ethernet de 10 Gigabits)
EBS otimizado disponível: não
Nome da API: cr1.8xlarge
Instâncias desta família fornecem gráficos de uso gerais (GPUs) de unidades de processamento com proporcionalmente alta utilização de CPU e maior desempenho de rede para aplicativos, se beneficiando de processamento altamente em paralelo, incluindo HPC, renderização e aplicativos de processamento de mídia. Enquanto instâncias de Compute Cluster fornecem a capacidade de criar clusters de instâncias ligadas por uma rede de baixa latência, de alta taxa de transferência, as instâncias de Cluster GPU fornecem uma opção adicional para aplicativos que podem se beneficiar dos ganhos de eficiência da potência computacional em paralelo de GPUs sobre o que pode ser alcançado com processadores tradicionais de computação paralela. Saiba mais sobre o uso deste tipo de instância com relação a aplicativos HPC.
Instância extragrande quádrupla de GPU de cluster
22 GiB de memória
33,5 unidades de processamento EC2 (2 x Intel Xeon X5570, quatro núcleos)
2 x NVIDIA Tesla “Fermi” M2050 GPUs
1.690 GB de armazenamento de instâncias
Plataforma de 64 bits
Desempenho de E/S: muito alto (Ethernet de 10 Gigabits)
EBS otimizado disponível: não**
Nome da API: cg1.4xlarge
As instâncias desta família oferecem desempenho muito elevado de E/S para armazenamento de instâncias. Elas são idealmente adequadas para cargas de trabalho de banco de dados com desempenho muito elevado. Entre os aplicativos de exemplo estão bancos de dados NoSQL, como Cassandra e MongoDB. Instâncias de E/S elevada são respaldadas por SSD (Solid State Drives, Unidades de estado sólido) e também fornecem níveis elevados de desempenho de CPU, memória e rede.
Instância quádrupla extragrande de E/S elevada
60,5 GiB de memória
35 unidades de processamento EC2 (16 núcleos virtuais*)
2 volumes baseados em SSD, cada um com 1.024 GB de armazenamento de instâncias
Plataforma de 64 bits
Desempenho de E/S: muito alto (Ethernet de 10 Gigabits)
Desempenho de E/S de armazenamento: muito alto***
EBS otimizado disponível: não**
Nome da API: hi1.4xlarge
*8 núcleos + 8 hiperthreads
***Com o uso de AMIs paravirtuais (PV) Linux, as instâncias quádruplas extragrandes de E/S elevada podem fornecer mais de 120.000 IOPS de leitura aleatória de 4 KB, bem como entre 10.000 e 85.000 IOPS de gravação aleatória de 4 KB (dependendo do alcance de endereçamento de bloco lógico ativo) para aplicativos. Para máquinas virtuais de hardware (HVM) e AMIs do Windows, o desempenho é de aproximadamente 90.000 IOPS de leitura aleatória de 4 KB, bem como entre 9.000 e 75.000 IOPS de gravação aleatória de 4 KB. A taxa de transferência sequencial máxima em todos os tipos de AMI (PV Linux, HVM Linux e Windows) por segundo é de aproximadamente 2 GB para leitura e de 1,1 GB para gravação.
Para clientes usando o Microsoft Windows Server, as instâncias de armazenamento de alta capacidade são compatíveis somente com a AMI do Microsoft Windows Server 2008R2 para Instâncias de Cluster e AMIs do Windows Server 2012.
As instâncias dessa família fornecem densidade de armazenamento por instância proporcionalmente superior, e são idealmente adequadas para aplicativos que se beneficiam de performance de E/S sequencial elevada em conjuntos de dados muito grandes. Entre os aplicativos de exemplo estão warehouses de dados, Hadoop, análise sísmica, sistemas de arquivo de cluster, etc. Instâncias de armazenamento de alta capacidade também fornecem níveis elevados de CPU, memória e performance de rede.
117 GiB de memória
35 unidades de processamento EC2 (16 núcleos virtuais*)
24 unidades de disco rígido cada com 2 TB de armazenamento de instâncias
Plataforma de 64 bits
Desempenho de E/S: muito alto (Ethernet de 10 Gigabits)
Desempenho de E/S de armazenamento: muito alto***
EBS otimizado disponível: não**
Nome da API: hs1.8xlarge
*8 núcleos + 8 hiperthreads para 16 núcleos virtuais
***Instâncias óctuplas extragrandes de armazenamento de alta capacidade podem fornecer 2,4 GB por segundo de desempenho de leitura sequencial de 2 MiB e 2,6 GB por segundo de desempenho de gravação sequencial.
Para clientes usando o Microsoft Windows Server, as instâncias de armazenamento de alta capacidade são compatíveis somente com a AMI do Microsoft Windows Server 2008R2 para Instâncias de Cluster e AMIs do Windows Server 2012.
Por uma taxa baixa adicional, por hora, os clientes podem executar tipos de instâncias selecionados do Amazon EC2 como instâncias "otimizadas para EBS". As instâncias otimizadas para EBS permitem que instâncias do Amazon EC2 utilizam totalmente as IOPS provisionadas em um volume do EBS. As instâncias otimizadas para EBS fornecem taxa de transferência dedicada entre o Amazon EC2 e o Amazon EBS, com opções de 500 Mbps a 1.000 Mbps, dependendo do tipo de instância usada. Quando vinculados a instâncias otimizadas para EBS, os volumes de IOPS provisionados são projetados para fornecer 10% da performance provisionada, 99,9% do tempo. Consulte Tipos de instância do Amazon EC2 para saber mais sobre os tipos de instâncias que podem ser executados como instâncias otimizadas para EBS.
As instâncias do Amazon EC2 são agrupadas em oito famílias: padrão (primeira e segunda geração), micro, mais memória, CPU de alta performance, computação em cluster, GPU de cluster e E/S elevada.
Instâncias padrão têm proporções de memória para CPU adequadas para a maioria dos aplicativos de finalidade geral; instâncias padrão de segunda geração fornecem desempenho de CPU absoluto superior para aplicativos com uso intensivo de CPU; instâncias com mais memória oferecem tamanhos maiores de memória para aplicativos com uso intensivo de memória, incluindo aplicativos de armazenamento em cache de memória e banco de dados; e instâncias com CPU elevada têm proporcionalmente mais recursos de CPU do que memória (RAM) e são adequadas para aumentar a escala de aplicativos com uso intensivo de computação.
As microinstâncias fornecem uma pequena quantidade de recursos consistentes de CPU e permitem que você ultrapasse a capacidade da CPU quando ciclos adicionais estiverem disponíveis. Essas instâncias são adequadas para aplicativos de rendimento mais baixo e sites que consomem periodicamente uma quantidade considerável de ciclos de computação. No estado estável, as Microinstâncias recebem uma fração dos recursos de computação que as Instâncias pequenas recebem. Portanto, se seu aplicativo tiver necessidades de alto consumo de computação ou estado estável, recomendamos o uso de uma Instância pequena (ou maior, dependendo das suas necessidades). No entanto, microinstâncias podem fornecer intermitências periódicas de capacidade de CPU adicional. Portanto, se você tiver um aplicativo ou site de rendimento relativamente baixo com uma necessidade ocasional que consuma ciclos de computação significativos, recomendamos o uso de Microinstâncias.
As instâncias de Computação de cluster fornecem uma quantidade muito grande de CPU vinculada a uma rede de alto desempenho, tornando-as bastante adequadas para aplicativos High Performance Compute (HPC) e outros aplicativos vinculados à rede exigentes.
As instâncias de GPU de cluster fornecem gráficos de uso gerais (GPUs) de unidades de processamento com proporcionalmente alta utilização de CPU e maior desempenho de rede para aplicativos, tornando-as bastante adequadas para aplicativos que se beneficiam de processamento altamente em paralelo, incluindo HPC, renderização e aplicativos de processamento de mídia.
Instâncias de E/S elevada utilizam a tecnologia SSD para fornecer um valor muito elevado de desempenho de E/S aleatória. Instâncias de E/S elevada são ideais para aplicativos que se beneficiam de um grande número de IOPS de baixa latência, como bancos de dados NoSQL e bancos de dados relacionais.
Clientes que executam bancos de dados devem considerar a execução de instâncias como instâncias otimizadas para EBS. A combinação de instâncias otimizadas para EBS e volumes IOPS provisionados pelo Amazon EBS garante que as instâncias conseguem oferecer uma performance consistente de E/S de EBS.
Ao escolher tipos de instância, você deve considerar as características do aplicativo com relação à utilização de recursos e à seleção da família e ao tamanho de instâncias ideais. Uma das vantagens do EC2 é que você paga pela hora da instância, o que o torna conveniente e econômico para testar o desempenho do aplicativo em famílias e tipos de instância diferentes. Uma boa forma de determinar a família de instância mais apropriada e o tipo de instância é iniciar instâncias de teste e referenciar o aplicativo.
A passagem para um modelo computacional de utilitário muda fundamentalmente como os desenvolvedores foram treinados para pensar sobre os recursos da CPU. Em vez de comprar ou alugar um determinado processador para usar durante vários meses ou anos, você está alugando a capacidade de acordo com a hora. Como o Amazon EC2 foi criado em hardware tipo commodity, ao longo do tempo poderá haver vários tipos diferentes de hardware físico subjacentes às instâncias do EC2. Nossa meta é fornecer uma quantidade consistente de capacidade da CPU independentemente do hardware subjacente real.
O Amazon EC2 usa uma série de medidas para fornecer a cada instância com uma quantidade consistente e previsível de capacidade da CPU. Para facilitar para os desenvolvedores a comparação da capacidade da CPU entre diferentes tipos de instância, definimos uma Unidade computacional do Amazon EC2. A quantidade de CPU que é alocada para determinada instância é expressa em termos dessas unidades de processamento EC2. Usamos várias referências e testes para gerenciar a consistência e a previsibilidade do desempenho de uma Unidade computacional do EC2. Uma Unidade computacional do EC2 fornece a capacidade de CPU equivalente de um processador 2007 Opteron ou 2007 Xeon de 1,0-1,2 GHz. Isso também é o equivalente a um processador anterior a 2006 Xeon de 1,7 GHz em nossa documentação original. Ao longo do tempo, poderemos adicionar ou substituir medidas que fazem parte da definição de uma Unidade computacional do EC2, se acharmos que as métricas irão fornecer um panorama mais nítido sobre a capacidade computacional.
Para descobrir qual instância funcionará melhor para seu aplicativo, a melhor coisa a fazer é iniciar uma instância e referenciar seu próprio aplicativo. Uma das vantagens do EC2 é que você paga pela hora, o que o torna conveniente e econômico para testar o desempenho do aplicativo em tipos de instância diferentes.
O Amazon EC2 fornece instâncias de servidor virtualizadas. Enquanto alguns recursos como CPU, memória e armazenamento de instâncias são dedicados a uma determinada instância, outros recursos como a rede e o subsistema do disco são compartilhados entre instâncias. Se cada instância em um host físico tentar usar o máximo desses recursos compartilhados quanto for possível, cada uma delas receberá uma parte igual daquele recurso. No entanto, quando um recurso é sub-utilizado, com frequência você poderá consumir uma parte maior daquele recurso enquanto ele estiver disponível.
Os diferentes tipos de instância fornecerão um desempenho mínimo superior ou inferior com base nos recursos compartilhados dependendo do tamanho. Cada um dos tipos de instância tem um indicador de desempenho de E/S (baixo, moderado ou alto). Tipos de instância com desempenho alto de E/S têm uma alocação maior dos recursos compartilhados. A alocação de uma parte maior dos recursos compartilhados também reduz a variação do desempenho de E/S. Para muitos aplicativos, o desempenho baixo ou moderado de E/S é mais do que suficiente. No entanto, para aqueles aplicativos que exigem um desempenho de E/S maior ou mais consistente, talvez você deseje considerar instâncias com desempenho alto de E/S.
As instâncias de computação em cluster e GPU de cluster têm performance de E/S muito alta, usando Ethernet de 10 gigabits para obter uma alta taxa de transferência e latências de rede reduzidas dentro de clusters.
As instâncias de E/S elevada foram desenvolvidas para fornecer aos clientes uma quantidade muito elevada de E/S para armazenamento de baixa latência aproveitando volumes de armazenamento em SSD com conexão direta. As instâncias de E/S elevada podem oferecer mais de 100.000 IOPS de leitura aleatória e até 80.000 IOPS de gravação aleatória para aplicativos de banco de dados relacional e NoSQL de alta performance. Além da performance de armazenamento, as instâncias de E/S elevada também têm performance de E/S muito alta usando Ethernet de 10 gigabits para obter uma alta taxa de transferência e latências de rede reduzidas dentro de clusters.
Além disso, você pode usar o Amazon EBS para obter uma performance de E/S de armazenamento aprimorada para aplicativos com uso intensivo de disco. Os volumes do Amazon EBS fornecem aos clientes armazenamento confiável, de baixo custo e persistente, permitindo que os clientes possam aumentar a performance de E/S, distribuindo-a em vários volumes do EBS. Os volumes IOPS provisionados pelo Amazon EBS permitem que os clientes provisionem o nível desejado de performance de volumes de armazenamento e devem ser usados com instâncias otimizadas para EBS do Amazon EC2 para maximizar a performance e a consistência de E/S. As instâncias otimizadas para EBS oferecem aos clientes uma configuração otimizada e taxas de transferência dedicadas para obter uma performance consistente de E/S de EBS.
**O tipo instância pequena é equivalente ao tipo de instância original do Amazon EC2, disponível desde o lançamento do Amazon EC2. No momento, esse tipo de instância é o padrão para todos os clientes. Para usar outros tipos de instância, os clientes devem solicitá-los especificamente por meio da API RunInstances.
**Instâncias de computação em cluster, de GPU de cluster, de I/O elevada e de armazenamento de alta capacidade não suportam a otimização para EBS no momento, mas oferecem aos clientes redes com grande largura de banda e também podem ser usadas com volumes de IOPS provisionadas pelo EBS para oferecer melhor consistência e desempenho.