Cloud Front + Balanceo de carga en Amazon

Amazon AWS
Amazon AWS

Generalmente encontrarán muchos tutoriales en internet los cuales describen el proceso para crear un balanceador de carga desde Amazon AWS, ha decir verdad el proceso es muy sencillo y con ello aseguran que sus servidores no sean expuestos, ahora yo les diré como agregar una capa más de seguridad poniendo el balanceador de carga detrás de un Cloud Front.

Omitiré el paso de crear el balanceador porque supongo que eso ya lo saben, me centraré en la configuración de la distribución y el enlace a la distribución desde el Route53.

Creando la distribución
Entonces lo primero es crear una distribución de tipo web, de los primeros campos que se necesitan llenar está el de “Origin Domain Name” y de la lista desplegable que aparece, deben seleccionar el balanceador que fue creado previamente.

Configurando el origen
Lo siguiente es configurar el método de conexión hacia el balanceador, ya sea por http o https, esto significa que la distribución de cloud enviará las peticiones al balanceador mediante el protoloco seleccionado, para mi caso seleccioné “Http Only”, los puertos ya están configurados por omisión, así es que no hay que mover mucho en esa parte.

Configuremos el comportamiento
Luego pasaremos al la configuración del comportamiento “Behavior Settings”, en esta sección deben determinar el método de conexión de su distribución, yo elegí que solamente aceptara peticiones el puerto seguro, por lo que marqué “Https Only” y ahora debemos seleccionar los métodos que deben responder a las solicitudes, si es una api supongo que deberían seleccionarlos todos y de paso activar la redirección de cabeceras, donde básicamente deben decidir que cabeceras de las que recibe la distribución, se deben enviar al balanceador y este a su vez a las instancias de EC2. En esta sección es muy, pero muy importante que el cacheo de objetos “Object Caching” sea personalizado y especifiquen el TTL mínimo, máximo y por omisión en “0” .. lo que significa que no debe cacharse nada, deben seleccionar la opción de reenviar parámetros por la url “Forward Query Strings” y si lo quieren también pueden activar la compresión en la respuesta “Compress Objects Automatically”.

Configurando la distribución
Hasta este momento creo yo que vamos claros, lo siguiente es configurar la distribución y los parámetros importantes son la configuración de los CNAMEs que son los dominios desde los cuales se escucharan peticiones y si o no desean utilizar un certificado de seguridad, por ejemplo digamos que esta distribución será para el dominio “test.jackfiallos.com”. Esta parte de los certificados es bastante fácil de administrar desde Amazon, ya que Amazon nos permite enviar solicitudes al titular del dominio para generar un certificado del dominio que solicitemos, yo recomiendo de una vez generar uno de tipo wildcard (por ej. “*.jackfiallos.com”, luego hecho esto de los certificados deben describir cual será el objeto base que es sinónimo de elegir cual será nuestro archivo base por ej. “/index.html” y guardamos.

Los últimos toques desde el Route53
Los cambios normalmente toman un rato en aplicarse, por lo que hay que esperar, mientras tanto el paso siguiente será enlazar desde nuestro Route53 el dominio test.jackfiallos.com hacia esta nueva distribución de Cloud Front, entonces nos movemos hacia el Route53, seleccionamos el subdominio o lo crean si es su caso y seleccionan que el tipo de registro será “CNAME”, ahí mismo dejan el alias en “no” y como valor deben poner el nombre de la distribución creada, algo por ej. como “dl2niqjdjsh383dsd3j2xlkv2r.cloudfront.net”, guardan el cambio y ahora a esperar.

Parece confuso todo esto, pero ha decir verdad es muy sencillo, espero lo hayan entendido y yo lo haya explicado medio claro. Todavía se pueden hacer cosas más divertidas como configurar la distribución agregando seguridad a nivel de firewall utilizando el servicio de WAF, pero eso lo dejaré para otra historia.

Happy Coding 😀

Co-fundador de Qbit Mexhico, usuario de linux, Developer en tecnologías web.. Nicaragüense, centro en basketball, primer centro en rugby y pintor los fines de semana. Ortögrafo y ambientalista psicológico (de escritorio).. ese soy yo!

Si te ha servido compártelo y difunde nuestro blog..

Twitter LinkedIn Flickr YouTube 

4 thoughts on “Cloud Front + Balanceo de carga en Amazon

    1. Hola Carlos, tienes razón.. podría utilizarlo como alias también y el costo no afecta en lo absoluto, yo particularmente lo uso de esta forma por que me permite establecer los TTL de forma manual, aunque como ventaja el usar alias hace que los cambios se reconozcan automáticamente, gracias or la observación 😀

  1. Gracias a ti, acabo de realizar una configuración similar, pero al cambiar el alias del balanceador de carga al dominio de la distribución me marca error en el certificado.

    Tienes alguna sugerencia?

    saludos!

    1. Quizás está ocurriendo el problema porque sigues utilizando el certificado de cloudfront cuando en realidad deberías utilizar el tuyo, asumo que al utilizar Route53 tienes el control de tus dominios en aws entonces puedes gestionar un certificado ssl gratuito también desde el mismo cloudfront, pero bueno.. todo esto es solamente una idea más del porque tienes el problema, espero que lo resuelvas pronto.

Responder a Jackfiallos Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *