All infrastructure was deployed as code by Terraform using SSM to store all parameters necessary for the deployment job. S3 was used to store images, logs and Terraform state, SNS was used for notification purposes.
The list of key services includes: CloudWatch, EC2, ElastiCache, Application Load Balancer, Key Management Service, Relational Database Service (Aurora Aurora PostgreSQL), SSM Parameter Store, S3, ECS Container Service, VPC, Route 53, CloudFront, AWS IoT Core, and ECR Container Registry (ECR).
The solution was implemented in accordance with AWS well-architected framework and as a result of that:
- Performant and efficient
- Cost Optimized
The complexity of relationships between AWS building blocks is depicted in the diagram above.