¿En qué consiste el autoscaling?
Un sitio web autoscaling (autoescalable) permite escalar una aplicación de manera automática, manteniendo para ello un numero de instancias ejecutándose de forma simultanea que puedan crecer o decrecer en número y mantener así una demanda exitosa en respuesta al trafico del sitio web.
¿Cómo crear un sitio web que escale de forma automática en AWS?
- Crea un archivo index.html dentro de tu equipo con el contenido que desees mostrar.
- Crea un bucket y sube tu archivo en él.
- Crea un nuevo role con acceso de AmazonS3FullAccess.
- Crea un load balancer que atienda el puerto 80.
- Dirígete a Launch Configuration > Auto Scaling Group > Create Launch Configuration.
- Elige AWS AMI y continua hasta Create Launch Configuration.
- Asigna el nombre, el role que acabas de crear y el bash script.
#!/bin/bash
yum update -y
yum install httpd -y
aws s3 cp://bucketname/index.html /var/www/html/index.html
service httpd start
- Continua hasta el final del proceso para crear el Launch Configuration.
- Nombra el AutoScalingGroup, elige 3 instancias y para cada una de ellas un availavility zone.
AutoScaling es una forma de manteer un sistema redundante, si se pierde 1 availability zone otra podrá respaldarla.
- Expande las opciones avanzadas para recibir tráfico desde el LoadBalancer, como healthcheck type utiliza ELB, y completa la configuración para asignar los intervalos y periodos de gracia y continua hasta llegar a Create Auto Scaling Group.
- Mantén el grupo con las 3 instancias siempre activas (Keep the group as it’s initial size).
- Ahora habilita una notificación a tu correo de los distintos eventos provistos.
- Continua hasta terminar la creación del ASG.
- Espera unos minutos a que se desplieguen las instancias.
- Abre la url provista por el load balancer, deberá desplegar el html provisto en el bucket.
- Intenta eliminar dos instancias y dejar solo una funcionando, el load balancer automáticamente busca una instancia disponible.
- Espera unos minutos y refresca la lista de instancias, notarás que el ASG dispara automáticamente nuevas instancias que reemplacen las que no están activas.