Amazon ECS features - Amazon Elastic Container Service

Amazon ECS features

The following are key features of Amazon ECS:

  • Options to run your applications on Amazon EC2 instances, a serverless environment, or on-premises VMs.

  • Integration with AWS Identity and Access Management (IAM). You can assign granular permissions for each of your containers. This allows for a high level of isolation when building your applications. In other words, you can launch your containers with the security and compliance levels that you've come to expect from AWS.

  • AWS managed container orchestration with operational best practices built-in, and no control plane, nodes, or add-ons for you to manage. It natively integrates with both AWS and third-party tools to make it easier for teams to focus on building the applications, not the environment.

  • Continuous integration and continuous deployment (CI/CD). This is a common process for microservice architectures that are based on Docker containers. You can create a CI/CD pipeline that takes the following actions:

    • Monitors changes to a source code repository

    • Builds a new Docker image from that source

    • Pushes the image to an image repository such as Amazon ECR or Docker Hub

    • Updates your Amazon ECS services to use the new image in your application

  • Multiple options for a way to interconnect your applications.

    • Service Discovery - Integrates services with AWS Cloud Map namespaces to add entries (specifically, AWS Cloud Map service instances) to the namespace for each task in the Amazon ECS service. To connect, an app resolves these entries as DNS hostname records or uses the AWS Cloud Map API to get the IP address of the tasks.

    • Amazon ECS Service Connect - Define logical names for your service endpoints and use them in your client applications to connect to dependencies.

  • Monitoring and logging

    • Use Amazon CloudWatch to average and aggregate CPU and memory utilization of running tasks. Set alarms to indicate when you need to increase or decrease capacity.

    • Use AWS CloudTrail to record API calls from the management console, AWS SDKs, and AWS Command Line Interface.

    • Use AWS Config to monitor and track how resources were configured, how they relate to one another, and how the configurations and relationships change over time.