In this module, you will use Amazon Elastic Container Service (Amazon ECS) to instantiate a managed cluster of Amazon EC2 compute instances and deploy your image as a container running on the cluster. Start Building
a. Client
The client makes a request over port 80 to the load balancer.
b. Load Balancer
The load balancer distributes requests across all available ports.
c. Target Groups
Instances are registered in the application's target group.
d. Container Ports
Each container runs a single application process which binds the node.js cluster parent to port 80 within its namespace.
e. Containerized node.js Monolith
The node.js cluster parent is responsible for distributing traffic to the workers within the monolithic application. This architecture is containerized, but still monolithic because each container has all the same features of the rest of the containers.
Amazon Elastic Container Service (Amazon ECS) is a highly scalable, high performance container management service that supports Docker containers and allows you to easily run applications on a managed cluster of Amazon EC2 instances. With simple API calls, you can launch and stop Docker-enabled applications, query the complete state of your cluster, and access many familiar features like security groups, Elastic Load Balancing, EBS volumes, and IAM roles.
You can use Amazon ECS to schedule the placement of containers across your cluster based on your resource needs and availability requirements. You can also integrate your own scheduler or third-party schedulers to meet business or application specific requirements.
There is no additional charge for Amazon Elastic Container Service. You pay for the Amazon Web Services resources (e.g. Amazon EC2 instances or Amazon EBS volumes) you create to store and run your application.
Time to Complete: 30 minutes
Services Used:
Follow the step-by-step instructions below to deploy the node.js application using Amazon ECS. Click on each step number to expand the section.