Build AWS for new project deployment -- 2

Job ID: 37112250

Budget: $250 – $750 USD

Below are detail

1. Docker Images in ECR (Amazon Elastic Container Registry): Create Docker images of front-end Nuxt.js applications and back-end Laravel applications and push them to ECR.
2. Running Containers in ECS (Amazon Elastic Container Service): Pull Docker images from the ECR using ECS and run them on an EC2 instance or Fargate. At this stage, the back-end Laravel application is configured to connect to RDS.
3. Database in RDS (Amazon Relational Database Service): Use RDS as the database; RDS is a fully managed relational database service with multiple database engines to choose from, including MySQL. Connection information from the Laravel application to RDS is provided through environment variables and the AWS Secret Manager.
4. Networking with VPC (Virtual Private Cloud): All services (ECR, ECS, RDS) are located within a VPC, which allows for networking and security management between services.
5. Traffic Control with ELB (Elastic Load Balancing): Use ELB to route external traffic to applications running on ECS. provides high availability and fault tolerance.

Achievement Criteria:
・The latest source Laravel and Nuxt.js must be deployed and can be checked from a browser.
・MySQL can be used by using RDS.
・Connection between Laravel and MySQL should be established, and no errors should occur.
・The application should be able to deploy automatically (it is automatically deployed when merged into the main branch of GitHub).
 →Use CodePipeline.
・The number of users may number in the tens of thousands, so scalability must be taken into account in the configuration.
・Nuxt.js can upload the generated source to S3 and deploy it using CLoud front.
 →If this is not possible, another method should be considered.
Related categories: PHP System Admin Linux MySQL Amazon Web Services