Tutorial Mão na Massa sobre Auto Scaling

Documentos relacionados
Rede VPN UFBA Procedimento para configuração

Manual de instalação do Microsoft SQL Server 2008 R2 Express no Windows 10

TUTORIAL WINDOWS 7. Curso Técnico em Informática. Aluno: Ricardo B. Magalhães Período: Noturno Profª: Patrícia Pagliuca

Criar e formatar relatórios

Criando um Site. Por: João Paulo Almeida

Passos para a instalação

OI CLOUD SEJA BEM-VINDO!

FORMATAÇÃO E INSTALAÇÃO DO SISTEMA OPERACIONAL WINDOWS SEVEN ORIGINAL

Boletins Informativos

Título da Apresentação

Usando o e a Internet

Programação para Web HTML - Parte 2

Instalando o Microsoft Office Versão 2.1

Curso de extensão em Blender Prof. Luiz Gonzaga Damasceno

Índice. Manual De instalação ProjectNet Manager

Registro de Retenções Tributárias e Pagamentos

Sobre o Visual C

MicroWork TOUCH CHECKLIST

Conhecendo o Delphi 2010

TUTORIAL PROCESSOS DE INSTALAÇÃO DO MYMIX MOBILE

UNIVERSIDADE DE SÃO PAULO (USP) ESCOLA DE ARTES, CIÊNCIAS E HUMANIDADES (EACH)

Tutorial do aluno Ambiente Virtual de Aprendizagem (AVA) Rede e-tec Brasil

Linux Caixa Mágica. Documentos Técnicos CM. Manual de Configuração de Ligação à Internet por placas 3G 00904/

Configurar Thin Client X1 e X1W

Manual do Usúario Vivo Sync. Manual do Usuário. Versão Copyright Vivo

Tutorial Mão na Massa sobre o Amazon Virtual Private Cloud

TUTORIAL PARA O GESTOR MUNICIPAL

Sistema NetConta I - Guia de Referência Rápida

1.0 Informações de hardware

*Este tutorial foi feito para o Windows 7, mas pode ser usado em qualquer outro Windows, basta seguir o mesmo raciocínio.

NOVA VERSÃO SAFE DOC MANUAL

CRIANDO UM MODELO ESTRUTURAL EM REVIT STRUCTURE

Como configurar o Microsoft Office 2013

MANUAL DE INSTALAÇÃO DO MILLENNIUM BASIC

Graphing Basic no Excel 2007

,QVWDODomR. Dê um duplo clique para abrir o Meu Computador. Dê um duplo clique para abrir o Painel de Controle. Para Adicionar ou Remover programas

Software livre também faz: Associando imagens com informações geográficas: Geoetiquetação com o plugin Geotag and Import Photos.

T.I. para o DealerSuite: Servidores Versão: 1.1

Neste manual você terá o exemplo de acesso 3G pelo programa ASEE, existem 02 tipos, o segundo é o MEYE. No cd existe o manual do MEYE.

Notas de aplicativos: Serviço de Nuvem OneTouch AT

ÁREA DO PROFESSOR (TUTOR)

CURSO BÁSICO DE CRIAÇÃO DE SITES MÓDULO 2 AULA 6

Network Camera. Guia do SNC easy IP setup Versão de software 1.0 Antes de operar o aparelho, leia todo este manual e guarde-o para referência futura.

Caso tenha alguma dificuldade nesta etapa, procure um técnico de informática para auxiliá-lo.

Guia do Administrador de Licenças de Usuários Autorizados do IBM SPSS Modeler IBM

Especificar. Simplificando o extraordinário. Como jogar

Configuração para Uso do Tablet no GigaChef e Outros Dispositivos

Transferindo licenças

Backup e Recuperação Guia do Usuário

Para usar com Impressoras multifuncionais (MFPs) ativadas para a Tecnologia Xerox ConnectKey

Módulo de Aprendizagem I

