Conectar un cliente y una base de datos en dos instancias distintas
Para empezar, crearemos dos instancias EC2 dentro de la consola de Amazon. Elegiremos aquellas que estén habilitadas para la capa gratuita. En este caso, Amazon Linux 2 AMI , la versión de x64 bits,
Después, elegimos una Subred en la que estableceremos ambas instancias para permitir el acceso entre ellas, ya que es mas sencillo así que en distintas, en este ejemplo hemos elegido la C.
En la parte inferior, en el recuadro de datos de usuario copiamos el siguiente párrafo de código para la configuración inicial.
El resto lo dejamos por defecto, en la ultima ventana para descargar las claves de acceso a la base de datos, tenemos 2 opciones.
La de descargar / crear nuevas claves de acceso para el usuario y la instancia, o la de recuperar una clave que hayamos creado anteriormente.
Para iniciar sesión en la consola, abriremos un CMD y clicaremos dentro de nuestra instancia en «Conectar» y copiaremos el comando de acceso por SSH.
A continuación, abriremos los puertos desde el grupo de seguridad para permitir acceso a desde cualquier lugar:
Clicamos en «Editar reglas de entrada»
Y agregamos desde HTTP , cualquier lugar permitido.
Hacemos lo mismo con la instancia de la base de datos para crearla( sin agregar el párrafo de código al usuario del EC2 ) y como vemos en la captura anterior, hemos accedido a ambas consolas simultáneamente. ( a la izquierda la Database y a la derecha el cliente ).
sudo yum update
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
sudo yum install mssql-server
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
sudo yum install -y mssql-tools
systemctl status mssql-server
sqlcmd -S localhost -U sa
Las siguiente sentencias nos servirán para instalar el SQL
Una vez instalado en la base de datos, nos vamos al cliente para descargar el archivo comprimido del proyecto cliente que anteriormente hayamos subido a git:
- Conectamos con la instancia mediante CMD y nos ponemos como super usuario: sudo su
- Creamos un directorio y clonamos desde git la app:
Sudo su
mkdir /var/coreapp
cd /var/coreapp
git config –global user.name » RuizRafael «
git config –global user.email rafaelruiz444@hotmail.com
git clone https://github.com/ManuMenendez99/MvcCoreAWSPostgres
- Habilitamos permisos sobre la carpeta donde está la webapp, para poder compilar el proyecto.
chown -R ec2-user /var/coreapp
cd /var/coreapp/MvcCoreAWSPostgres
- Para utilizar los nugets nos metemos dentro del Proyecto
dotnet restore
dotnet build
- Configuramos para que habilite un puerto y corra
nohup dotnet run –urls «http://0.0.0.0:5000» > /dev/null 2>&1 &
Y ejecutando la ip publica del cliente por http (no Https) debería funcionar.
Habría que cambiar la cadena de conexión por la IP pública de la base de datos.
Y podemos comprobar sin problema que se conecta a la instancia de la base de datos desde el cliente y se muestran los productos.
Autor/a: Rafael Ruiz de la Fuente
Curso: Desarrollo Web Full Stack, MultiCloud y Multiplataforma
Centro: Tajamar
Año académico: 2020-2021
Código: https://github.com/RuizRafael/PROYECTO_SOONS_AWS