Amazon tiene una oferta de servicios muy amplia para IT (Amazon Web Services AWS). Uno de esos servicios es Lightsail; un servicio de Máquina Virtual análogo a Digital Ocean o Vulture.
Una máquina virtual es un sistema operativo completo donde tenemos la libertad de instalar lo que queramos, esto implica que también tenemos la obligación de administrarlo y estar pendiente de las actualizaciones de seguridad.
¿Porque elegir Lightsail?
Aprender a usar Lightsail nos da la posibilidad de comenzar a utilizar AWS. Este es el primer paso para construir una Virtual Private Cloud VPC que pueda conectarse con otros servicios de Amazon. El precio de los servidores es muy competitivo y es adecuado para comenzar a hacer pruebas.
Paso 1 : Crear una cuenta en AWS
Una vez creada la cuenta hay que seguir 5 pasos para configurar la seguridad de la cuenta creada, en resumen tenemos que crear una cuenta secundaria (de desarrollador) que no tenga permisos de facturación para que sea la cuenta con la que trabajemos.
En uno de los pasos se requiere utilizar un smartphone para realizar autenticación MFA. Aquí les sugiero instalar la autenticación con otro dispositivo - para tener dos-. Esto nos ahorrará dolores de cabeza porque si pierdes el dispositivo ya no podrás ingresar como cuenta maestra.
Video de Amazon
https://www.youtube.com/watch?v=Ip5NaS7RS6g
Registrar Cuenta
El procedimiento es muy sencillo y hay muchos tutoriales al respecto
https://portal.aws.amazon.com/gp/aws/developer/registration
El servicio que usaremos es Lightsail
https://aws.amazon.com/es/lightsail/
Instrucciones Básicas - Crear instancia de Lightsail
En resumen AWS nos permite usar configuraciones predeterminadas para nuestro servidor usando el servicio de BITNAMI, esto quiere decir que podemos elegir un servidor previamente configurado con los programas que necesitamos para que funcione como servidor NODE.
Debemos crear una instancia MEAN (Mongo Express Angular Node). ¿Por qué no elegir la opción NODE? - porque MEAN incluye la configuración de base de datos.
Una vez creado el servidor lo podremos ver ya listo en web
En nuestro panel de control también estará listo
Para conectarnos al sistema operativo podemos utilizar una conexión SSH o directamente con la terminal web.
Nuestro servidor tiene como servidor web apache y lo que haremos es configurar varios sitios node - express, para lograr esto tendremos un directorio con todas las aplicaciones y un servidor mongo.
Este es el contenido del servidor, el directorio “apps” es donde estan nuestros sitios web/ aplicaciones.
Lo único que falta configurar es la seguridad del servidor mongo
Vamos a requerir la contraseña del usuario actual “BITNAMI” de nuestra sesión esta contraseña esta en el archivo bitnami_applicaction_password
Para ver el password ejecuta
cat bitnami_applicaction_password
Copiar el password
Ejecutamos el siguiente comando para entrar como administrador a mongo
mongo admin --username root --password MY_BITNAMI_APPLICATION_PASSWORD
Lo que necesitamos hacer es crear una base de datos y agregar un usuario
Use lab_celeb
db.createUser( {user:”el usuario” , pwd: “el password”, roles:[“dbOwner”]})
Para importar un archivo de json a una coleccion
mongoimport -u root -p BitnamiPassword --authenticationDatabase "admin" --db lab_celeb --collection celebridades --file ./seed_celebridad.json --jsonArray
Paso 2: Organizar las aplicaciones
En el directorio “home” (el directorio donde entramos al iniciar en la consola) monte un directorio con todas las aplicaciones
mkdir apps
cd apps
Para montar una aplicación hacemos un git clone directamente en el directorio apps. Después un npm install y en caso de los proyectos con VUE npm run build
La conexión con MONGO va a requerir que usemos un usuario y password.
Para correr la aplicación en modo desarrollo usamos nodemon. En producción usamos el package “forever”
Instalar forever:
sudo npm install -g forever
https://www.npmjs.com/package/forever
Para ejecutar una aplicación
Forever start app.js
Finalmente debemos actualizar el firewall para que pueda recibir conexiones a otros puertos. De forma predeterminada solo está habilitado la comunicación con el puerto 80
Para que puedan funcionar nuestra aplicación
Entrar a Firewall
Para definir que puertos abrir organice las aplicaciones de la siguiente forma: puerto 3000 al 3020 estarán dedicados a APIs. Puertos del 4000 al 4020 estarán dedicados al las aplicaciones front.
Asignar una IP Fija al servidor
Hasta este momento el servidor tiene una IP que cambiará cada vez que se reinicie el servidor. Para asegurar que nuestro servidor tiene una IP determinada debemos crear una IP estática y asigarla al servidor
Top comments (0)