You are on page 1of 37

Introduo ao Auto-Scaling

Hands-on:
Como utilizar o auto-scaling
passo-a-passo
Eduardo Horai
AWS Solutions Architect
ehorai@amazon.com

Amazon Cloud Sessions - Dezembro


07/12 @ 2PM
Viso Geral dos servios da Nuvem da AWS e como es6mar
sua conta | Parte 1

18/12 @ 3PM
Viso Geral dos servios da Nuvem da AWS e como es6mar
sua conta | Parte 2
11/12 @ 2PM
Introduo ao Auto-Scaling | Hands-on: Como u6lizar o auto-
scaling passo-a-passo

20/12 @ 2PM
Introduo AWS Elas6c Beanstalk | Hands-on: Implantao
fcil e rpida da sua aplicao web

Agenda Auto-Scaling
Regies e Zonas de disponibilidade

Auto-Scaling

Servios relacionados

Instalando e uIlizando as linhas de comando

GaranIndo disponibilidade com Auto-Scaling

Escalando automaIcamente com Auto-Scaling

Perguntas e respostas

Regies

Infraestrutura Global

Deployment & AdministraIon


App Services
Compute

Storage

Database

Regies
Um conjunto isolado de data centers em uma

Networking
AWS Global Infrastructure

determinada geografia

Infraestrutura Global

Deployment & AdministraIon


App Services
Compute

Storage

Database

Zonas de Disponibilidade
Projetadas para serem independentes.

Networking

Separadas fisicamente, porm com conectividade


rpida dentro da mesma regio

AWS Global Infrastructure

Auto-Scaling

Compute
Auto-scaling

Alarme

Escala automaticamente as instncias


de acordo com mtricas configurveis
as-create-auto-scaling-group MyGroup
--launch-configuration MyConfig
--availability-zones sa-east-1a,sa-east-1b
--min-size 4
--max-size 200

Deployment & AdministraIon

Recurso

Controle
App Services
Compute

Storage

Database

Networking
AWS Global Infrastructure

Detalhes

Dene tamanhos mximo e


mnimo e parmetros para
aumento e diminuio

Integrado ao
CloudWatch

Usa mtricas do CloudWatch


para gerenciar a escalabilidade

Integrado ao
ELB

Permite distribuir carga


automaIcamente

Disponvel

Instncias em mlIplas zonas de


disponibilidade

Capacidade ElsIca

Capacidade
Tradicional

Capacidade

Tempo

Suas necessidades de TI

Capacidade ElsIca
Desperdcio

Liga e Desliga

Crescimento Rpido

Picos Variveis

Picos Previsveis

Cliente Insatisfeito

Capacidade ElsIca

Liga e Desliga

Crescimento Rpido

Picos Variveis

Picos Previsveis

Servios relacionados

Compute
Vrias Opes
A partir de $0,02/hora

Elastic Compute Cloud (EC2)


Servidores com recursos computacionais
15 tipos de instncias(servidores) disponveis, de micro a
cluster compute
Configuraes de CPU, memria disco local
Recurso

Deployment & AdministraIon


App Services
Compute

Storage

Flexvel

Detalhes

Linux e Windows

Escalvel

Vrias conguraes de servidor

Imagens

Modicaes podem ser salvas


como imagens (AMIs) e novas
instancias criadas a parIr destas

Controle total

Controle de root e administrador

Database

Networking

Segura

Controle total do Firewall via


Security Groups

AWS Global Infrastructure

Barata

On-demand, Reservada e Spot

Compute
Elastic Load Balancing
Permite criar aplicaes escalveis
Distribui carga entre instancias EC2 em mltiplas
zonas de disponibilidade

Deployment & AdministraIon

Auto-scaling

App Services
Compute

Storage

Recurso

Database

Networking
AWS Global Infrastructure

Disponvel

Detalhes

Escalabilidade automIca pode


ser congurada
Balanceamento de carga em
mlIplas zonas de disp.

Vericaes
de Sade

Verica automaIcamente sade


das instancias e Ira as
inoperantes do servio

Controle de
Sesso

Uso de sIcky sessions


congurvel

Monitoring
CloudWatch
Ferramenta de monitoramento de recursos AWS como
EC2, RDS e outros servios.
Possui mtricas padres e permite mtricas
customizadas.
Recurso
Deployment & AdministraIon

App Services
Compute

Storage

Integrado

Customizvel
Database

Networking
AWS Global Infrastructure

Alerta
Acesso fcil

Detalhes

Funciona com diversos servios


AWS como EC2, RDS, Auto-
Scaling, DynamoDB, etc
Permite criao de mtricas
prprias
Permite congurao de alarmes
Via console com grcos ou API

Ferramentas

SDKs do Auto-Scaling para as principais linguagens


Linguagens e Bibliotecas

Linha de comando (CLI)


ElasIc Wolf
hhp://www.elasIcwolf.com/

SOAP

Nejlix Asgard
hhps://github.com/Nejlix/asgard

REST

Instalando
linhas de comando

Links para instalao


[1] Ferramentas de desenvolvimento:
hhp://aws.amazon.com/developertools

[2] Auto Scaling Command Line Tool

[3] Amazon CloudWatch Command Line Tool

[4] Guia de instalao:
hhp://docs.amazonwebservices.com/AutoScaling/latest/
DeveloperGuide/astools.html#UsingTheCommandLineTools


