Warakorn - Fotolia
Container-based virtualization eliminates the need for separate operating systems in each VM -- saving money on licensing costs, boosting performance and improving efficiency. Amazon EC2 Container Service offers hosted, managed and fully programmable APIs to run Docker containers from within EC2. But cloud administrators must manage cloud deployments to reduce or eliminate unused resources.
Each time a VM or container is provisioned to a cloud service such as Amazon EC2 Container Service (ECS), the associated computing resources incur costs. And as long as those resources are allocated to the instance, those costs recur monthly. And while it's easy to set up and use an Amazon ECS cluster to experiment or test applications, it's vital to clean up those resources when you're done -- or pay the price.
There are three ways to free up resources in Amazon ECS: scaling, deregistering and deleting. To start, scale down inactive services; this reduces or eliminates tasks associated with an unnecessary service. By preventing Amazon ECS from starting unnecessary or unproductive new tasks for that service, admins can free up resources for other operations.
Next, deregister unneeded container instances to stop any tasks that are running on the deregistered container. This also prevents the container from starting new tasks. If you plan to eventually delete a cluster, you'll need to deregister all of the container instances inside that cluster. While deregistering removes the container from your cluster, administrators must explicitly terminate the instance to cease billing.
Administrators also can delete services, clusters and even the AWS CloudFormation stack as needed to reduce billing costs and unneeded resources. For example, administrators can delete services within a cluster. Once there are no longer any tasks running in the service, administrators can use the Amazon ECS console to remove the service and free resources.
After the active services within a cluster have been scaled down and deleted, admins can delete the cluster. The ultimate cleanup process is to delete the AWS CloudFormation stack, which then deletes EC2 instances, removes Auto Scaling, deletes any virtual private cloud subnet or Internet gateway allocated to the cluster, and removes any elastic load balancing implementation.
Administrators can perform these operations through the Amazon ECS Management Console or the AWS command-line interface using structured command. Advanced resources, such as EC2 instance management, load balancing and Auto Scaling group management, must be handled through the EC2 Management Console or by deleting the associated AWS CloudFormation stack through the AWS CloudFormation console.
Benefits of using Amazon EC2 Container Service with Docker
Deploy server clusters with AWS EC2 Container Service
Docker on AWS: It's not you, it's me
Dig Deeper on AWS instances strategy and setup
Related Q&A from Stephen J. Bigelow
Navigating data center malfunctions when hardware is off premises can be tricky. Organizations must have strong SLAs with their colo provider to ... Continue Reading
Regression tests and UAT ensure software quality and both require a sizeable investment. Learn when and how to perform each one, and some tips to get... Continue Reading
Learn the meaning of functional vs. nonfunctional requirements in software engineering, with helpful examples. Then, see how to write both and build ... Continue Reading