Crear una alarma de factura estimada en AWS

logo de aws cloud

Bueno, bueno, bueno…hablemos de dineros. En referencia a AWS o cualquier proveedor de cloud respecto al tema de la facturación, no importa que seas una sola persona, una mediana empresa o una gran corporación. Te puedes llevar un susto en cualquier momento. Y la mejor descripción es este legendario meme. Una de las mejoras cosas […]

Crear un VPC peering en AWS

logo de aws cloud

Una acción muy común a hacer cuando se trata de la red en AWS es crear un peering. ¿Qué es un peering? A VPC peering connection is a networking connection between two VPCs that enables you to route traffic between them using private IPv4 addresses or IPv6 addresses. Instances in either VPC can communicate with […]

MySQL 5.7 extended support program y el impacto en la factura!

logo de aws cloud

Me gusta esta táctica de AWS. “No queréis actualizar MySQL a 8.X?, ok, vosotros mismos.” BAM ! Golpe de remo! Y vaya si actualizas. Gracias a una alerta que se configura en la parte de “Billing and Cost Management” recibí un email alertándome del problema. Recordatorio de que esto es bastante útil, si no quieres […]

CloudFront da error 502 cuando renuevo el certificado SSL en Nginx

logo de aws cloud

Mi certificado SSL tenía que ser renovado y en principio es una tarea simple. Bajar el certificado root, el intermedio, crear un bundle y configurar Nginx. Pero esta vez pasó algo. Descargo los certificados y claves, cambio la configuración de Nginx apuntando a los nuevos ficheros. Lanzo el despliegue, Nginx me dice que “ok” porque […]

Cómo resolver conflictos con Git por consola

git hub logo

El escenario es: hemos hecho una Pull Requests en Github y mientras esperamos que se la miren, otro compañero ha hecho su Pull Requests, ha mergeado y ahora, en la nuestra vemos lo siguiente. Un bonito conflicto a resolver. Lo podemos hacer de dos maneras, o resolverlo a mano en Github o via nuestra terminal. […]

Cómo encriptar una instancia AWS RDS

logo de aws cloud

Después de instalar y configurar SecurityHub uno de sus controles nos dice lo siguiente: RDS.3 RDS DB instances should have encryption at-rest enabled https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-fsbp-controls.html#rds-3-remediation ¿Hemos configurado previamente nuestra RDS con encriptación automática? Vamos a ver Evidentemente, no lo hemos hecho! Para poder contentar a SecurityHub y mejorar nuestra puntuación no nos queda otra que encriptar […]

Cómo arreglar archivos estáticos de Swagger-UI en Flask-Apispec

Otro error con el que me he encontrado recientemente, mientras experimento con Flask, ha sido este pequeño bug con flask-apispec. Encontré un tutorial para añadir Swagger a Flask y de esa manera documentar automáticamente toda la API. Más abajo pongo el tutorial en un link. Si accedía a la url localhost:5000/swagger todo funcionaba según lo […]

Como arreglar “listen tcp 0.0.0.0:5000: bind: address already in use” en mac OS Monterey

logo of mac osx

Esto me ha pasado justo después de recibir un nuevo equipo, un MacBook Pro 2019 con sistema operativo Monterey. Hasta ahora estaba desarrollando en local una API en Flask que lanzaba con este comando: Cuando de repente, la terminal me responde que nanai: Insertar WTF aquí Miro los puertos del equipo y efectivamente, hay alguien […]

sqlalchemy.exc.OperationalError: Insert Into Values

Estoy usando Alembic con Python para hacer las migraciones de esquemas, crear las bases de datos, etc. También quiero añadir algunos datos a las columnas para testear la API in este punto del desarrollo. Haciendo esto me encontré con un fallo tonto, de esos debidos a que hace mucho que no utilizas algo. Añado la […]

Como borrar recursos de Terraform usando Terraform state

terraform logo

Últimamente me he puesto a añadir cosas y cosas y cosas que tenía pendiente en el Terraform personal y, en algún momento, me he encontrado con algún error que me impedía ejecutar bien un “terraform plan”. Las pruebas que hago son por ejemplo borrar el .terraform local y hacer un terraform init, pero sin éxito. […]