5Doc_Diseño - iesgrancapitan-proyectos/202324ASIR-Junio-Microservices-and-CI-CD-Pipeline-Builder GitHub Wiki
5. Diseño
5.1. Diseño general
El espacio en el que trebajaremos será la VPC, LabVPc.
Nombre de subred | CIDR | Zona de disponibilidad | Tabla de enrrutamiento | Internet gateway |
---|---|---|---|---|
Public Subnet 1 | 10.16.10.0/24 | us-east-1a | Public Route Table | LabIGW |
Private Subnet 1 | 10.16.30.0/24 | us-east-1a | Private Route Table 1 | |
Public Subnet 2 | 10.16.20.0/24 | us-east-1b | Public Route Table | LabIGW |
Private Subnet 2 | 10.16.40.0/24 | us-east-1b | Private Route Table 2 |
En cuanto a instancias, disponemos de una máquina RDS con MYSQL alojada en la subred privada 2, contiene una base de datos llamada COFFEE, en la que tenemos la tabla suppliers con los siguientes campos.
Campo | Tipo | Null | Key | Otros |
---|---|---|---|---|
id | INT | No | Primary Key | AUTO_INCREMENT |
name | VARCHAR(255) | No | ||
address | VARCHAR(255) | No | ||
city | VARCHAR(255) | No | ||
state | VARCHAR(255) | No | ||
VARCHAR(255) | No | |||
phone | VARCHAR(100) | No |
5.2. Diseño detallado
Nuestro diseño será como el siguiente diagrama:
Desde Cloud9, donde tenemos el código de la aplicación, se crean las imágenes de Docker y se guardan en repositorios de Amazon ECR por separado.
La canalización será invocada por las actualizaciones de CodeCommit, donde se almacenan los archivos de definición de tareas ECS y los archivos AppSpec de CodeDeploy.
Al invocarla, la canalización llama al servicio CodeDeploy para que implemente las actualizaciones. CodeDeploy hará lo necesario para implementar las actualizaciones en el entorno verde. Si no hay errores, el nuevo conjunto de tareas reemplazará al anterior.
Con una simple orden desde la terminal de Cloud9, podremos escalar rápidamente para aumentar o disminuir el número de contenedores automáticamente.