Minicurso Computação em Nuvem Prática: AWS

Trabalhando com Mala Direta e Etiquetas de Endereçamento no BrOffice/LibreOffice

Manual Instalação Web Services Client Web.NewHotel

APOSTILA DE INFORMÁTICA INTERNET E

Instalando sua Multifuncional na sua rede pela primeira vez

Instalando sua Multifuncional na sua rede pela primeira vez

Disciplina: Unidade III: Prof.: Período:

Cadeira de Tecnologias de Informação. Ano lectivo 2009/2010. Sites dinâmicos. Com Expression Web TI2009/10 EWD_1. Filipa Pires da Silva (2009)

COMO CRIAR UM PEDIDO DE COMPRAS

Portal de Sistemas Integrados. Manual do Usuário. Versão: 1.0

4.0 SP2 ( ) maio P Xerox FreeFlow Core Guia de Instalação: Windows 7 SP1

Tutorial Suporte Técnico da DTI

Conhecendo Seu Telefone

Treinamento de e-commerce

Sumário. CEAD - FACEL Manual do Aluno, 02

Programação WEB. Prof. André Gustavo Duarte de Almeida www3.ifrn.edu.br/~andrealmeida. Aula II jquery UI

Manual Webmail GUIA GERAL UNIVERSIDADE TECNOLÓGIA FEDERAL DO PARANÁ DIRETORIA DE GESTÃO DE TECNOLOGIA DA INFORMAÇÃO - DIRGTI 2015

InterCall Online Administrador de chamadas de Reservationless-Plus

Manual de Utilização e-rh para Servidor em Geral

COMO VENDER MAIS USANDO FUNIL DE VENDAS. Capítulo III: Etapas do Funil de Vendas

2.1 Dê duplo clique com o botão esquerdo do mouse sobre o instalador.

Manual SAGe Versão 1.2

Cheque Recebimentos com múltiplos cheques

TCI Sistemas Integrados

Manual do KLinkStatus. Paulo Moura Guedes Tradução: Marcus Gama

Colocar em prática. Colocar em prática. Tópicos para aprender

Manual Mobuss Construção - Móvel

Sistema De Gerenciamento Web UFFS

e-volution Tutorial de utilização Sistema Einstein Integrado de Bibliotecas / SEIB 2016

ESCOLA SECUNDÁRIA DE SÁ DA BANDEIRA SANTARÉM

SOFTWARE VIAWEB. Como instalar o Software VIAWEB

Quick Installation Guide. Central Management Software

Formas de Pagamento Resumida Vendas Vendedor Vendas Vendedor Resumido Vendas Vendedor Caixa Vendas por Artigos...

MANUAL DE INSTALAÇÃO SAT DIMEP PDV CAKE

Manual SOFIA (Software Inteligente ARPEN-SP) versão 0.1

TUTORIAL DO INSTITUCIONAL

1 Visão Geral. 2 Instalação e Primeira Utilização. Manual de Instalação do Gold Pedido

JAVA. Professor: Bruno Toledo

Fabrício Vasconcellos Turma 2 Prof. Nataniel Vieira NOD 32 ANTIVÍRUS 6

Passo 1 Ligue Câmeras DIN para o Sistema * Conecte câmeras para extensão cabos alinhando as setas.

Laboratório de Redes de Computadores INSTALANDO SERVIDOR APACHE NOS CENTOS 6.5

MANUAL DO INSTALADOR XD EM AMBIENTES MICROSOFT WINDOWS

TI 06 Técnicas de Informática - P2 2012/S1 Laboratório Informática Word e PowerPoint

Tutorial Mão na Massa sobre Servidores Cloud EC2 e discos EBS

Solicitação de Autorização Intercâmbio

Índice. tabela das versões do documento. GPOP - Gerenciador POP _ /01/2016 1/14. título: GPOP. assunto: Manual de utilização

Parametrização do Banco de Dados PROGRESS Base de Dados Origem

