Innovatech Chile runs across three EC2 instances in a private VPC. Deployments happen automatically on every push toDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/DevOpsDuoc/Evaluacion02_Devop_Innovatech/llms.txt
Use this file to discover all available pages before exploring further.
main via the GitHub Actions pipeline, or manually using the shell scripts in proyect/remote-setup/. This page covers both paths and explains how to SSH into private instances through the public bastion.
EC2 architecture
| Instance | Tier | Network | Services |
|---|---|---|---|
ec2-web | Web / Bastion | Public subnet — Elastic IP | tienda-frontend on port 80 |
ec2-app | Application | Private subnet | tienda-backend on port 3001, tienda-backend-despachos on port 3002 |
ec2-datos | Data | Private subnet | MySQL database on port 3306 |
ec2-web is the only instance with a public-facing Elastic IP. Use it as a bastion to reach the private instances.
Terraform prints the IP addresses of all instances as outputs. Run
terraform output after provisioning to get the Elastic IP for ec2-web and the private IPs for ec2-app and ec2-datos.Automatic deployment
Pushing tomain triggers the GitHub Actions workflow, which:
- Builds and pushes updated images to Amazon ECR.
- Sends SSM
RunShellScriptcommands toec2-webandec2-appby theirNametag. - Each instance pulls the latest image and restarts the container.
Manual deployment
Use the manual path when you need to deploy without triggering a push, or when setting up an instance for the first time.SSH access
SSM Session Manager (no SSH key required)
If you have the AWS CLI and the Session Manager plugin installed, you can open a shell without any SSH key or open inbound port:First-time instance setup
Run00-init.sh once on each instance to install Docker before deploying any containers. See deployment scripts reference for the full script content.
docker group membership takes effect.
Deploy containers manually
Copy docker-compose.yml to the instance
Place the Compose file in
/home/ec2-user/app/ — this is the working directory expected by 01-pull_and_deploy.sh.Set the AWS_ACCOUNT_ID environment variable
The Compose file and deploy script reference this variable to construct ECR image URLs.