Instalao
1. Download das ferramentas
2. Congurar variveis de ambientes
JAVA_HOME=/Library/Java/Home/
AWS_AUTO_SCALING_HOME=/tools/AutoScaling-1.0.61.2
PATH=$PATH:$AWS_AUTO_SCALING_HOME/bin
AWS_AUTO_SCALING_URL=https://autoscaling.sa-east-1.amazonaws.com
AWS_CLOUDWATCH_HOME=/tools/CloudWatch-1.0.13.4
PATH=$PATH:$AWS_CLOUDWATCH_HOME/bin


AWS_CREDENTIAL_FILE=/keys/access_keys.cred
3. AuthenIcao
cat /keys/access_keys.cred

AWSAccessKeyId=AAAAA64BBBBBCCCCDDD
AWSSecretKey=XXXXXXXkkkkkkKkkkkkkKkkkkKKKkkkkKKkkkk

4. Testar
>> as-cmd
>> mon-cmd

Utilizando
linhas de comando

UIlizando
as-create-launch-config <lc-name>
--image-id <imageid>
--instance-type <instance-type>

as-create-auto-scaling-group <name>
--availability-zones <zones,>
--launch-configuration <lc-name>
--max-size <max>
--min-size <min>
--desired-capacity <desired>
--load-balancers <elb>

UIlizando
as-create-launch-config LcWebinar --image-id
ami-4ecf1753 --instance-type m1.small --key ehoraisp
as-describe-launch-configs --headers

as-create-auto-scaling-group GroupWebinar -availability-zones sa-east-1a,sa-east-1b --launchconfiguration LcWebinar --max-size 6 --min-size 1


--desired-capacity 1 --load-balancers ElbWebinar
as-describe-auto-scaling-groups --headers

Garantindo
Disponibilidade

Disponibilidade

E se um servidor morrer....

as-create-auto-scaling-group GroupWebinar -availability-zones sa-east-1a,sa-east-1b --launchconfiguration LcWebinar --max-size 6 --min-size 1


--desired-capacity 1 --load-balancers ElbWebinar

Escalando
Automaticamente

Escalando

1. Eventos
2. Monitoramento (CloudWatch)
3. Triggers
a. Horrio
b. Manual
c. Mtricas
4. PolIcas de escalonamento
a. Adicionar/Remover capacidade
b. Capacidade exata
c. Percentual

Scaling UP
Pol6ca de adicionar dois servidores

as-put-scaling-policy add-two-policy --type


ChangeInCapacity --auto-scaling-group GroupWebinar
--adjustment=2

Trigger: acima de 60% de CPU mdio, executar pol6ca


mon-put-metric-alarm MyHighCPUAlarm --comparisonoperator GreaterThanThreshold --evaluation-periods 1
--metric-name CPUUtilization --namespace "AWS/EC2"
--period 120 --statistic Average --threshold 60 -alarm-actions policy-arn --dimensions
"AutoScalingGroupName=GroupWebinar " --region sa-east-1

Scaling DOWN
Pol6ca de remover um servidor

as-put-scaling-policy remove-one-policy --type


ChangeInCapacity --auto-scaling-group GroupWebinar
--adjustment=-1

Trigger: abaixo de 20% de CPU mdio, executar pol6ca


mon-put-metric-alarm MyLowCPUAlarm --comparisonoperator LessThanThreshold --evaluation-periods 1
--metric-name CPUUtilization --namespace "AWS/EC2"
--period 60 --statistic Average --threshold 20
--alarm-actions policy-arn --dimensions
"AutoScalingGroupName=GroupWebinar" --region saeast-1
as-describe-policies --headers
mon-describe-alarms --region sa-east-1

Simulando

Simulando
Simulando u6lizao de CPU
bc
2^12222222

as-describe-scaling-activities --show-long

Simulando baixa de CPU


ps ef | grep bc
kill -9 <pid>

Documentao

Links
[1] Auto-Scaling - Guia do desenvolvedor

hhp://docs.amazonwebservices.com/AutoScaling/latest/DeveloperGuide/Welcome.html


[2] Auto-Scaling Carto de referncia (API)
hhp://awsdocs.s3.amazonaws.com/AutoScaling/latest/as-qrc.pdf


[3] Auto-Scaling UIlizando (cenrios)

hhp://docs.amazonwebservices.com/AutoScaling/latest/DeveloperGuide/ProgrammingGuide.html


[4] CloudWatch Guia do desenvolvedor

hhp://docs.amazonwebservices.com/AmazonCloudWatch/latest/DeveloperGuide/Welcome.html


[5] CloudWatch Carto de referncia (API)

hhp://awsdocs.s3.amazonaws.com/AmazonCloudWatch/latest/acw-qrc.pdf

Perguntas
e respostas

OFERTA
GRATUITA!
aws.amazon.com/pt/free

Documentaes em Portugus

E-book gratuito em portugus com passo a passo para


criar e configurar um servidor na Amazon
Guia de Conceitos bsicos da oferta gratuita da AWS
Guia de Conceitos bsicos do EC2
Guia de Conceitos bsicos do S3
Guia de Conceitos bsicos do RDS
Guia de Conceitos bsicos do VPC

OBRIGADO!
http://aws.typepad.com/brasil
http://slideshare.net/AmazonWebServicesLATAM
Eduardo Horai
AWS Solutions Architect
ehorai@amazon.com

You might also like