AWS ECS (and AWS Fargate) Features

Container Definition

Property Name

Supported

Override

Note/Extras

Compose/X Property

Command

Y

Y

service.command

Cpu

Y

Y

Auto-defined if not set for Fargate

service.deploy.resources

DependsOn

Y

Y

When joined to same family, can depend on each other

service.deploy.labels.ecs.task.family service.deploy.labels.ecs.depends.condition

DisableNetworking

N

N

N/A

DnsSearchDomains

N

N

Not supported with AWS Fargate

DnsServers

N

N

Not supported with AWS Fargate

DockerLabels

N

Y

Will be added in future version

DockerSecurityOptions

N

N

Not supported with AWS Fargate

EntryPoint

Y

Y

service.entrypoint

Environment

Y

Y

service.environment

EnvironmentFiles

Y

Y

files automatically copied from local to AWS S3

service.env_file

Essential

Y

Y

Automatically determined based on other deploy labels

ExtraHosts

N

N

Not supported with AWS Fargate

FirelensConfiguration

N

N

HealthCheck

Y

Y

Full docker-compose support with commands. Separate healcheck with ELBv2

service.healthcheck

Hostname

Y

Y

Disabled with AWS Fargate

Image

Y

Y

service.image

Interactive

N

N

Links

N

N

Not supported with awsvpc network

LinuxParameters

N

N

LogConfiguration

Y

Y

Full AWS CloudWatch support

service.logging service.x-logging

Memory

Y

Y

Auto-defined if not set for Fargate

service.deploy.resources

MemoryReservation

service.deploy.resources

MountPoints

Y

Y

service.volumes

Name

Y

Y

Generated by CFN

service.name

PortMappings

Y

Y

Full support. Overrides to awsvpc for network

service.ports

Privileged

N

N

Not supported with AWS Fargate

PseudoTerminal

N

N

ReadonlyRootFilesystem

N

N

RepositoryCredentials

Y

Y

service.x-aws-pull_policy

ResourceRequirements

N

N

Secrets

Y

Y

Strongly automated for RDS and others

secrets.x-secrets

StartTimeout

N

N

StopTimeout

N

N

SystemControls

N

N

Ulimits

Y

Y

Automatically disable non AWS Fargate supported

service.ulimits

User

Y

Y

Expects IDs as docker-compose does

service.user

VolumesFrom

N

N

To be implemented

WorkingDirectory

N

N

Task Definition

Property Name

Supported

Override

Note/Extras

Compose/X Property

ContainerDefinitions

Y

Y

Strictly generated by Compose-X

services

Cpu

Y

Y

Automatic value for Fargate based on service.resources

deploy.resources deploy

ExecutionRoleArn

Y

Y

Strictly generated by Compose-X

x-iam

Family

Y

Y

Uses service name or uses label

deploy.labels.ecs.task.family labels

InferenceAccelerators

N

N

IpcMode

N

N

Memory

Y

Y

Auto computed for AWS Fargate

based on deploy.resources

deploy.resources

NetworkMode

Y

N

Always awsvpc

PidMode

N

N

Not supported in Fargate

PlacementConstraints

N

N

Not applicable to Fargate

ProxyConfiguration

Y

Y

See x-appmesh

x-appmesh

RequiresCompatibilities

Y

N

EC2 and Fargate always defined

Tags

Y

Y

Generated by Compose-X

See x-tags

Service Definition

Property Name

Supported

Override

Note/Extras

Compose/X Property

CapacityProviderStrategy

N

Cluster

Y

Y

x-cluster to create or use

x-cluster

DeploymentConfiguration

N

DeploymentController

Y

N

To date, only ECS

DesiredCount

Y

N/A

service.deploy.replicas deploy x-scaling

EnableECSManagedTags

Y

N

LoadBalancers

Y

N/A

x-elbv2

NetworkConfiguration

Y

Y

service.networks x-network

PlacementConstraints

N

N/A

PlacementStrategies

N

N/A

PlatformVersion

Y

Y

Default to 1.4.0 for full features support

PropagateTags

Y

N

Role

Y

N

Can extend default with x-aws- or x-iam

x-iam

SchedulingStrategy

N

N/A

ServiceArn

N

N/A

ServiceName

Y

N

Stricly generated by AWS CFN

ServiceRegistries

Y

Y

See AppMesh

x-appmesh

Tags

Y

Y

TaskDefinition

Y

N

Strictly generated by Compose-X and AWS CFN

Cluster definition

All properties for AWS::ECS::Cluster are supported. Pass them through x-cluster