Vídeo: Conhecendo a AWS - Amazon Web Service 2024
Alguns anos atrás, escolher qual instância usar para um aplicativo foi um caso direto. O Amazon Web Services (AWS) forneceu alguns tipos de instâncias que variaram de forma principalmente linear; isto é, se você queria mais poder de processamento, você selecionou um tipo de instância que continha mais ECUs, e veio fornecido com maiores quantidades de memória e armazenamento - um cakewalk.
É muito mais difícil agora decidir qual tipo de instância usar, porque a Amazon lançou (desculpe o trocadilho) várias famílias de instâncias projetadas para ajudá-lo a otimizar um certo tipo de funcionalidade.
Por exemplo, e se o seu aplicativo é intensivo em memória, como são algumas aplicações de análise? Você costumava usar uma instância da família de tipos de instâncias padrão, e você precisava usar instâncias com grandes quantidades de memória que carregavam grandes quantidades de ECUs, mesmo que seu aplicativo não exigisse muito poder de processamento. Era assim como era.
Os tipos de imagem são apenas um lado da moeda EC2. Você também deve considerar os tipos de instância - os tipos de máquinas virtuais que você pode executar no AWS.
As instâncias variam de acordo com a quantidade de três tipos de recursos de computação:
-
Potência de processamento: Cada instância possui um certo número de EC2 unidade de computação s (ECU), que é uma quantidade comparada de poder de processamento (equivalente à capacidade da CPU de um processador Opteron de 1. 0-1. 2 GHz 2007 Opteron ou 2007 Xeon). Por exemplo, a instância pequena no AWS possui 1 unidade de cálculo EC2 ou 1 ECU.
-
Memória: Cada instância contém uma quantidade de memória, medida em gigabytes. Uma pequena instância possui 1. 7 GB de memória.
-
Armazenamento: Cada instância possui uma certa quantidade de armazenamento em disco. Uma pequena instância possui 170 GB de armazenamento em disco.
Dependendo do tipo de instância, parte do armazenamento em disco associado a uma instância pode ser fornecido em forma não formatada - antes que ele possa ser usado, ele deve ser formatado com um sistema de arquivos que é utilizável pelo sistema operacional da instância.
-
Conectividade de rede: Cada instância é fornecida com uma placa de interface de rede virtual (NIC), que ela usa para se comunicar com outros dispositivos ou serviços. Cada instância tem dois endereços IP: um endereço privado que é usado exclusivamente no AWS e um endereço público usado para acesso à Internet para a instância.
Nem todos os tipos de instância recebem apenas uma NIC. As instâncias dentro da Nuvem Privada Virtual (VPC) da AWS podem ter mais de uma NIC.
Obviamente, por um lado, este é um dilema positivo porque você pode encontrar uma família bem ajustada para o perfil de uso da sua aplicação; por outro lado (e sempre por outro lado), você deve usar a devida diligência para decidir qual família de instâncias é mais adequada à sua aplicação (o que requer a compreensão detalhada das características operacionais da sua aplicação).
Na documentação EC2, a Amazon descreve as ofertas de instâncias EC2 (CPU alta, por exemplo) como famílias, e os diferentes tamanhos de instâncias (M1, onde M significa meio, por exemplo), como tipos.
Na experiência, quase todos os outros (incluindo funcionários da AWS) se referem a uma família da documentação AWS como um tipo ("Essa é uma instância de tipo de CPU alta", por exemplo) e tipo da documentação do AWS como tamanho ("Essa é uma instância de tamanho grande M1", por exemplo). Esta discussão usa a abordagem mais comum porque é a maneira como você a ouve falar por quase todos, mas também porque é mais lógico.
Com isso, salte para uma descrição dos tipos de instância:
-
Micro: Muito, muito pequeno; fornece uma quantidade limitada de CPU e memória, embora os tipos de micro instância possam explodir para 2 ECUs por períodos curtos. Use este tipo para aplicações de baixo rendimento e sites de baixo tráfego. O tipo Micro também está disponível como parte do AWS Free Usage Tier, que é útil para aprender e experimentar.
-
Padrão: O tipo "médio" e, de longe, o mais utilizado; oferece um equilíbrio de CU, memória e disco que é adequado para aplicativos mainstream.
-
High CPU: Goes para CUs maiores em vez de memória e é adequado para aplicações de processamento intenso. Um aplicativo de cronometragem numérica é o caso de uso canônico para instâncias de alta CPU.
-
High Memory: Bumps up memory em vez de CPU. Esse tipo é adequado para aplicativos de banco de dados, aplicativos de análise e aplicativos que dependem de armazenamento em memória. Se você executar um produto de camada de cache como o memcached, esse tipo de instância é uma boa escolha.
-
Alta E / S: Fornece alto débito (entrada + saída - E / S, em outras palavras) e é adequado para aplicativos que movem muitos dados. É uma boa opção para executar seu próprio serviço de armazenamento de valor-chave, como Cassandra ou MongoDB, em vez de usar o serviço DynamoDB da AWS. As instâncias de E / S de alta capacidade possuem conexões de alto débito (10 Gbps) e usam unidades de estado sólido para fornecer alto desempenho no disco.
-
Cluster Compute: Fornece um grande número de ECUs juntamente com redes de alto desempenho (10 Gbps). Este tipo de instância, que é adequado para tarefas de computação de alto desempenho (aplicações muito amplas para o crunching de números especializados, como a análise sísmica de campo de petróleo), é executado em hardware especializado, com AMIs personalizadas que também utilizam um tipo de virtualização diferente e mais eficiente como máquinas conectadas de perto para melhorar o desempenho da rede.
-
Cluster GPU: Analogous to Cluster Compute instâncias, mas usa unidades de processamento gráfico (pense no processador dentro da placa gráfica em seu PC, se você é um jogador) que são mais adequados para certos tipos de aplicativos, incluindo certas variantes de análise de rede de computação de alto desempenho (HPC). As instâncias de GPU de cluster funcionam de forma semelhante às instâncias de Cluster Compute, embora com chips de CPU diferentes nos servidores em que essas instâncias são executadas.