Minicurso Computação em Nuvem Prática: AWS

Transcrição:

Tutorial Mão na Massa sobre Auto Scaling Auto Scaling representa mais do que uma forma de adicionar e remover servidores. É também um mecanismo de monitorar falhas de uma maneira similar à forma como os Load Balancers monitoram servidores que não respondem. Este tutorial irá guiar o usuário sobre como configurar um Auto Scaling para se lançar automaticamente, monitorar, e atualizar um ELB associado com suas instancias EC2. Importante! Tenha certeza que você apagou o Auto Scaling no final do dia ou dos tutoriais. Como você verá neste tutorial, o serviço faz exatamente o que você manda ele fazer, e se você simplesmente terminar os servidores, ele será notificado e irá iniciá-los novamente. 30 dias depois você irá se perguntar porque recebeu uma cobrança da AWS. Instruções de como finalizar todos esses serviços da forma correta você encontra no final deste tutorial. Principios do Auto Scaling Primeiro, o Autoscaling é um modo de medir a temperatura da Nuvem. Você usa regras para definir o termostato, e por baixo dos panos o Autoscaling adiciona ou subtrai recursos EC2 à medida que for necessário, afim de manter a temperatura (capacidade). Segundo, o Autoscaling assume um conjunto homogeneo de servidores. De fato, esse é o principio básico do Cloud Computing: escalar horizontalmente usando uma gama de recursos fungíveis e homogêneos. Os 4 Componentes Chave do Auto Scaling Quando você inicia um servidor manualmente, você passa parâmetros como com qual AMI ele irá iniciar, qual o tamanho da instancia, qual o security group, etc. O Autoscaling chama isso de Launch Configuration. É um conjunto simples de parametros. Auto Scaling Groups diz para o sistema o que fazer com a AMI uma vez que ela inicie. Aqui é onde você define qual AZ ela deverá iniciar, qual load balancer usar, e o mais importante que é onde você define o número minimo e máximo de servidores que irão rodar. Você precisa de regras que dizem para o sistema quando adicionar ou subtrair servidores. Nós conhecemos essas regras como Scaling Triggers. Um exemplo de regra seria: se a média de CPU dos servidores no autoscaling group ultrapassar 65% por 10 minutos, aumente o grupo em mais um servidor e se a média de CPU dos servidores no autoscaling group ficar abaixo de 40% por 10 minutos, diminua 1 servidor. Quando uma trigger é disparada, isso inicia o que chamamos de Scaling Event. O que é nada mais do que o ato de escalar pra cima ou para baixo. Tempo é dinheiro

Você pode economizar muito dinheiro usando o Auto Scaling. Existem dois conceitos muito importantes que afetam diretamente os custos da AWS e, dessa forma, a maneiraa como sua aplicação irá escalar: O Custo Mínimo para o EC2 é de uma hora Não importa se a instancia EC2 roda por 60 segundos ou por 60 minutos: a AWS irá cobrar com uma hora cheira. Dessa forma é muito importante evitar situações de ciclos curtos, como por exemplo, onde um servidor é adicionado ao grupo por 10 minutos, retirado logo depois e alguns minutos após outro é adicionado. Escalar leva tempo Considere o grafico abaixo. Na maioria das situações existe um tempo considerável entre quando há a necessidade do escalonamento e quando ele acontece. Neste exemplo a regra define uma condição particular de no mínimo 2 minutos. CloudWatch é um conjunto de coleções de dados que monitora as estatisticas como por exemplo a utilização de CPU. É um conjunto de protocolos, e em geral leva cerca de 60 segundos para agregar todas as informações. Autoscaling também leva outros 60 segundos. Então temos o tempo de boot do servidor. Um servidor grande e complexo pode levar alguns minutos para iniciar. Finalmente, o load balancer precisa monitorar esse servidor por algum tempo antes que ele se sinta confortável e seguro para direcionar os requests para a nova instancia. Instalando as ferramentas de linha de comando da API Auto Scaling Se você ainda não instalou as ferramentas de linha de comando da API de Auto Scaling, por favor siga as instruções do guia Auto Scaling Getting Started para uma instalação manual. Você também pode usar o Bitnami Cloud Tools, se desejar. O Bitnami Cloud Tools é um instalador rápido para Windows, Mac e Linux e faz a instalação e configuração de todas as ferramentas de linha de comando da AWS com um único pacote de instalação. O Bitnami Cloud Tools pertence à Bitnami e não é suportado diretamente pela AWS.

