Utilitario para Migración de una zona de route53

Utilitario para la conversión de la respuesta de list-resource-record-sets a un formato válido para change-resource-record-sets, para la migración de una zona de route53 de una cuenta a otra dentro de AWS

En base a la documentación de AWS: AWS: Migrating a hosted zone to a different AWS account

Pega el resultado de aws route53 list-resource-record-sets –hosted-zone-id XXXXXXXXXXXX aquí:


Resultado

Tabla de Registros

Name Type TTL ResourceRecords

Migración de una Hosted Zone de una cuenta a otra

Debido a una reestructuración, es necesario mover las zonas de una cuenta a otra, para esto se ejecutaron las instrucciones de: https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-migrating.html

Para esto necesitamos

  • 2 Cuentas de AWS
  • 1 Hosted zone por cada 1
  • cat Usuarios con acceso CLI para cada cuenta con permisos de
    • route53:ListResourceRecordSets (Cuenta de Origen)
    • route53:ChangeResourceRecordSets (Cuenta de Destino)

Una vez que tenemos todo lo necesario, lo primero que hacemos es descargar el listado desde la cuenta de origen, utilizando:


aws route53 list-resource-record-sets --hosted-zone-id XXXXXXXXX --profile cuentaOrigen > origen.json

Una vez que tenemos este archivo, debemos convertirlo a un formato apto para la carga, para esto ingresaremos en el siguiente utilitario:

Utilitario Migración

En este utilitario podemos pegar el contenido del archivo de origen y obtener un archivo con un formato apto para ejecutar el comando Change Resource Record Sets


aws route53 change-resource-record-sets --hosted-zone-id YYYYYYYYY --change-batch file:///resultado.json --profile cuentaDestino

Carga de Base Postgres en un docker

Para trabajar localmente necesito cargar una base de datos de 20 Gb

Paso 1:

Copiar Script de BDD en el docker

docker cp miscript.sql micontenedor:/miscript.sql

Paso 2:

Ejecutar script de docker en base de datos

docker exec -i micontenedor psql -U postgres -d mibase -f /miscript.sql

Paso 3:

Podemos verificar la carga contando los registros

SELECT
schemaname AS esquema,
relname AS tabla,
n_live_tup AS total_registros
FROM pg_stat_user_tables
WHERE schemaname = 'public'
ORDER BY total_registros DESC;

Configurar Aws Cloudwatch Agent en Ubuntu EC2

Despues de varios incidentes donde el disco duro de instancias EC2 bajo mi supervisión se llenaran, deteniendo los servicios de producción, fue necesario encontrar una manera de monitorear de mejor manera los mismos.

A continuación una guia de como configurar esto en instancias EC2 con ubuntu:

Paso 1 crear un rol con permisos para

  • CloudWatchAgentServerPolicy
  • AmazonSSMManagedInstanceCore
  • + Politica de ec2:DescribeTags

Asignar este rol a la instancia deseada

Una vez activado el rol, continuamos con la configuración del agente

Descargamos el agente desde:

Instalamos el paquete .deb

Verificamos el estado del servicio

ahí nos indicará que falta configurar el servicio

ejecutamos el asistente de configuración

Dependiendo de la configuración, y el usuario que escojamos deberemos dar permiso a este usuario:

Una vez configurado, se generará un archivo en:

Debe moverse a

Activamos e Iniciamos el servicio

Verificamos el estado usando

Si todo salió bien deberias ver lo siguiente en cloudwatch

Esto nos permitirá generar un dashboar similar a: