Está en la página 1de 16

Creación de una instancia Amazon EC2

MrMason
1) Crear una cuenta nueva en https://aws.amazon.com/es/

2) Inicie sesión en el panel de EC2 en la Consola de administración de AWS


(https://console.aws.amazon.com/ec2/).

En la barra de navegación izquierda, seleccione Instancias y luego haga clic en el botón Iniciar
instancia.

Paso 1: Elija una imagen de máquina de Amazon (AMI), haga clic en el botón Seleccionar
para la distribución de Linux de su elección. Intentar instalar MrMason en DEBIAN.
Paso 2: Elija un tipo de instancia, haga clic en el botón de opción para el tipo de instancia apropiado. En la
captura de pantalla, estamos seleccionando una instancia t2.micro, que normalmente se selecciona de forma
predeterminada y es suficiente para fines de demostración.

Paso 3: Configurar detalles de instancia, seleccione la subred predeterminada para su VPC en el


campo Subred, luego haga clic en el botón Siguiente: Next: Add Storage.
Paso 4: Agregar almacenamiento, deje los valores predeterminados sin cambios. Haga
clic en el botón Siguiente: Next: Add Tags

Paso 5: ventana Agregar etiquetas, haga clic en el botón Agregar etiqueta. Escriba
Nombre en el campo Clave y en el campo Valor escriba el nombre de la instancia (la
captura de pantalla muestra el resultado). Este nombre es lo que aparecerá en la columna
Nombre de la tabla de resumen en la pestaña Instancias del panel de EC2 (vea la captura
de pantalla en el Paso 12, que muestra una instancia).

Si sigue estas instrucciones como se indica en una guía de implementación de NGINX, la


sección Creación de instancias EC2 e instalación del software NGINX de la guía de
implementación especifica los nombres de las instancias que se utilizarán. Haga clic en el
botón  Next: Configure Security Group: para continuar con el siguiente paso.
Paso 6: Configurar grupo de seguridad, seleccione o ingrese los siguientes valores en los
campos indicados:
- Si está configurando una implementación con varias instancias (una en una guía de implementación de
Assign a security group
NGINX, por ejemplo), y esta es la primera instancia que está creando, seleccione Crear un nuevo grupo de seguridad. Para las
instancias posteriores, seleccione Seleccionar un grupo de seguridad existente en su lugar (tiene sentido que todas las
instancias de una implementación usen el mismo grupo de seguridad).

Security group name :


nombre del grupo. Si sigue estas instrucciones como se indica en una guía de implementación de NGINX,
la sección Requisitos previos y configuración de AWS requerida de la guía de implementación especifica el nombre de grupo
que se utilizará.

Description - Descripción del grupo; el nombre del grupo se usa a menudo.


En la tabla, modifique la regla predeterminada para las Cree una regla que permita conexiones HTTP
conexiones SSH, si es necesario, seleccionando o entrantes desde todas las fuentes, haciendo clic en el
configurando los siguientes valores. Permiten botón Agregar regla y seleccionando o configurando
conexiones SSH entrantes desde todas las fuentes los siguientes valores en la nueva fila:
(cualquier dirección IP):
Type – HTTP
Type – SSH Protocol – TCP
Protocol – TCP Port Range – 80
Port Range – 22 Source – Custom 0.0.0.0/0
Source – Custom 0.0.0.0/0 Description – Accept unencrypted HTTP connections
Description – Accept SSH connections from all from all sources
sources If appropriate, repeat this step to create a rule for
HTTPS traffic.

 Paso 7: Revisar el lanzamiento de la instancia, verifique que la configuración sea correcta. Si es así, haga clic en el
botón Iniciar en la esquina inferior derecha de la ventana. Para cambiar la configuración, haga clic en el botón Anterior
para volver a las ventanas anteriores.
Cuando hace clic en el botón Iniciar, aparece una ventana que le pide que seleccione un par de claves
existente o cree un nuevo par de claves. Realice la acción adecuada para su caso de uso y, a continuación,
haga clic en el botón Iniciar instancias. Nota: Es una práctica recomendada, y esencial en un entorno de
producción, crear una clave separada para cada instancia EC2, de modo que si una clave se ve comprometida,
solo la instancia asociada única se vuelve vulnerable.
Aparecerá una ventana de estado de lanzamiento para confirmar que su lanzamiento está
en curso. Para confirmar los detalles de su instancia cuando se complete el lanzamiento,
haga clic en el botón Ver instancias en esa página. Las instancias que ha creado hasta
ahora se enumeran en el panel de Instancias. La siguiente captura de pantalla muestra
una única instancia.

Finalice las reglas de su grupo de seguridad. Debe hacer esto solo para la primera instancia en un conjunto
dado, porque todas las instancias en un conjunto pueden usar el mismo grupo de seguridad.

 En la barra de navegación izquierda, seleccione Grupos de seguridad.


 Seleccione el grupo de seguridad haciendo clic en su botón de opción en la columna más a la izquierda
de la tabla. Se abre un panel en la parte inferior de la ventana que muestra detalles sobre el grupo.
 Abra la pestaña Entrante y verifique que las reglas que creó en los Pasos 9 y 10 estén enumeradas.
Abra la pestaña Saliente y haga clic en el botón Editar para crear una regla para el tráfico
saliente. El conjunto de reglas depende de los puertos que haya utilizado para el tráfico
gestionado por las instancias de NGINX Plus:

 Si, por ejemplo, ha utilizado el puerto 80 tanto para el tráfico de clientes como para
las comprobaciones de estado de un equilibrador de carga (por ejemplo, AWS
Network Load Balancer), solo necesita una regla.
 Si ha configurado puertos separados para diferentes propósitos, o puertos distintos
del 80 (como 443 para HTTPS), realice los ajustes necesarios. En el campo Destino,
escriba el ID del grupo de seguridad, que aparece en la columna ID del grupo en la
tabla superior (aquí es sg-3bdbf55d).

Para instalar el software NGINX en la instancia en DEBIAN Linux:

Instalación de NGINX Plus en Debian NGINX Plus se puede instalar en Debian 10 (x86_64,
aarch64).

Si ya tiene instalados paquetes antiguos de NGINX Plus, haga una copia de seguridad de
sus archivos de configuración y registro:
$ sudo cp -a /etc/nginx /etc/nginx-plus-backup
$ sudo cp -a /var/log/nginx /var/log/nginx-plus-backup

Crear el directorio: /etc/ssl/nginx :
$ sudo mkdir /etc/ssl/nginx
$ cd /etc/ssl/nginx
Inicie sesión en MyF5 Customer Portal y descargue sus archivos nginx-repo.crt y nginx-
repo.key.

Copie los archivos al directorio /etc/ssl/nginx/:


$ sudo cp nginx-repo.crt /etc/ssl/nginx/
$ sudo cp nginx-repo.key /etc/ssl/nginx/

Descargue y agregue la clave de firma NGINX y la clave de firma de actualizaciones de


seguridad de App Protect:

$ sudo wget https://cs.nginx.com/static/keys/nginx_signing.key && sudo apt-key add


nginx_signing.key
$ sudo wget https://cs.nginx.com/static/keys/app-protect-security-updates.key &&
sudo apt-key add app-protect-security-updates.key

Instale los paquetes de requisitos previos:


sudo apt-get install apt-transport-https lsb-release ca-certificates

Add the NGINX Plus repository:


$ printf "deb https://pkgs.nginx.com/plus/debian `lsb_release -cs` nginx-plus\n" | sudo tee
/etc/apt/sources.list.d/nginx-plus.list

Descargue la configuración de apt nginx-plus para /etc/apt/apt.conf.d:


$ sudo wget -P /etc/apt/apt.conf.d https://cs.nginx.com/static/files/90pkgs-nginx

Actualice la información del repositorio:


$ sudo apt-get update

Instale el paquete nginx-plus. Cualquier paquete antiguo de NGINX Plus se reemplaza


automáticamente.
$ sudo apt-get install -y nginx-plus

Verifique la versión binaria de nginx para asegurarse de que tiene NGINX Plus instalado
correctamente:

$ nginx -v

Para otros SO de Linux puede guiarse acá: https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-


plus/
Conexión a una instancia EC2

Para instalar y configurar NGINX Open Source o NGINX Plus en una instancia, debe abrir
una ventana de terminal y conectarse a la instancia a través de SSH.
 Vaya a la pestaña Instancias en el panel de EC2 si aún no está allí.
 Haga clic en la fila de una instancia para seleccionarla. En la captura de pantalla, se
selecciona instance2.

 Haga clic en el botón Conectar sobre la lista de instancias. Aparecerá la ventana


Conectar a su instancia.
 Siga las instrucciones en la ventana emergente, que están personalizadas para la
instancia seleccionada (aquí instancia2) para proporcionar el nombre del archivo de
clave en los pasos y en el comando ssh de muestra.
CONFIGURACIÓN MrMason:
Pasos de configuración Instancia AWS:
1. sudo apt update
2. sudo apt install git
3. sudo apt-get install zip
4. sudo apt-get install zsh
5. wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | zsh
6. sudo apt update
7. sudo apt install unzip
8. sudo apt install nginx
9. sudo apt install php7.0-fpm php-mysql 
10. sudo apt-get install php7.0-mbstring
11. sudo apt-get install php7.1-curl
12. sudo apt-get install php7.1-zip
13. sudo apt-get install php7.0-xml o sudo apt-get install php-xml
14. sudo service php7.0-fpm restart
15. sudo service nginx restart
16. sudo apt-get install certbot python-certbot-nginx
17. sudo certbot --nginx -d www.msmart.co
18. Se debe instalar composer si es php
Notas: Habilitar las https y http en aws securty group

Instalar php debían: 


1. sudo apt update
2. sudo apt install -y curl wget gnupg2 ca-certificates lsb-release apt-transport-https
3. wget https://packages.sury.org/php/apt.gpg
4. sudo apt-key add apt.gpg
5. echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee
/etc/apt/sources.list.d/php7.list
6. sudo apt update
7. sudo apt install -y php7.1-fpm php7.1-mysql

Notas: Puede configurar o cambiar la versión predeterminada de PHP

sudo update-alternatives --set php /usr/bin/php7.*

Instalar composer debían: 

1. sudo apt install php-cli php-zip wget unzip 


2. php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
3. HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
4. php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else
{ echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
5.  sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
6.  composer -v

PARA CREAR LA BD DE MYSQL:

1. Ir a RDS, escoger Mysql o MariaDB >>5.0, crear una nueva BD llamada : msmason_db
2. Importar el Script de la BD, desde consola Linux por ssh.

Estructura de carpetas de MrMASON

APLICACIÓN WE (PANEL ADMIN) Se debe crear una carpeta dentro de la instancia AWS
LENGUAJE: PHP llamada: home/admin/mrmason-yii/
FRAMEWORK: YII2
Apuntar el archivo configuracion de NGIX a esta carpeta que
deb.
API REST (BACKEND): Se debe crear una carpeta dentro de la instancia AWS
Lenguaje: PHP llamada: “home/admin/mrmason-api/”
Framework: SLIM PHP
Apuntar el archivo configuracion de NGIX a esta carpeta que
deb.
APLICACIONES ANDROIDE E iOS:
APP ANDROID: https://play.google.com/store/apps/details?
- Ya están publicadas en las tiendas, las id=com.mrmason
credenciales de acceso ya las tienen.
APP IOS Apple:
https://apps.apple.com/us/app/mr-mason/id1569624303

IMPORTANTE:
- Cuando se instale en el nuevo servidor, deben tener en cuenta la nueva IP, para actualizarla tanto en el
Backend API, como en los accesos del Panel Admin.
- Igual con la BD y los nuevos datos de acceso.

ARCHIVOS ZIP - ENTREGA FINAL:


URL DRIVE: https://drive.google.com/drive/u/2/folders/12As4QnhYancT5SjOkOWJI1yeMkstTgM2

APLICACIÓN MOVIL (iOS y Android): APP-React-iOS_Android-MrMason.zip


API-BACKEND: backend-api-slim.zip
PANEL ADMIN WEB: frontend_web-yii2.zip
Base de datos MySQL: msmason_db_9_agosto_2021.sql

También podría gustarte