Criando uma AMI para Auto Scaling O Auto Scaling irá lançar e remover instancias automaticamente para você, mas irá precisar de uma Amazon Machine Image para funcionar como ponto de partida para lançar novas instancias. Selecione um dos dois Web Servers que você criou anteriormente (em um tutorial anterior) e crie uma nova AMI a partir dele (clique com o botão direito e selecione Create Image (EBS AMI). Você também pode usar outra imagem já existente se desejar). Nos exemplos a seguir, usaremos uma AMI chamada Lab Web Server AMI. Pegando o ID Uma maneira de pegar o ID do seu Lab Web Server AMI é usando o AWS Management Console (EC2 tab -> AMIs):

Como estamos usando a linha de comando neste tutorial, você pode usar também o ec2- describe-images -o self: C:\ec2>ec2-describe-images -o self IMAGE ami-c2d15df2 155611014604/Lab Web Server AMI 155611014604 pending private x86_64 machine aki-fc37bacc ebs paravirtual xen Perceba que neste exemplo o nosso AMI ID é ami-c2d15df2. Neste tutorial nós iremos usar <ami-id> para indicar onde você deve substituir o seu AMI ID para que esses comandos funcionem para você. Criando uma Launch Configuration Para criar uma Launch Configuration para o seu Auto Scaling, substitua o seu <ami-id> nos comandos abaixo (tudo em uma linha). Note que essas instruções assumem que você criou um security group chamado Lab Web Tier e um par de chaves chamado Lab nos tutoriais anteriores. C:\ec2>as-create-launch-config --image-id <ami-id> --instance-type t1.micro - -key Lab --group "Lab Web Tier" --launch-config aws201-config OK-Created launch config Os parametros para este comando são os seguintes: Image-id O nome do AMI do seu Lab Web Server AMI Instance Type O hardware virtual que queremos usar. Estamos usando o t1.micro aqui. Key O par de chaves que você deseja usar. Não coloque o.pem no nome.

Group O security group neste caso Lab Web Tier Launch-config O nome desta configuração. Nós usamos aws201-config Criando um Auto Scaling Group Nós iremos inicialmente lançar nossas instancias de Auto Scaling na mesma AZ que usamos anteriormente. Localize a AZ que o seu Lab Web Servers esta rodando e substitua <your-az> no comando abaixo (tudo em uma linha): C:\ec2>as-create-auto-scaling-group aws201-as-group --availability-zones <your-az> --launch-configuration aws201-config --load-balancers LabELB --max-size 5 --min-size 1 -region us-east-1 OK-Created AutoScalingGroup Os parametros são os seguintes: AutoScalingGroupName = aws201-as-group AvailabilityZones = <your-az> LaunchConfigurationName = aws201-config LoadBalancerNames = LabELB MaxSize = 5 MinSize = 1 Verifique se os servidores foram iniciados Use o console AWS para verificar usas instancias. Você deverá ver outra instancia EC2 no seu grupo porque você definiu o tamanho minimo para 1 (você deve esperar alguns minutos). Conecte a ela usando um navegado para verificar que esta rodando corretamente:

