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 |
|
Family |
Y |
Y |
Uses service name or uses label |
deploy.labels.ecs.task.family labels |
InferenceAccelerators |
N |
N |
||
IpcMode |
N |
N |
||
Memory |
Y |
Y |
|
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 |
|
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 |
|
DeploymentConfiguration |
N |
|||
DeploymentController |
Y |
N |
To date, only ECS |
|
DesiredCount |
Y |
N/A |
||
EnableECSManagedTags |
Y |
N |
||
LoadBalancers |
Y |
N/A |
||
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 |
|
SchedulingStrategy |
N |
N/A |
||
ServiceArn |
N |
N/A |
||
ServiceName |
Y |
N |
Stricly generated by AWS CFN |
|
ServiceRegistries |
Y |
Y |
See 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