Cada vez más empresas necesitan de cierta infraestructura tecnológica, ya sea para una simple página web o para algo tan complejo como puede ser servir vídeo a cualquier lugar del mundo sin importar picos de actividad como hace Netflix. Para hacer esto posible usamos las nubes públicas, que hacen uso de la economía de escala para conseguir una flexibilidad y escalabilidad muy altas a precios razonables. AWS es la nube pública líder en cuota de mercado, así como pionera en este concepto. Hoy entenderemos qué es AWS, así como sus conceptos clave y novedades.
¿Qué es AWS?
Amazon Web Services (AWS) es la plataforma en la nube más adoptada y completa en el mundo, que ofrece más de 200 servicios integrales de centros de datos a nivel global. Millones de clientes, incluso las empresas emergentes que crecen más rápido, las compañías más grandes y los organismos gubernamentales líderes, están usando AWS para reducir los costos, aumentar su agilidad e innovar de forma más rápida.
Conceptos clave de AWS
Seguridad
El pilar se seguridad se centra en cómo asegurar la infraestructura en la nube. Los asuntos relacionados con la seguridad y la conformidad son una responsabilidad compartida entre AWS y el cliente. En este modelo de responsabilidad compartida, AWS es responsable por la seguridad de la nube. Esto incluye la infraestructura física, el software y las capacidades de red de los servicios en la nube de AWS. El responsable de la seguridad en la nube es el usuario. Esto incluye la configuración de servicios específicos en la nube, el software de la aplicación y la administración de los datos confidenciales.
Eficacia del rendimiento
El pilar de eficacia del rendimiento se centra en cómo ejecutar los servicios de manera eficiente y escalable en la nube. Mientras la nube brinda los medios para gestionar cualquier cantidad de tráfico, requiere elegir y configurar los servicios con la escala en mente.
Fiabilidad
El pilar de fiabilidad se centra en cómo crear servicios que sean resistentes a las interrupciones de infraestructura y servicio. Al igual que con la eficacia del rendimiento, mientras la nube proporciona los medios para crear servicios resistentes que pueden soportar la interrupción, requiere diseñar los servicios con la fiabilidad en mente.
Experiencia operativa
El pilar de excelencia operativa se centra en cómo se puede mejorar de manera continua la habilidad para ejecutar sistemas, crear mejores procedimientos y obtener información.
Optimización de costos
El pilar de optimización de costos ayuda a lograr resultados empresariales mientras se minimizan los costos.
Taller AWS
Requisitos:
- Cuenta de AWS
- AWS CLI
- Kubectl
- Configurar el cli de AWS
Creación de un ec2
Vamos a esta página: https://console.aws.amazon.com/ec2/v2/home#Instances:
Pinchamos en Lanzar Instancias. Esto nos mostrará un panel con una lista de imágenes para la instancia ec2. Escogemos Ubuntu Server 20.04 LTS
A continuación nos pedirá elegir el tipo de instancia. Con el predefinido t2.micro es suficiente.
Damos a siguiente hasta llegar al panel de Grupos de Seguriad. Añadidmos las reglas HTTP y HTTPS al panel.
Pinchamos en revisar y lanzar y nos aseguramos que el puerto 22,80 y 443 está expuesto a internet. En un entorno real deberemos limitar el rango de ips expuesto en el 22, pero en este caso no es necesario.
Pinchamos en lanzar y nos aparecerá una ventana emergente para crear claves ssh.
Seleccionamos crear un nuevo par de claves y le ponemos un nombre.
Es importante descargar el archivo y guardarlo, o sino no podremos conectarnos a la máquina.
Por último le damos a lanzar instancia.
Al volver al panel principal de instancias, seleccionamos la instancia que acabamos de crear (una vez el estado cambie a En ejecución) y en Acciones pinchamos en Conectar.
Seleccionamos la pestaña de Cliente SSH y seguimos las instrucciones. Ya estaríamos conectados a nuestro propio ec2.
EKS
Antes de empezar es necesario tener 2 subredes en zonas de disponibilidad diferentes.
Abrimos la consola de Amazon EKS.
Elegimos agregar clúster. Es necesario tener un rol de cluster. Pinchamos en el link de Consola de IAM. Seleccionamos Crear rol seleccionamos EKS y EKS – Cluster y damos a siguiente hasta que nos pide un nombre. Elegimos un nombre, le damos a crear y en la pestaña de creación del cluster asociamos este con el clúster.
A continuación escogemos las subredes deseadas
y continuamos hasta el final. Una vez creado el cluster, debemos esperar a que su estado pase a activo para crear los nodos.
Podemos crear un nodo en cualquier subred de la VPC asociada al cluster.
Abrimos la consola de cloudformation
Seleccionamos Crear pila y Con recursos nuevos (estándar)
Guardamos los contenidos de este archivo: https://raw.githubusercontent.com/awslabs/amazon-eks-ami/master/amazon-eks-nodegroup.yaml y escogemos la plantilla está lista y cargar un archivo. Elegimos el archivo recién descargado.
Una vez dado a siguiente, debemos poner el nombre del cluster y el grupo de seguridad generado por el cluster (eks-cluster-sg-…). Rellenamos el nombre del NodeGroupName y asignamos la misma vpc que le asignamos al cluster en VpcId. Elegimos varias subredes y le damos a siguiente.
Debemos seleccionar también un KeyName, la clave ssh que queremos utilizar para hacer ssh a los nodos. Podemos escoger la misma que creamos al crear la instancia ec2 en el anterior punto.
Le damos a siguiente hasta Create stack (Crear pila). Una vez seleccionado este, esperamos a que termine la ejecución.
Una vez terminada esta, vamos a la pestaña de Salidas y anotamos el valor de NodeInstanceRoles
A continuación debemos crear un rol de IAM para el node group. Descargamos este archivo y cambiamos por el valor de NodeInstanceRole del procedimiento anterior.
Para conectarnos al cluster debemos tener descargado el kubeconfig del cluster.
aws eks update-kubeconfig –name –region –kubeconfig y export KUBECONFIG=
Guardamos el archivo y ejecutamos
kubectl apply -f aws-auth-cm.yaml
¡Contacta con nosotros!
Author