Verifique como o Auto Scaling trabalha Tente terminar o servidor. Em alguns minutos ele reaparecerá, porque o Auto Scaling foi informado que o grupo ficou abaixo do tamanho minimo (Este é o motivo de você ter que deletar o autoscaling group através do as-delete-auto-scaling-group no final do dia). Tente fazer a mesma coisa, desta vez desligando a instancia (em vez de termina-lo) entrando na nova instancia e executando um comando de shutdown (sudo shutdown -h now) ou clicando com o botão direito na instancia e selecionando Stop através do painel de genrenciamento AWS. Perceba que o Auto Scaling irá detectar que esta instancia não esta respondendo, irá teminá-la automaticamente e da mesma forma irá lançar uma instancia para repor a falha para você. Tagueando Recursos de Auto Scaling

Note que as instancias de Auto Scaling são iniciadas sem nomes. Existem dois modos que lhe ajudam a identificar essas instancias. O primeiro é adicionar uma nova coluna no painel de gerenciamento. Clique no botão Show/Hide, então selecione a opção aws:autoscaling:groupname abaixo de Your Tag Keys. O Auto Scaling criará e colocará os dados automaticamente em uma tag chamada aws:autoscaling:groupname para a sua instancia Auto Scaling. O segundo modo de identificar melhor suas instancias de Auto Scaling é modificando o seu Auto Scaling group para preencher a tag Name para você. Nós poderiamos ter criado uma tag Name para o Auto Scaling group durante a criação, apenas usando a opção tag k=name, v=as Web Server. Uma vez que o nosso Auto Scaling group já existe, vamos modificar as tags existentes com o seguinte comando: C:\ec2>as-create-or-update-tags --tag "id=aws201-as-group, t=auto-scalinggroup, k=name, v=as-web-server, p=true" OK-Created/Updated tags Integração do Auto Scaling com ELB Se você der uma olhada no seu ELB, perceberá que a instancia Auto Scaling só serão adicionados ao seu ELB da mesma forma manual que configurou os web servers. Isso é feito com a opção load-balancers LabELB quando estiver criando o Auto Scaling Group. Verifique se o seu ELB esta distribuindo trafego através das suas 3 instancias, então termine as 2 que foram configuradas manualmente pois elas não serão mais necessárias. Finalmente, modifique o ELB para remover as instancias criadas manualmente.

Notificações do Auto Scaling Todas essas atividades do Auto Scaling ocorrem de forma transparente. Não seria interessante que o Auto Scaling lhe avisasse quando cria ou termina instancias para você? O Auto Scaling esta integrado com o Amazon Simple Notification Service (SNS) justamente por esse propósito. O SNS é um web service que torna fácil configurar, operar, e enviar notificações da nuvem. Ele permite que os desenvolvedores tenham um serviço altamente escalável, flexivel, e de baixo custo para enviar mensagens de uma aplicação e entregar imediatamente para os destinatários ou outras aplicações. Criando um Topico SNS A primeira coisa que precisamso fazer é criar um topico SNS que nós iremos usar para enviar as notificações SNS. No painel de controle AWS, clique na aba SNS, e clique no botão Create New Topic.

Insira o nome do tópico, neste exemplo nós usamos aws201-as-topic, e clique Create Topic.

Clique no botão Create Subscription, selecione a opção Email no campo Protocol, no Endpoint você digita o endereço de email que deseja receber as notificações e clique em Subscribe. Verifique o seu endereço de email e clique no link apropriado para verificar o seu email para este tópico. Agora que o SNS esta configurado, nso precisamos do Amazon Resource Number (ARN) para esse tópico SNS para usar com o Auto Scaling. Selecione o topico SNS, localize o Topic ARN, e copie o ARN para usarmos no próximo passo.

