SDP Amazon ECS Delivery Calibration Guide
SDP Amazon ECS Delivery Calibration Guide
Guide
Table of Contents
Introduc on ..................................................................................................................... 6
ECS-001: Amazon ECS Represents Majority of the Workload .............................................. 7
Requirement ...................................................................................................................... 7
Criteria for Passing ................................................................................................................... 7
Why is this important ............................................................................................................... 7
Technical Enablement Resources .............................................................................................. 7
Amazon Elastic Container Service Documentation .......................................................... 7
Good Example Response .......................................................................................................... 7
Unacceptable Response ........................................................................................................... 7
ECS-002: Automated and Reliable Infrastructure and Workloads Deployment ................... 8
Requirement ............................................................................................................................ 8
Criteria for Passing ................................................................................................................... 8
Why is this important ............................................................................................................... 8
Technical Enablement Resources .............................................................................................. 8
Good Example Response .......................................................................................................... 8
Unacceptable Response ........................................................................................................... 8
ECS-003: Singular Business Purpose for ECS Task Defini ons .............................................. 9
Requirement ............................................................................................................................ 9
Criteria for Passing ................................................................................................................... 9
Why is this important ............................................................................................................... 9
Technical Enablement Resources .............................................................................................. 9
Good Example Response .......................................................................................................... 9
Unacceptable Response ........................................................................................................... 9
ECS-004: Tagging Strategy and Amazon ECS Managed Tags and Tag Propaga on ........... 10
Requirement .......................................................................................................................... 10
Criteria for Passing ................................................................................................................. 10
Why is this important ............................................................................................................. 10
Technical Enablement Resources ............................................................................................ 10
Good Example Response ........................................................................................................ 10
Unacceptable Response ......................................................................................................... 11
ECS-005: IAM Roles for Task Defini on Families............................................................... 11
Requirement .......................................................................................................................... 11
Criteria for Passing ................................................................................................................. 11
Why is this important ............................................................................................................. 11
Technical Enablement Resources ............................................................................................ 11
Good Example Response ........................................................................................................ 11
Unacceptable Response ......................................................................................................... 11
ECS-006: Determining Amazon ECS Task Sizes .................................................................. 12
Requirement .......................................................................................................................... 12
Criteria for Passing ................................................................................................................. 12
Why is this important ............................................................................................................. 12
Technical Enablement Resources ............................................................................................ 12
Good Example Response ........................................................................................................ 12
Unacceptable Response ......................................................................................................... 12
ECS-007: Strategy for Addressing Cluster Capacity ........................................................... 13
Requirement .......................................................................................................................... 13
Criteria for Passing ................................................................................................................. 13
Why is this important ............................................................................................................. 13
Technical Enablement Resources ............................................................................................ 13
Good Example Response ........................................................................................................ 13
Unacceptable Response ......................................................................................................... 13
ECS-008: Strategy for Leveraging Amazon EC2 Spot and Fargate Spot.............................. 14
Requirement .......................................................................................................................... 14
Criteria for Passing ................................................................................................................. 14
Why is this important ............................................................................................................. 14
Technical Enablement Resources ............................................................................................ 14
Good Example Response ........................................................................................................ 14
Unacceptable Response ......................................................................................................... 15
ECS-009: Managing Mul ple Amazon ECS Clusters .......................................................... 15
Requirement .......................................................................................................................... 15
Criteria for Passing ................................................................................................................. 15
Why is this important ............................................................................................................. 16
Technical Enablement Resources ............................................................................................ 16
Good Example Response ........................................................................................................ 16
Unacceptable Response ......................................................................................................... 16
ECS-010: Image Scanning Tool for Security ...................................................................... 16
Requirement .......................................................................................................................... 16
Criteria for Passing ................................................................................................................. 16
Why is this important ............................................................................................................. 17
Technical Enablement Resources ............................................................................................ 17
Good Example Response ........................................................................................................ 17
Unacceptable Response ......................................................................................................... 17
ECS-011: Run me Security Tool for Containerized Workloads........................................... 17
Requirement .......................................................................................................................... 17
Criteria for Passing ................................................................................................................. 18
Why is this important ............................................................................................................. 18
Technical Enablement Resources ............................................................................................ 18
Good Example Response ........................................................................................................ 18
Unacceptable Response ......................................................................................................... 18
ECS-012: Use of Op mized Opera ng Systems................................................................. 18
Requirement .......................................................................................................................... 18
Criteria for Passing ................................................................................................................. 19
Why is this important ............................................................................................................. 19
Technical Enablement Resources ............................................................................................ 19
Good Example Response ........................................................................................................ 19
Unacceptable Response ......................................................................................................... 19
ECS-013: Addressing Compliance Standards .................................................................... 19
Requirement .......................................................................................................................... 19
Criteria for Passing ................................................................................................................. 19
Why is this important ............................................................................................................. 20
Technical Enablement Resources ............................................................................................ 20
Good Example Response ........................................................................................................ 20
Unacceptable Response ......................................................................................................... 20
ECS-014: Best Prac ces for ECS Anywhere ....................................................................... 20
Requirement .......................................................................................................................... 20
Criteria for Passing ................................................................................................................. 20
Why is this important ............................................................................................................. 20
Technical Enablement Resources ............................................................................................ 21
Good Example Response ........................................................................................................ 21
Unacceptable Response ......................................................................................................... 21
ECS-015: Ingress Control for Network Traffic ................................................................... 21
Requirement .......................................................................................................................... 21
Criteria for Passing ................................................................................................................. 21
Why is this important ............................................................................................................. 21
Technical Enablement Resources ............................................................................................ 21
Good Example Response ........................................................................................................ 22
Unacceptable Response ......................................................................................................... 22
ECS-016: Addressing IP Exhaus on .................................................................................. 22
Requirement .......................................................................................................................... 22
Criteria for Passing ................................................................................................................. 22
Why is this important ............................................................................................................. 23
Technical Enablement Resources ............................................................................................ 23
Good Example Response ........................................................................................................ 23
Unacceptable Response ......................................................................................................... 23
ECS-017: Facilita ng Communica on .............................................................................. 23
Requirement .......................................................................................................................... 23
Criteria for Passing ................................................................................................................. 23
Why is this important ............................................................................................................. 23
Technical Enablement Resources ............................................................................................ 23
Good Example Response ........................................................................................................ 24
Unacceptable Response ......................................................................................................... 24
ECS-018: Observability Mechanisms ................................................................................ 24
Requirement .......................................................................................................................... 24
Criteria for Passing ................................................................................................................. 25
Why is this important ............................................................................................................. 25
Technical Enablement Resources ............................................................................................ 25
Good Example Response ........................................................................................................ 25
Unacceptable Response ......................................................................................................... 25
ECS-019: Selec ng Storage Op ons ................................................................................. 25
Requirement .......................................................................................................................... 25
Criteria for Passing ................................................................................................................. 26
Why is this important ............................................................................................................. 26
Technical Enablement Resources ............................................................................................ 26
Good Example Response ........................................................................................................ 26
Unacceptable Response ......................................................................................................... 26
ECS-020: EFS Mount Targets in Availability Zones ............................................................ 27
Requirement .......................................................................................................................... 27
Criteria for Passing ................................................................................................................. 27
Why is this important ............................................................................................................. 27
Technical Enablement Resources ............................................................................................ 27
Good Example Response ........................................................................................................ 27
Unacceptable Response ......................................................................................................... 27
ECS-021: Securing Persistent Storage .............................................................................. 27
Requirement .......................................................................................................................... 27
Criteria for Passing ................................................................................................................. 28
Why is this important ............................................................................................................. 28
Technical Enablement Resources ............................................................................................ 28
Good Example Response ........................................................................................................ 28
Unacceptable Response ......................................................................................................... 28
ECS-022: Task Placement Constraints for EBS ................................................................... 28
Requirement .......................................................................................................................... 28
Criteria for Passing ................................................................................................................. 29
Why is this important ............................................................................................................. 29
Technical Enablement Resources ............................................................................................ 29
Good Example Response ........................................................................................................ 29
Unacceptable Response ......................................................................................................... 29
ECS-023: Managing Mul -Tenant Workloads .................................................................. 29
Requirement .......................................................................................................................... 29
Criteria for Passing ................................................................................................................. 30
Why is this important ............................................................................................................. 30
Technical Enablement Resources ............................................................................................ 30
Good Example Response ........................................................................................................ 30
Unacceptable Response ......................................................................................................... 30
Resources ....................................................................................................................... 31
No ces ........................................................................................................................... 31
Introduc on
This calibra on guide is intended for AWS partners who have applied or are interested in the
Amazon ECS Delivery program. This guide only covers controls under the sec on of “Amazon
ECS Customer Reference Requirements” and the “Common Requirements” are addressed in
a separate guide.
The calibra on guide format is FAQs for each control. It is intended to provide clarity on the
expected level of details for requested evidence. It helps partner improve applica on quality
and reduce cycle me during the technical valida on process. Addi onally, partners can use
the best prac ces in this technical guide to improve their Amazon EKS related service
offerings.
Amazon ECS is used to manage majority of all workloads and core data flows for the system.
Amazon Elastic Compute Cloud instances (EC2 or Fargate) should be used to manage the
underlying infrastructure of the Amazon ECS cluster.
Unacceptable Response
Incomplete list of workloads.
Missing command output.
ECS-002: Automated and Reliable Infrastructure and
Workloads Deployment
Requirement
Changes to the infrastructure and workloads are automated using infrastructure as code
tooling such as AWS CloudFormation, AWS CDK, or other third-party infrastructure as code
tooling. These technical artifacts (both infrastructure and workload) must be version
controlled and stored in a source repository such as GitHub. The tool being used must have
rollback procedures in place in case of failure. *Changes to production clusters/environment
cannot be managed/conducted through the AWS management console.
Unacceptable Response
Vague descriptions or lack of evidence of automation and version control.
ECS-003: Singular Business Purpose for ECS Task
Defini ons
Requirement
In the context of Amazon Elastic Container Service (ECS), a singular business purpose task
is a task that runs a single application process in a container image. This approach is
considered best practice when deploying containers on ECS because it ensures that each
container image is focused on a single, well-defined function. Having a single purpose for
each container makes it easier to manage and maintain the containers, as well as to scale and
update individual components. It also improves security by reducing the attack surface and
making it easier to apply security patches to specific components.
Provide a list of created task definitions and description of their business functions.
Unacceptable Response
Tasks performing multiple unrelated functions or vague descriptions.
ECS-004: Tagging Strategy and Amazon ECS Managed
Tags and Tag Propaga on
Requirement
To ensure that application versions are tagged appropriately and Amazon ECS Managed Tags
and Tag Propagation are enabled, the following practices should be followed:
Description of tagging strategy used by the partner to ensure application versions are
tagged appropriately based on running task definitions
Description of tag dimensions that accurately represent how tasks are launched within
an Amazon ECS cluster
Example of tag dimensions being used within and/or across Amazon ECS clusters that
demonstrate that tasks are being mapped to singular business processes.
Unacceptable Response
Lack of clear tagging strategy or examples.
ARN of task definition files from the case studies provided that shows that the IAM
role attached are scoped down by the principles of least privilege
Unacceptable Response
Task definitions lacking proper IAM role configurations.
ECS-006: Determining Amazon ECS Task Sizes
Requirement
Task definitions need to be appropriately sized based on application requirements for tasks
running in an Amazon ECS cluster to be able to scale properly and for capacity planning
purposes.
Description of resource reservation and limits for running tasks within partners
Amazon ECS cluster
Example task definition file that demonstrates proper usage of resource reservations
and limits
Unacceptable Response
Vague or incomplete descriptions of task sizes and resource settings.
ECS-007: Strategy for Addressing Cluster Capacity
Requirement
Amazon ECS Capacity Providers allow for Amazon ECS clusters to scale your clusters up
and down for you. The three different capacity providers available include the at least one of
the following: 1) Amazon EC2, 2) Fargate, and 3) Fargate Spot. The recommended approach
for scaling clusters is to leverage capacity providers and to not scale clusters manually.
Description of how the partner has configured Amazon ECS capacity providers to
address scaling events within their Amazon ECS clusters
Unacceptable Response
Lack of proper configuration descriptions.
ECS-008: Strategy for Leveraging Amazon EC2 Spot and
Fargate Spot
Requirement
Spot capacity is appropriate for batch processing, machine-learning workloads, and
dev/staging environments where temporary downtime is acceptable. During high demand, the
unavailability of Spot capacity can cause delays in Fargate Spot tasks and EC2 Spot instance
launches. However, ECS services and EC2 Auto Scaling groups will retry launches until the
required capacity is available. Spot capacity will not be replaced with on-demand capacity.
When overall demand increases, instances and tasks may be terminated with a two-minute
warning, and tasks should start an orderly shutdown to minimize errors. To minimize Spot
shortages, partners should utilize capacity across multiple regions and availability zones,
leverage multiple EC2 instance types in autoscaling groups, and use a capacity-optimized
Spot allocation strategy
Please provide the following as evidence: Note : Please note that the AWS CLI command
below should be run prior to completing the self-assessment
Description of the strategy used to minimize Spot capacity shortages when utilizing
EC2 Spot Instances and Fargate Spot.
Output of "aws ecs describe-capacity-providers —region $region".
Output of "aws ec2 describe-spot-fleet-requests —region $region".
Unacceptable Response
Missing command outputs or vague descriptions.
Resource isolation: You might want to create separate Amazon ECS clusters for
different applications or environments, to isolate their resources and prevent potential
interference between them.
Different deployment pipelines: If you have multiple applications with different
deployment pipelines, you can create separate Amazon ECS clusters for each
application to manage their deployments independently.
Different scaling requirements: If you have different applications with varying
resource utilization patterns, you can create separate Amazon ECS clusters for each
application to optimize their scaling and cost.
Different security requirements: If you have different applications with different
security requirements, you can create separate Amazon ECS clusters for each
application to manage their security independently.
Different network requirements: If you have different applications with different
network requirements, you can create separate Amazon ECS clusters for each
application to manage their network resources independently.
Description of IaC tool being used to define and deploy Amazon ECS clusters.
Partners may also provide sample templates that cover how container related
infrastructure is being deployed and managed.
Description of the tool being used for multi-cluster management.
If Amazon ECS clusters and their respective workloads are being deployed on-prem
using ECS-A, hybrid scenarios, please provide justification for doing so.
If multiple AWS accounts are being used, please provide description that details how
AWS accounts are mapped per cluster/workload and the purpose for each cluster
being defined. Example would be a scenario in which an AWS account is being used
as the “management” or “control” plane that is then used to deploy Amazon ECS
clusters to target AWS accounts.
Unacceptable Response
Lack of detailed descriptions or justifications.
Unacceptable Response
Lack of detailed descriptions or evidence of image scanning.
Amazon ECS cluster has a tool or configuration in place to protect running containers
from malicious syscalls being made to the underlying host operating system.
The specific tool or configuration used for protection provides evidence that it is
actively protecting running containers
If open-source tooling/third party tooling is being used, provide description of the
specific tool and security modules/configurations added
If Windows containers are being used, the robust security boundary within the
Windows environment and the tool used to assess running Windows containers
Criteria for Passing
Description of security tool or configuration.
Evidence of active protection for running containers.
Unacceptable Response
Lack of evidence of runtime security measures.
Amazon Linux
Ubuntu Linux
Bottlerocket OS
Windows
Unacceptable Response
Lack of detailed descriptions or justifications.
Description of internal processes and tooling used to address customer workloads that
must adhere to regulatory compliance standards
Description of operational run books that is passed off to the customer after the
workload has been implemented that outlines the regulatory compliance guidelines
needed to address third-party audits
Unacceptable Response
Lack of detailed descriptions or evidence of compliance measures in the case where customer
is subject to regulatory requirements.
Partners that are leveraging ECS-A for deploying capacity on-prem or at various edge
locations must provide the following as evidence
Unacceptable Response
Lack of detailed descriptions or guidance.
Description of the ingress controller and infrastructure like: VPCs, NAT Gateways,
Subnets, and ENIs and their configurations. Partners may also provide screenshot or
pseudo-code that describes how the ingress method of choice is configured to securely
allow traffic into the tasks.
Description of network modes and load balancing systems and their associated
configurations; along with elaborations on why certain strategies were used.
1. A Network Load Balancer with a TCP listener that is associated with a single target
group. This target group is configured to register its targets using IP mode and
perform health checks on its targets using HTTP protocol.
2. An NGINX service deployed under Amazon ECS which registers its tasks with the
aforemen oned target group. NGINX performs the role of a reverse-proxy –
forwarding requests to other backend services – also deployed under Amazon ECS
within the same VPC.
3. A set of backend of services deployed under Amazon ECS, which have registered
themselves with an AWS Cloud Map service registry and, therefore, can be reached
from the NGINX service using their private DNS names.
4. An AWS Lambda func on that is triggered on a schedule in Amazon EventBridge. It
discovers backend services registered under service registries in AWS Cloud Map and
then updates proxy configura ons for the NGINX service.
Unacceptable Response
Lack of detailed descriptions or configurations.
Descrip on on strategy about how to address IP exhaus on within the VPC that the
ECS Tasks are being deployed to such as, Mul ple subnets, custom ENI configura ons
with Trunking, changing task density based on official documenta on found here:
AWS ECS Documenta on for IP Exhaus on
Unacceptable Response
Partner has no mechanism in place to address potential IP exhaustion, and the solution is at
risk of losing network topology fidelity.
1. A Network Load Balancer with a TCP listener that is associated with a single target
group. This target group is configured to register its targets using IP mode and
perform health checks on its targets using HTTP protocol.
2. An NGINX service deployed under Amazon ECS which registers its tasks with the
aforemen oned target group. NGINX performs the role of a reverse-proxy –
forwarding requests to other backend services – also deployed under Amazon ECS
within the same VPC.
3. A set of backend of services deployed under Amazon ECS, which have registered
themselves with an AWS Cloud Map service registry and, therefore, can be reached
from the NGINX service using their private DNS names.
4. An AWS Lambda func on that is triggered on a schedule in Amazon EventBridge. It
discovers backend services registered under service registries in AWS Cloud Map and
then updates proxy configura ons for the NGINX service.
Unacceptable Response
Lack of detailed descriptions or configurations.
1. Ability to collect and filter metrics at both the application/container layer and the
infrastructure layer.
2. Ability to capture metrics and logs during service-level scaling event
3. Ability to support monitoring of several environments - environments that span
multiple AWS Regions, accounts, and/or hybrid (ECS & ECS Anywhere, if
applicable)
4. Ability to support distributed tracing to analyze and debug applications running
within an Amazon ECS cluster
Unacceptable Response
A partner that simply states “we are using Datadog” as an example is not an acceptable
response. All topics defined above must be addressed in their response of the response itself
or we will mark this particular control as a fail.
EFS for Linux containers on Fargate or EC2 with concurrent access and horizontal
scalability requirements
EBS for EC2 deployed transactional database applications with sub-millisecond
latency requirements, that do not require a shared file system when scaled
horizontally. (EBS is unavailable for Fargate deployments currently).
External Database service integrations for workloads without ultra-low latency
requirements
EBS for workloads that require high performance storage during their lifecycle but do
not require data persistence after task completion
Docker Volumes plugin may be used for ECS tasks using the docker container
runtime provided they are hosted on an EC2 instance with an EBS volume available
to mount to, however use of this volume type may result in data loss if the instance is
stopped and the task is relocated
FSx for Windows File Server for clusters that contain windows instances
Other 3rd party plugins or integrations may be used depending on the specific
requirements for the workload and performance characteristics of the storage option
selected
Description of the workload and storage selected, required (or expected) performance
metrics needed and the reasoning for each storage/workload pairing
Unacceptable Response
We use EBS volumes.
ECS-020: EFS Mount Targets in Availability Zones
Requirement
For workloads that utilize EFS, an Amazon ECS task can only mount an Amazon EFS file
system if the Amazon EFS filesystem has a mount target in the Availability Zone the task
runs in. The Partner must ensure all Availability zones that will run tasks have a mount point
available so that storage is accessible throughout the cluster
Confirmation of whether EFS was or was not used (If no EFS was used, this
requirement is N/A)
A list of the Availability zones that are expected to run tasks, and confirmation that
access points have been made in each of these availability zones
Unacceptable Response
Lack of confirmations or lists.
Security Groups can be configured to permit and deny traffic to EFS mount targets on
port 2049 based upon the security group connected to the ECS instances, or when
using awsvpc network mode within the cluster at the ECS task level
ECS tasks can be configured to require an IAM role for file system access when
mounting to the EFS file system. See Using IAM to control file system data access
(https://docs.aws.amazon.com/efs/latest/ug/iam-access-control-nfs-efs.html) in the
Amazon Elastic File System User Guide.
Amazon EFS access points are application-specific entry points into an Amazon EFS
file system. You can use access points to enforce a user identity, including the user's
POSIX groups, for all file system requests that are made through the access point.
Access points can also enforce a different root directory for the file system. This is so
that clients can only access data in the specified directory or its sub-directories.
Unacceptable Response
Lack of detailed descriptions or configurations.
Unacceptable Response
Lack of detailed lists or descriptions.
Short description of the specific requirements set out by the client that constitutes
operating in an environment with hard multi-tenancy.
Description of a Tenant Operator being used to manage tenants within a cluster.
Tooling/ISV solution to help run/manage multiple virtualized clusters on a single
underlying cluster which allows for hard(er) multi-tenancy.
Tooling/ISV solution to help run/manage multiple AWS accounts i.e AWS
Organizations
Unacceptable Response
Lack of detailed definitions or configurations.
Resources
Visit AWS Service Delivery Program Guide to get overview of the program.
Explore AWS Service Delivery Benefits to understand AWS Service Delivery benefits.
Find Amazon ECS Service Delivery checklist.
Visit How to build a microsite to understand on building a Prac ce/solu on page
Check out How to build an architecture diagram to build an architecture diagrams.
Learn about Well Architected Framework on Well Architected Website
No ces
Partners are responsible for making their own independent assessment of the
informa on in this document. This document: (a) is for informa onal purposes only,
(b) represents current AWS product offerings and prac ces, which are subject to
change without no ce, and (c) does not create any commitments or assurances from
AWS and its affiliates, suppliers or licensors. AWS products or services are provided
“as is” without warran es, representa ons, or condi ons of any kind, whether express
or implied. The responsibili es and liabili es of AWS to its customers and partners are
controlled by AWS agreements, and this document is not part of, nor does it modify,
any agreement between AWS and its customers/partners.