Tipos EC2 instância para Amazon Web Services

Alguns anos atrás, escolher qual instância para usar para um aplicativo era um caso simples. Amazon Web Services (AWS), desde alguns tipos de instância que variaram em uma moda- principalmente linear, isto é, se você queria mais poder de processamento, você selecionou um tipo de instância que continha mais ECU, e que veio fornecido com grandes quantidades de memória e armazenamento - uma moleza.

É muito mais difícil agora decidir qual tipo de instância de usar, porque lançou Amazon (desculpem o trocadilho) várias famílias de casos projetados para ajudá-lo a otimizar para um determinado tipo de funcionalidade.

Por exemplo, se o seu aplicativo é intensivo de memória, como certas aplicações analíticas são? Você costumava ter que usar uma instância da família de tipos de instância padrão, e você tinha que usar instâncias com grandes quantidades de memória que realizaram um elevado número de ECUs, mesmo se o aplicativo não requer muito poder de processamento. Isso é apenas a maneira que foi.

tipos de imagem são apenas um lado da moeda EC2. Você também tem que considerar tipos de instância - os tipos de máquinas virtuais que podem ser executados no AWS.

Instâncias variam de acordo com a quantidade de três tipos de recursos de computação:

  • Poder de processamento: Cada exemplo, tem um certo número de EC2 unidade de computaçãos (ECU), que é uma quantidade aferido de poder de processamento (o equivalente à capacidade da CPU de um 2007 Opteron 1,0-1,2 GHz ou 2007 processador Xeon). Por exemplo, o pequeno exemplo no AWS tem uma unidade EC2 computação, ou 1 ECU.

  • Memória: Cada exemplo contém uma determinada quantidade de memória, medido em gigabytes. Um pequeno exemplo, tem 1.7GB de memória.

  • Armazenamento: Cada exemplo, tem uma certa quantidade de armazenamento em disco. Um pequeno exemplo, tem 170GB de armazenamento em disco.

    Dependendo do tipo de exemplo, alguns do armazenamento em disco associado com um exemplo pode ser fornecida na forma não formatado - antes que ele possa ser utilizado, ele deve ser formatado com um sistema de ficheiros que é utilizável pelo sistema operacional do exemplo.

  • conectividade de rede: Cada instância é fornecido com uma placa de rede virtual (NIC), que ele usa para se comunicar com outros dispositivos ou serviços. Cada instância é dada dois endereços IP: um endereço privado que é usado unicamente dentro AWS e um endereço público que é usado para acesso à Internet para a instância.

    Nem todos os tipos de instância só têm uma NIC. Instâncias dentro da AWS Virtual Private Cloud (VPC) pode ter mais de uma NIC.

Obviamente, por um lado, este é um dilema positivo porque você pode encontrar uma família que está bem afinado para Profile- uso do aplicativo, por outro lado (e não há sempre um outro lado), você tem que usar a devida diligência para decidir qual instância familiar é mais adequado para a sua aplicação (que exige a compreensão das características operacionais da sua aplicação em detalhe).

Na documentação do EC2, Amazon descreve as ofertas de instâncias de EC2 (de alta CPU, por exemplo) como famílias, e os diferentes tamanhos de casos (M1, em que M significa médio, por exemplo), a partir tipos.

Na experiência, quase todos os outros (incluindo funcionários da AWS) refere-se a um família a partir da documentação da AWS como um digitar ( "Isso é um tipo de instância de alta CPU", por exemplo) e digitar a partir da documentação AWS como tamanho ( "Esse é um grande exemplo Tamanho M1", por exemplo). Esta discussão utiliza a abordagem mais comum porque é a maneira que você ouvi-lo discutido por quase todos, mas também porque é mais lógico.

Com isso, saltar para uma descrição dos tipos de instância:

  • micro: Muito, muito pequena fornece uma quantidade limitada de tanto CPU e memória, embora tipos de instância Micro pode estourar a 2 ECU por curtos períodos. Use este tipo para aplicações de menor rendimento e sites de baixo tráfego. O tipo Micro também está disponível como parte do AWS nível de uso gratuito, o que é útil para a aprendizagem e experimentação.

  • Padrão: O tipo "médio" e de longe o mais amplamente utilizado- oferece um equilíbrio de CU, memória e disco que é adequado para aplicações comuns.

  • Alta CPU: Vai para UCs mais altos ao invés de memória e é bem adequado para aplicações de processamento de-pesado. Um aplicativo de trituração de número é o caso de uso canônico para casos de alta CPU.

  • Alta de memória: Solavancos até a memória em vez de CPU. Este tipo é adequado para aplicações de banco de dados, aplicações analíticas e aplicativos que dependem de cache de memória. Se você executar um produto cache nível como memcached, este tipo de instância é uma boa escolha.

  • Alta I / O: Fornece de alto rendimento (entrada + saída - I / O, em outras palavras) e é bem adequado para aplicações que se movem uma grande quantidade de dados. É uma boa escolha para executar o seu próprio serviço de armazenamento de valores-chave, como Cassandra ou MongoDB, ao invés de usar o serviço DynamoDB da AWS. instâncias alta-I / O têm ligações de rendimento elevado (10 Gbps) e use unidades de estado sólido para proporcionar um desempenho de alta disco.

  • Compute Cluster: Fornece um grande número de ECU junto com redes de alto desempenho (10 Gbps). Este tipo de instância, que é bem adequado para tarefas de computação de alto desempenho (aplicações muito grandes para o número especializada trituração, como análise sísmica campo de petróleo), executado em hardware especializado, com AMIs personalizados que usam um tipo diferente, mais eficiente da virtualização bem máquinas como ligado intimamente para melhor desempenho da rede.

  • GPU Cluster: Análogas ao cluster instâncias de computação, mas utiliza unidades de processamento gráfico (acho que do processador no interior da placa de vídeo no seu PC, se você é um gamer), que são mais adequadas para determinados tipos de aplicações, incluindo certas variantes de computação de alto desempenho ( HPC) de análise de rede. instâncias de GPU de cluster funcionam de forma semelhante ao cluster instâncias de computação, embora com diferentes chips de CPU nos servidores dessas instâncias executado.

menu