Criando as notificaçoes do Auto Scaling Você pode usar o as-describe-auto-scaling-notification-types para definir quais os tipos de notificações o Auto Scaling irá suportar. C:\ec2>as-describe-auto-scaling-notification-types NOTIFICATION-TYPE autoscaling:ec2_instance_launch NOTIFICATION-TYPE autoscaling:ec2_instance_launch_error NOTIFICATION-TYPE autoscaling:ec2_instance_terminate NOTIFICATION-TYPE autoscaling:ec2_instance_terminate_error NOTIFICATION-TYPE autoscaling:test_notification Nós iremos usar o comando as-put-notifications-configuration para criar notificações para quando instancias forem criadas ou terminadas pelo nosso Auto Scaling group. C:\ec2>as-put-notification-configuration aws201-as-group --topic-arn <arnfrom-sns-topic> --notification-types autoscaling:ec2_instance_launch, autoscaling:ec2_instance_terminate OK-Put Notification Configuration Você deverá receber uma mensagem de notificação de teste do Auto Scaling para confirmar essa configuração. Criando Políticas de Auto Scaling Atualmente você possui um Auto Scaling group que irá verificar se você possui ao menos um servidor rodando. Você pode modificar o numero de servidores ativos manualmente, manipulando o numero minimo de servidores com o comando as-update-auto-scaling-group aws201-as-group min-size #. Mas agora nós iremos dar um passo além. Ao invés de escalar manualmente, nós iremos configurar o Auto Scaling group para escalar automaticamente toda vez que o nosso processo de CPU do grupo de servidores ficar em >= 50%. Nós iremos usar o comando as-put-scaling-policy para criar duas politicas de escalonamento que irão acrescentar 1 servidor em eventos que escalem para cima e retirar 1 servidor em eventos que escalem para baixo (e esperar 300 segundos de resfriamento antes de iniciar eventos de escalonamento para baixo/cima). Politica de Scale Up C:\ec2> as-put-scaling-policy Aws201ScaleUpPolicy --auto-scaling-group aws201-as-group --adjustment=1 --type ChangeInCapacity --cooldown 300

arn:aws:autoscaling:us-west-2:155611014604:scalingpolicy:55739d6c-0748-4a6e- 9c57-ff371e555201:autoScalingGroupName/aws201-asgroup:policyName/Aws201ScaleUpPolicy Política de Scale Down (note que o nome da politica muda, assim como o valor da opção adjustment=-1 está entre aspas, e define um -1 para diminuir o número de instancias em 1) C:\ec2>as-put-scaling-policy Aws201ScaleDownPolicy --auto-scaling-group aws201-as-group "--adjustment=-1" --type ChangeInCapacity --cooldown 300 arn:aws:autoscaling:us-west-2:155611014604:scalingpolicy:429421bc-91d2-4adf- 8f8d-65c4f96b80d5:autoScalingGroupName/aws201-asgroup:policyName/Aws201ScaleDownPolicy Criando um alerta de CloudWatch High CPU Agora que temos as politicas apropriadas de Auto Scaling, nós temos que criar os gatilhos apropriados no CloudWatch para iniciar essas políticas. Nessa seção nós iremos criar um alarme no CloudWatch para monitorar o aumento da CPU no conjunto de Auto Scaling e disparar a trigger Aws201ScaleUpPolicy. No painel de controle AWS, vá até a aba CloudWatch, e clique no botão Create Alarm.

Faça uma busca por AutoScaling, selecione a estatistica aws201-as-group CPUUtilization, mude a opção Period para 1 Minute, e clique Continue.

De um Name e uma Description a este alarme de CPU. Então configure o alarme para a CPUUtilization para ser >= 50 por 3 minutos, e clique Continue.

Configure o Take action para Auto Scaling Policy, o Auto Scaling Group para aws201-as-group, Policy para Aws201ScaleUpPolicy, clique no botão ADD ACTION, e clique em Continue. Revise suas configurações e clique no botão Create Alarm. Criando um alerta para CloudWatch Low CPU Agora teremos que repetir os passos anteriores, mas configuraremos o alerta para ser <=30% e a trigger para Aws201ScaleDownPolicy. Os screenshots abaixo contem apenas o que é diferente dos passos anteriores. Na aba CloudWatch, clique no link Alarms, e clique no botão Create Alarms. Não se esqueça de selecionar a estatistica aws201-as-group CPUUtilization e mude o periodo para 1 minute. Isso é importante para definirmos o gatilho numa granulalidade de 3 minutos ao invés de 5 minutos. De um Name e uma Description para este alarme. Então configure o alarme para o CPUUtilization para ser < 30 por 3 minutos, e clique em Continue.

