Si necesitas crear un Servidor de base de datos PostgreSql en los servicios de Amazon Web Service, aqui te explico brevemente como realizarlo y acceder desde cualquier linea de comandos.
PostgreSql y aws
Aws nos presenta varios servicios en la nube entre esos podemos crear Servidores de base de datos, para base de datos PostgreSql puedes ver los costos aquí.
Para iniciar ingresaremos a nuestra cuenta en Aws y buscamos la opción RDS.
En el resumen de instancias de base de datos que nos muestra presionamos en DB Instances.
Presionamos en crear base de datos.
En la siguiente pantalla vamos a presionar Creación estándar.
Luego seleccionamos el tipo de base de datos, escogeremos PostgreSQL, y seguido de esto la versión que vamos a implementar, si vamos a instalar una base de datos de otra existente o en desarrollo es importante que coloques la versión que mas se asemeja para que no tengas que actualizar consultas o transacciones en tu base de datos, para eso visualiza que versión de base de datos usas en tu proyecto con el comando:
postgres -v
Este nos dará como resultado:
Ahora buscamos la liberación que mas se acerque en caso de no existir la misma en mi caso utilizaré la 11.10
En la siguiente parte si estamos liberando un nuevo proyecto a producción le dejamos en producción.
En la siguiente pantalla se puede escoger el tipo de disponibilidad de nuestra base de datos, puede ser con redundancia o una base de datos simple en mi caso utilizaré la simple por los costos.
Ahora agregamos información para nuestra instancia de base de datos el nombre no será el nombre de la base de datos sino de la instancia, es recomendable para acceder cambiar el nombre de usuario para que evitemos problemas de accesos intrusos a nuestra base de datos.
Ahora seleccionemos el tipo de instancia a utilizar aws nos propone 3 tipos:
Standard: Esta podemos utilizarla cuando usemos varias bases de datos nos propone aws optimizar memoria y recursos de red.
Memory optimized classes: Nos ayuda a optimizer la memoria para cargas de trabajo con mucha información.
Burstable classes: aquí la base de datos utilizará recursos establecidos en una base de CPU que manejará el rendimiento según esta configuración.
En mi caso para esta implementación utilizaré Burstable classes.
Ahora seleccionemos el tipo de almacenamiento, esto lo identificaremos por IOPS que es las operaciones de entrada y salida por segundo que tienen los discos duros, tomar en cuenta que esta variable también afectará nuestros costos finales, en mi caso escogeré gp2, y habilito el auto escalamiento de la base de datos.
Ahora vamos a revisar la conectividad, podemos seleccionar que esta base de datos se accederá solamente entre instancias de aws por seguridad o podemos habilitar para acceder desde cualquier otra pc, aunque esto puede luego configurarse en las reglas para habilitar accesos a una ip específica en mi caso la colocaré en Yes.
Ahora seleccionamos la manera de autenticarnos a la base de datos.
Ahora en la configuración adicional podemos agregar que inicie todo nuestro servidor de PostgreSQL ya con una base de datos, para esto agregamos un nombre y podemos colocar para que nos maneje los respaldos y el tiempo que durará nuestro respaldo en días.
Listo con esto tenemos configurada nuestra instancia de base de datos nos muestra los costos estimados mensuales, podemos ver una relación de costos aquí.
Ahora para acceder a la base de datos agreguemos una regla con la Ip de la que vamos a acceder para esto presionamos sobre la base de datos y nos dirigimos a Security Groups.
Nos abre una nueva pestaña en la cual seleccionaremos Inbound Rules y presionamos editar.
Y le agregamos entonces accesos por el puerto 5432 y habilitamos el acceso simplemente a la Ip de nuestra PC.
Y listo ya podemos acceder utilizando el Endpoint con el siguiente formato:
psql -U postgres -h localhost -d database
En localhost cambiamos por el Endpoint y listo ya tenemos nuestro servidor PostgreSql si tienes alguna duda puedes contactarnos estaremos gustosos de ayudarte.

