Baixe o app para aproveitar ainda mais
Prévia do material em texto
www.datascienceacademy.com.br Arquiteto de Soluções AWS Preparação Para a Certificação Guia Resumo Amazon EC2 Arquiteto de Soluções AWS Data Science Academy www.datascienceacademy.com.br 2 Guia de Resumo do Amazon EC2 Site do serviço: https://aws.amazon.com/pt/ec2/ Guia do Desenvolvedor: https://aws.amazon.com/pt/documentation/ec2/ Perguntas Frequentes: https://aws.amazon.com/pt/ec2/faqs/ Definição de Preço do EC2: https://aws.amazon.com/pt/ec2/pricing/ Resumo do Amazon EC2: • EC2 (Elastic Compute Cloud) é a oferta da AWS para computação em nuvem, basicamente um servidor privado virtual. Essas "instâncias" podem executar a maioria dos sistemas operacionais Linux, BSD e Windows. Internamente, eles usam a virtualização Xen. • O termo "EC2" às vezes é usado para se referir aos próprios servidores, mas tecnicamente se refere mais amplamente a toda uma coleção de serviços de suporte, como o balanceamento de carga (CLBs / ALBs), endereços IP (EIPs), imagens inicializáveis (AMIs), grupos de segurança e unidades de rede (EBS). • Os preços de EC2 e a gestão de custos são um tópico complicado. Pode variar de livre (na camada livre AWS) para alto custo, dependendo do seu uso. O preço é por tipo de instância, por hora e muda dependendo da região AWS. Há ainda diferença de preço se você está comprando suas instâncias On-Demand, no mercado Spot ou pré-compra (Instâncias Reservadas). • Desempenho da Rede: para alguns tipos de instâncias, a AWS usa termos gerais como Baixo, Médio e Alto para se referir ao desempenho da rede. Os usuários fizeram benchmarking para fornecer expectativas sobre o que esses termos podem significar. • A execução do EC2 é semelhante à execução de um conjunto de servidores físicos, desde que você não faça escala automática ou configuração de cluster. Se você apenas executa um conjunto de instâncias estáticas, a migração para outro VPS ou provedor de servidor dedicado não deve ser muito difícil. Arquiteto de Soluções AWS Data Science Academy www.datascienceacademy.com.br 3 • Alternativas ao EC2: as alternativas diretas são o Google Cloud, o Microsoft Azure, o Rackspace, o DigitalOcean, a oferta Lightsail do AWS e outros provedores de VPS, alguns dos quais oferecem APIs similares para configurar e remover instâncias. • Você deve usar o Amazon Linux? A AWS incentiva o uso de seu próprio Amazon Linux, que é desenvolvido a partir do Red Hat Enterprise Linux (RHEL) e do CentOS. É usado por muitos, mas outros são céticos. Tome esta decisão com cuidado. É verdade que o Amazon Linux é fortemente testado e melhor suportado no caso improvável de ter problemas mais profundos com sistema operacional e virtualização no EC2. Mas, em geral, muitas empresas não têm problemas ao usar uma distribuição padrão, não- Amazon Linux, como Ubuntu ou CentOS. Usar uma distribuição Linux padrão significa que você tem um ambiente exatamente replicável se você usar outro provedor de hospedagem em vez de (ou além de) AWS. Também é útil se você deseja testar implantações em máquinas de desenvolvedores locais com a mesma distribuição padrão do Linux (uma prática que está ficando mais comum com o Docker). A Amazon agora oferece suporte a uma imagem oficial do Amazon Docker da Amazon, com o objetivo de auxiliar o desenvolvimento local em um ambiente comparável, embora este seja novo o suficiente para que seja considerado experimental. • Escolha de regiões: quando você configurar pela primeira vez uma instância EC2, considere as regiões que deseja usar primeiro. Muitas pessoas na América do Norte só configuram automaticamente na região Us-east-1 (N. Virginia), que é o padrão, mas vale a pena considerar se isso será o melhor mais a frente. Você deve avaliar a disponibilidade do serviço (alguns serviços não estão disponíveis em todas as regiões), o custo (os custos da linha de base também variam de acordo com a região em até 10 a 30% (geralmente mais baixos nos EUA para fins de comparação)) e conformidade (vários países têm regulamentos diferentes em relação à privacidade de dados, por exemplo). • Tipos de instância: as instâncias EC2 vêm em vários tipos, correspondentes aos recursos da máquina virtual na arquitetura da CPU e velocidade, RAM, tamanhos e tipos de disco (SSD ou magnético) e largura de banda da rede. o Selecionar tipos de instância é complexo, pois existem muitos tipos. Além disso, há diferentes gerações, lançadas ao longo dos anos. o Use a lista na http://www.ec2instances.info para revisar custos e recursos. A própria lista de tipos de instâncias da Amazon é difícil de usar, e não lista as características e o preço em conjunto, o que torna duplamente difícil. o Os preços variam muito, então use o http://www.ec2instances.info para determinar o conjunto de máquinas que atendem às suas necessidades e encontrar o tipo mais barato na região em que você está trabalhando. Dependendo do tempo e da região, pode ser muito mais barato alugar uma instância com mais memória ou CPU do que o mínimo. Arquiteto de Soluções AWS Data Science Academy www.datascienceacademy.com.br 4 • Desligue suas instâncias quando elas não estiverem em uso. Para muitas situações, como testes ou implementação de recursos, você não precisará de suas instâncias em 24/7, e você não precisará pagar custos horários do EC2 quando elas estiverem suspensas. Dado que os custos são calculados com base no uso horário, este é um mecanismo simples para economia de custos. Isso pode ser conseguido usando https://aws.amazon.com/pt/premiumsupport/knowledge-center/start-stop-lambda- cloudwatch, ou um provedor SaaS como o https://www.gorillastack.com. (Nota: se você desligar as instâncias que tenham um volume raiz efêmero, qualquer estado será perdido quando a instância for desligada). • Instâncias dedicadas e hosts dedicados são atribuídos hardware físico, em vez de instâncias virtuais usuais. Eles são mais caros que as instâncias virtuais, mas podem ser preferíveis para desempenho, conformidade, modelagem financeira ou motivos de licenciamento. • 32 bits vs 64 bits: algumas instâncias micro, pequenas e médias ainda estão disponíveis para usar como arquitetura de 32 bits. Você usará as instâncias EC2 de 64 bits ("amd64") preferencialmente, embora instâncias menores ainda suportem 32 bits ("i386"). Use 64 bits, a menos que você tenha restrições legadas ou outros bons motivos para usar 32. • HVM vs PV: existem dois tipos de tecnologia de virtualização usadas pela EC2, máquina virtual de hardware (HVM) e paravirtual (PV). Historicamente, o PV era o tipo usual, mas agora a HVM está se tornando o padrão. Se você quiser usar os tipos de instância mais recentes, você deve usar HVM. Consulte a matriz do tipo de instância para obter detalhes: https://aws.amazon.com/pt/amazon-linux-ami/instance-type-matrix. • Sistema operacional: para usar o EC2, você precisará escolher um sistema operacional básico. Pode ser o Windows ou o Linux, como o Ubuntu ou o Amazon Linux. Você faz isso com AMIs. • Limites: você não pode criar números arbitrários de instâncias. Os limites padrões nos números de instâncias EC2 por conta, variam de acordo com o tipo de instância, sendo necessário solicitar à Amazon o aumento do limite. • Use a proteção de terminação: para todas as instâncias importantes e de longa vida (que em particular, não fazem parte do Auto-Scaling), habilite a proteção de término. Esta é uma importante linha de defesa contra erros de usuários,mesmo administradores. Arquiteto de Soluções AWS Data Science Academy www.datascienceacademy.com.br 5 • Gerenciamento de chaves SSH: o Quando você inicia uma instância, você precisa ter pelo menos um par de chaves ssh configurado, para inicializar, ou seja, permitir-lhe ssh na primeira vez. o Além do bootstrapping, você deve gerenciar as chaves você mesmo nas instâncias, atribuindo chaves individuais a usuários ou serviços individuais, conforme apropriado. o Evite reutilizar as teclas de inicialização originais, exceto pelos administradores, ao criar novas instâncias. o Evite compartilhar chaves e adicione chaves individuais ssh para usuários individuais. • Suporte a GPU: você pode alugar instâncias habilitadas para GPU no EC2 para uso com Deep Learning ou cargas de trabalho de renderização de gráficos. Existem três gerações de instâncias habilitadas para GPU: o A série P2 de terceira geração oferece GPUs NVIDIA K80 em configurações de 1, 8 e 16 GPUs visando o aprendizado da máquina e as cargas de trabalho científicas. o A série G2 de segunda geração oferece GPUs NVIDIA K520 em configurações de 1 ou 4 GPU visando gráficos e codificação de vídeo. o E a série P3, com as novas placas Nvidia Tesla P100. Essa categoria foi lançada em Outubro/2017. o A AWS oferece um AMI (baseado no Amazon Linux) com a maioria dos drivers NVIDIA e software auxiliar (CUDA, CUBLAS, CuDNN, TensorFlow) instalados para reduzir a barreira ao uso. Note, no entanto, que isso leva ao lock-in devido ao Amazon Linux e ao fato de você não ter acesso direto à configuração ou versão de software. o Como estes tipos de instância EC2 são caros, as instâncias Spot podem oferecer economias significativas com as cargas de trabalho da GPU quando as interrupções são toleráveis. • Todos os tipos de instâncias EC2 atuais podem aproveitar o endereçamento IPv6, desde que sejam lançadas em uma sub-rede com uma faixa CIDR atribuída em um VPC habilitado para IPv6. Arquiteto de Soluções AWS Data Science Academy www.datascienceacademy.com.br 6 Limites e Problemas do EC2: • Nunca use senhas ssh. Apenas não faça isso; elas são muito inseguras e as consequências de segurança são muito severas. Use as chaves em vez disso. Desabilite totalmente o acesso à senha ssh para o seu servidor ssh, certificando-se de que 'PasswordAuthentication no' está em seu arquivo /etc/ssh/sshd_config. Aqui tem um bom tutorial sobre isso: https://www.digitalocean.com/community/tutorials/how-to- set-up-ssh-keys--2. • Para todos os tipos de instâncias mais recentes, ao selecionar o AMI, certifique-se de selecionar o HVM AMI, ou simplesmente não funcionará. • Ao criar uma instância e usar um novo par de chaves ssh, verifique se as permissões da chave ssh estão corretas. • Às vezes, certas instâncias EC2 podem ser agendadas para aposentadoria pela AWS devido a "degradação detectada do hardware", caso em que você recebe algumas semanas para migrar para uma nova instância. o Se o seu dispositivo raiz da instância for um volume EBS, geralmente você pode parar e, em seguida, iniciar a instância que o move para o hardware do host saudável, dando-lhe controle sobre o tempo deste evento. Note, no entanto, que você perderá todos os dados de volume store da instância (unidades efêmeras) se seu tipo de instância tiver volumes de armazenamento de instância. o O IP público da instância (se tiver um) provavelmente mudará a menos que você esteja usando IPs elásticos. Isso pode ser um problema se outros sistemas dependerem do endereço IP. • Periodicamente, você pode achar que seu servidor ou balanceador de carga está recebendo tráfego para (presumivelmente) um servidor EC2 anterior que estava sendo executado no mesmo endereço IP o qual você agora está usando (isso pode não importar, ou pode ser corrigido migrando para outra nova instância). • Se a própria API EC2 é uma dependência crítica da sua infraestrutura (por exemplo, para substituição automatizada do servidor, algoritmos de dimensionamento personalizados, etc.) e você está executando em grande escala ou fazendo muitas chamadas da API EC2, certifique-se de que você entende quando elas podem falhar (As chamadas são limitadas e os limites não são publicados e estão sujeitos a alterações) e codifique e teste contra essa possibilidade. • Muitos tipos de instâncias EC2 mais recentes são apenas para EBS. Certifique-se de ter em conta o desempenho e os custos do EBS quando planejar usá-los. Arquiteto de Soluções AWS Data Science Academy www.datascienceacademy.com.br 7 • As instâncias são apresentadas em dois tipos: instâncias de desempenho corrigidas (por exemplo, M3, C3 e R3) e instâncias de desempenho utilizáveis (por exemplo, T2). Uma instância T2 recebe créditos de CPU continuamente, cuja taxa depende do tamanho da instância. As instâncias T2 acumulam créditos da CPU quando estão ociosas e usam créditos de CPU quando estão ativas. No entanto, uma vez que uma instância fica sem créditos, você notará uma grave degradação no desempenho. Se você precisar de um alto desempenho da CPU para aplicações como codificação de vídeo, sites de alto volume ou aplicativos HPC, é recomendável usar instâncias de desempenho fixo. • Os dados do usuário da instância são limitados a 16 KB. (Este limite aplica-se aos dados em forma bruta, não no formulário baseado em base64). Se mais dados forem necessários, ele pode ser baixado de S3 por um script de dados do usuário. • Contas muito novas podem não ser capazes de iniciar alguns tipos de instâncias, como instâncias de GPU, devido a um "limite macio" inicialmente imposto de zero. Esse limite pode ser aumentado fazendo uma solicitação de suporte. Consulte os Limites de Serviço AWS para fazer a solicitação de suporte. Observe que este limite de zero não está atualmente documentado.
Compartilhar