Configure o Take action para Auto Scaling Policy, Auto Scaling Group para aws201-as-group, Policy para Aws201ScaleDownPolicy, clique no botão ADD ACTION, e clique em Continue. Nota: Nós recomendamos fortemente que você configure as suas politicas de Auto Scaling para escalar para cima rapidamente e escalar para baixo bem devagar. Isso irá permitir que a sua aplicação responda ao aumento de trafego após um evento de escalonamento para cima, da mesma forma que torna mais economico o uso de um ciclo de hora do AWS. Esse tutorial é intencionalmente simples e curto. De uma perspectiva financeira, custa o mesmo valor se uma instancia descer após 3 minutos ou se ela ficar rodando por 59 minutos. Testando o Auto Scaling Agora todos os pedaços estão no lugar para demonstrarmos o auto scaling em uma aplicação em uso. Em resumo, nós criamos um Auto Scaling group com no mínimo uma instancia e no máximo 5. Nós criamos politicas de Auto Scaling para acrescentar e retirar uma instancia do grupo e um alarme de CloudWatch para disparar essas politicas quando a média de CPU do conjunto for >= 50% e < 30% respectivamente. Atualmente 1 instancia esta rodando porque o tamanho minimo do conjunto é 1 e não esta sob nenhum load. Então note que os alarmes atuais do CloudWatch estão em dois diferentes estados: Isso é porque a CPU Utilization do grupo é < 30%. Contudo o Auto Scaling não esta removendo nenhuma instancia porque o tamanho do grupo esta no minimo (1). Também se lembre que nós definimos o tempo de resfriamento (cool down) para nossas politicas de auto scaling para 5 minutos (300 segundos), isso é importante de lembrar pois irá influenciar em quão rapido você estará capaz de ver as atividades do auto scaling. Abra a URL do LabELB em uma janela do navegador. Quando você der um refresh em seu navegador, você deverá ver apenas um servidor. Clique no botão Generate Load e você irá ver o Load do CPU pular para 100% (talvez você precise dar um refresh no seu navegador para ver a mudança). Esse botão dispara uma trigger simples que faz um processo de copiar, comprimir, e descomprimir um arquivo de ~1GB vazio (/dev/zero) por 10-20 minutos em background.

Vamos voltar a aba CloudWatch e em 3-4 minutos você deverá ver os alarmes mudando, o de Low CPU para OK e o de High CPU para Alarm. Adicionalmente, você deverá receber um email de notificação do Auto Scaling informando que a ação de scale up foi disparada. Voltando novamente a aba EC2 -> Instances você verá a nova instancia sendo adicionada ao seu grupo: Volte a aba do seu navegador com o ELB e atualize a página algumas vezes para ver um servidor com o load pesado enquanto o outro não:

Finalmente, volte a aba CloudWatch, você poderá ver a utilização de CPU do seu conjunto. É bem provável que você dispare um outro evento de Auto Scaling para o scale up pois a média esta em 50% (uma instancia esta em ~100% e a outra em ~0%), e nós definimos o alarme para disparar a trigger em >= 50%. Depois de 15-20 minutos, seu conjunto de Auto Scaling deverá tem subido 2-3 instancias, e depois baixado 1 instancia. Perceba que as instancias são teminadas na mesma ordem em que são criadas, isso significa que a mais velha será terminada primeiro. Isso permite que você aplique novas mudanças na sua aplicação atualizando suas configurações de inicialização para uma nova AMI, e depois disparando os eventos de Auto Scaling (ex. Incrementando o min size). Nota: Você deve ter percebido que este não é um teste real porque basicamente simula um usuário batendo em um unico servidor e não tira vantagem do seu load balancer. Neste caso, o Auto Scaling irá ajudar outros clientes, mas não o load balance para trabalhar através de multiplos servidores. Nos usamos este exemplo pela simplicidade e para ser mais efetivo no nosso tutorial. Conclusão Observando as atividades do Auto Scaling A API de Auto Scaling prove um caminho programático para mostrar todas as atividades que tenham ocorrido. Vamos usar o comando as-describe-scaling-activities para demonstrar essa capacidade. C:\ec2>as-describe-scaling-activities

