Daniel López Azaña

Tema

Social Media

Blog

Categoría: Cloud Computing

Cómo importar rápidamente todos los registros de una zona DNS de Route53 en Terraform

terraform-and-route53-logos

El comando terraform import nos permite importar en HashiCorp Terraform recursos que ya existían previamente en el proveedor con el que estemos trabajando, es este caso AWS. Sin embargo, sólo permite importar dichos registros uno por uno, con una ejecución de terraform import cada vez. Esto, aparte de ser tremendamente tedioso, en algunas situaciones se vuelve directamente impracticable. Este es el caso de los registros de una zona DNS de Route53. La tarea puede resultar inabarcable si tenemos varias zonas DNS, y cada una tiene decenas o cientos de registros. En este artículo te ofrezco un script en bash que te permitirá importar en Terraform todos los registros de una zona DNS de Route53 en cuestión de segundos o de pocos minutos.

Script para cambiar automáticamente todos los volúmenes gp2 a gp3 con aws-cli

Script para cambiar automáticamente todos los volúmenes gp2 a gp3 con aws-cli

El pasado diciembre Amazon anunció sus nuevos volúmenes EBS gp3, los cuales ofrecen mejores prestaciones y un ahorro en el coste del 20% respecto a los que se venían utilizando hasta ahora, los gp2. Pues bien, tras probar satisfactoriamente estos nuevos volúmenes en varios clientes, no puedo hacer otra cosa más que recomendar su utilización, pues son todo ventajas y en estos 2 meses y medio que han transcurrido desde el anuncio no he apreciado ningún problema ni efecto secundario.

Cómo actualizar automáticamente todos nuestros grupos de seguridad EC2 de AWS cuando nuestra IP dinámica cambia

AWS security groups

Uno de los mayores fastidios cuando trabajamos con AWS y nuestra conexión a Internet tiene IP dinámica es que cuándo ésta cambia, automáticamente dejamos de tener acceso a todos los servidores y servicios que habíamos protegido mediante un grupo de seguridad EC2 cuyas reglas sólo permiten el tráfico a ciertas IP’s específicas en lugar de abrir las conexiones a todo el mundo (0.0.0.0/0).

Ciertamente lo más sencillo es siempre indicar en el grupo de seguridad que permitimos el tráfico en un puerto a todo el mundo, de modo que aunque tengamos IP dinámica en nuestra conexión a Internet siempre podremos continuar accediendo aunque ésta cambie. Pero abrir el tráfico a un puerto a todo el mundo no es la forma correcta de proceder desde el punto de vista de la seguridad, pues entonces cualquier atacante podrá tener acceso a ese puerto sin restricciones, y eso no es lo que queremos.

Cómo conectar en Linux 2 interfaces de red a la misma subred de AWS

Diagrama de una instancia EC2 con múltiples interfaces de red compartiendo la misma subred dentro de la misma zona de disponibilidad en AWS

El siguiente procedimiento describe cómo permitir en Linux el uso simultáneo de 2 interfaces de red conectadas a la misma subred de AWS y que la comunicación funcione tanto a nivel interno (máquinas en la misma subred) como externo (ambas interfaces visibles desde Internet). Esto puede ser útil por ejemplo cuando queremos que una misma instancia aloje un servidor web que sirva peticiones http ó https y al mismo tiempo disponga de un servidor de websockets ws:// o wss:// que escuche en el mismo puerto 80 ó 443 respectivamente. Aunque hay otras formas de conseguirlo como configurar Nginx para que sea capaz de discriminar el tráfico web (http) del tráfico de websockets (ws) y actuar como proxy para redirigir las peticiones correspondientes al servidor de websockets, esta otra solución que planteo me parece más sencilla y en cierta medida más eficiente porque no es necesario redirigir el tráfico, lo cual siempre introducirá una pequeña latencia, y permite mantener ambos servidores totalmente independientes dentro de la misma máquina. La única pega es que necesitaremos asignar 2 direcciones IP elásticas (Elastic IP) a la misma máquina en lugar de 1, pero al mismo tiempo esto nos aportará mayor flexibilidad a la hora de establecer reglas en los grupos de seguridad o en las reglas NAT de la subred.

Particionar y cambiar el tamaño del volumen raíz EBS de una instancia AWS EC2

|
Volumen raíz de AWS EBS más pequeño y dividido en particiones

Una de las pocas cosas que no me gustan del servicio EC2 de Amazon Web Services es que todas las imágenes o AMI’s disponibles a partir de las cuales lanzar una nueva instancia requieren un volumen raíz o root volume de un mínimo de 8 ó 10 GB y todos ellos cuentan además con una única partición donde se monta el sistema de ficheros raíz con todos sus directorios.

En mi artículo La importancia de particionar correctamente un disco en Linux ya discutí por qué este enfoque no me parece adecuado y en este artículo voy a abordar cómo dividir dichos volúmenes en varias particiones conservando el tamaño base de 8-10 GB o haciéndolos incluso más pequeños para ahorrar costes en caso de que queramos montar servidores más pequeños que no necesiten tanto espacio de almacenamiento.

Cómo crear en AWS una instancia EC2 de Sentilo desde un fichero OVA

|
Sentilo logo

Sentilo es una plataforma de código abierto diseñada por openTrends para el intercambio y procesamiento de información procedente de miles de sensores y actuadores, y servir de interfaz entre éstos y las distintas aplicaciones que quieran hacer uso de ellos y de dicha información. Se encuadra así dentro de la arquitectura de ciudades inteligentes o Smart Cities y tiene a la ciudad de Barcelona como principal impulsor. Pero Sentilo no sólo está hecho por y para las ciudades, sino también para cualquier organización que deseé implantar una aplicación IoT que requiera desplegar un número más reducido de sensores y actuadores, como por ejemplo dentro de edificios o en campo abierto.

Usar GMail gratis con tu propio dominio gracias a Amazon SES + Lambda

|
Cuenta de GMail configurada para recibir y enviar correo de nuestro dominio

Una de las principales necesidades que tiene un pequeño negocio o una startup que está empezando es disponer de un sistema de correo fiable con un dominio propio que nos diferencie a nosotros mismos y a nuestro sitio web corporativo en Internet. Aunque hay muchos planes de hosting que ofrecen cuentas de correo gratuitas e incluso podríamos montar nuestro propio servidor de correo, es probable que ya estemos acostumbrados a servicios de correo como GMail y nos gustaría seguir utilizándolo para gestionar el correo de nuestro propio dominio sin tener que recurrir a soluciones de pago como G Suite (antes Google Apps), que aunque son económicas para las prestaciones que ofrecen, suponen un coste adicional que nuestro incipiente proyecto no se puede permitir.

Cómo ampliar el tamaño de un volumen EBS y de una partición ext4 en AWS

Logo AWS EBSCuando se nos llena completamente el sistema de ficheros de una partición ext4 alojada en un volumen EBS de Amazon Web Services y no podemos hacer nada por liberar espacio al no querer perder ninguno de los datos almacenados, el único remedio que nos queda es ampliar el volumen y hacer crecer la partición asociada hasta el 100% de su capacidad para disponer nuevamente de espacio libre de almacenamiento.

Partimos en nuestro ejemplo de un volumen de 50 GB lleno al 100% que queremos ampliar a uno nuevo del doble de tamaño, 100 GB: