项目作者: dineschandgr
项目描述 :
Deploying Microservices to AWS ECS Fargate
高级语言:
项目地址: git://github.com/dineschandgr/AWS_Microservices_ECS_Fargate.git
AWS_Microservices_ECS_Fargate
Deploying Microservices to AWS ECS Fargate
- Create 3 separate fargate task definitions for 3 individual microservices
- Add 3 containers for every service as follows
- Microservice Docker image from Docker Hub
- Xray docker image
- Envoy proxy docker image as side car pattern
- Create a fargate service from the task definition
- Configure load balancer and add listener and target group
- Set load balancer health check path to actuator path
Create a name space and enable service discovery for microservice as follows. The private dns is creatd in route 53.
Every time a task ip is changed, the DNS is automatically updated
- movie-catalog-service.microservice.io (servicename.namespace)
- movie-info-service.microservice.io (servicename.namespace)
- ratings-data-service.microservice.io (servicename.namespace)
Use App mesh for managing microservices. Create the following
- Create mesh
- virtual node
- virtual service
Map the virtual node to the fargate service
Important Configurations
- Add the security group of microservices containers to the RDS security group for port 3306 with type Myssql/Aurora
- Exclude port 3306 in proxy configuration for app mesh
- Provide environment variables for the Movie Info and Ratings data service in Movie catalog service
Refer to the following github repo for the source code and the steps to execute
https://github.com/dineschandgr/ratings-data-repo-codepipeline
https://github.com/dineschandgr/movie-info-repo-codepipeline
https://github.com/dineschandgr/movie-catalog-repo-codepipeline
https://github.com/dineschandgr/Microservices_Spring_Boot
Task Definition Config


Service Config

Environment Variables

Xray Distributed tracing