ACTIVITY 47a73b42-fa71-45f9-a5f6-4a2820977fcb 2012-04-03T11:45:48Z aws201- as-group Successful ACTIVITY 46a1c284-d019-4c1c-af6f-ae9a475d0de6 2012-04-03T11:38:57Z aws201- as-group Successful ACTIVITY 41ef6cf0-b6fb-481d-9864-79a6fd852fa2 2012-04-03T11:31:55Z aws201- as-group Successful ACTIVITY c88f4d0c-369d-4c25-83bf-1db993d43ba1 2012-04-03T11:25:49Z aws201- as-group Successful ACTIVITY e5c8d7e8-86db-4b44-a803-c4a5146ae175 2012-04-02T19:54:44Z aws201- as-group Successful Suspendendo/Retomando Processos de Auto Scaling O Auto Scaling também permite que você diga, intencionalmente, a um Auto Scaling group para suspender ou retomar um processo usando os comandos as-suspend-processes e as-resume processes. Isso pode ser útil quando você sabe o tempo de certas ativididades (ex. Manutenção) e que irão disparar alertas de auto scaling mas você não quer que instancias sejam adicionadas automaticamente ou removidas durante a execução deste evento. CLI Referencias Por favor, visite a documentação do Auto Scaling para informações adicionais sobre o Auto Scaling http://aws.amazon.com/documentation/autoscaling/ Também verifique o nosso cartão de referencias para a linha de comando sobre os seus comandos e opções http://awsdocs.s3.amazonaws.com/autoscaling/latest/as-qrc.pdf Encerrando os serviços pagos Nota: Futuros tutoriais da AWS irão precisar deste ambiente de auto scaling configurado e funcionando. Dessa forma, se você planeja continuar fazendo os nossos tutoriais, deixe este ambiente ativo. Descrevendo os Auto Scaling Groups C:\ec2>as-describe-auto-scaling-groups aws201-as-group AUTO-SCALING-GROUP aws201-as-group aws201-config us-west-2a LabELB 2 5 4 INSTANCE i-cc291cfc us-west-2a InService Healthy aws201-config INSTANCE i-921722a2 us-west-2a InService Healthy aws201-config TAG aws201-as-group auto-scaling-group Name AS-Web-Server true Apagando o Auto Scaling Group Usando a opção force-delete com o comando as-delete-auto-scaling-group irá terminar todas as instancias Auto Scaling assim como apagar também o Auto Scaling group.

C:\ec2>as-delete-auto-scaling-group aws201-as-group --force-delete Are you sure you want to delete this AutoScalingGroup? [Ny]y OK-Deleted AutoScalingGroup Apagando a configuração de Launch C:\ec2>as-describe-launch-configs LAUNCH-CONFIG aws201-config ami-948173fd t1.micro C:\ec2>as-delete-launch-config aws201-config Are you sure you want to delete this launch configuration? [Ny]y OK-Deleted launch configuration Confirme que todas as instancias EC2, todos os Elastic Load Balancers e quaisquer outros serviços estejam encerrados. Atenção: Reiteramos a importância de você desligar os recursos que você usou apenas para seguir esse tutorial. Não nos responsabilizamos por serviços não desligados. Tutorial desenvolvido por José Papo (AWS Tech Evangelist para a América Latina) e evangelistas/arquitetos AWS com revisão e editoração da imasters.