.. _aws_ecs_compat_matrix: 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 | service.deploy.resources | | | | | set for Fargate | | +------------------------+-----------+----------+---------------------------------------+---------------------------------------------+ | DependsOn | Y | Y | When joined to same family, | service.deploy.labels.ecs.task.family | | | | | can depend on each other | 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 | service.env_file | | | | | local to AWS S3 | | +------------------------+-----------+----------+---------------------------------------+---------------------------------------------+ | 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 | service.healthcheck | | | | | with commands. | | | | | | Separate healcheck with ELBv2 | | +------------------------+-----------+----------+---------------------------------------+---------------------------------------------+ | 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 | service.deploy.resources | | | | | set for Fargate | | +------------------------+-----------+----------+---------------------------------------+---------------------------------------------+ | MemoryReservation | | | | service.deploy.resources | +------------------------+-----------+----------+---------------------------------------+---------------------------------------------+ | MountPoints | Y | Y | | service.volumes | +------------------------+-----------+----------+---------------------------------------+---------------------------------------------+ | Name | Y | Y | Generated by CFN | service.name | +------------------------+-----------+----------+---------------------------------------+---------------------------------------------+ | PortMappings | Y | Y | Full support. Overrides to | service.ports | | | | | awsvpc for network | | +------------------------+-----------+----------+---------------------------------------+---------------------------------------------+ | 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 | service.ulimits | | | | | supported | | +------------------------+-----------+----------+---------------------------------------+---------------------------------------------+ | 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 | services | | | | | Compose-X | | +-------------------------+-----------+----------+---------------------------------+--------------------------------------------------+ | Cpu | Y | Y | Automatic value for Fargate | deploy.resources | | | | | based on service.resources | :ref:`composex_deploy_extension` | +-------------------------+-----------+----------+---------------------------------+--------------------------------------------------+ | ExecutionRoleArn | Y | Y | Strictly generated by Compose-X | :ref:`x_iam_syntax_reference` | +-------------------------+-----------+----------+---------------------------------+--------------------------------------------------+ | Family | Y | Y | Uses service name or uses label | deploy.labels.ecs.task.family | | | | | | :ref:`composex_families_labels_syntax_reference` | +-------------------------+-----------+----------+---------------------------------+--------------------------------------------------+ | InferenceAccelerators | N | N | | | +-------------------------+-----------+----------+---------------------------------+--------------------------------------------------+ | IpcMode | N | N | | | +-------------------------+-----------+----------+---------------------------------+--------------------------------------------------+ | Memory | Y | Y | Auto computed for AWS Fargate | deploy.resources | | | | | based on 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 | :ref:`appmesh_syntax_reference` | +-------------------------+-----------+----------+---------------------------------+--------------------------------------------------+ | 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 | :ref:`ecs_cluster_syntax_reference` | | | | | create or use | | +--------------------------+-----------+----------+--------------------------+----------------------------------------------+ | DeploymentConfiguration | N | | | | +--------------------------+-----------+----------+--------------------------+----------------------------------------------+ | DeploymentController | Y | N | To date, only | | | | | | ECS | | +--------------------------+-----------+----------+--------------------------+----------------------------------------------+ | DesiredCount | Y | N/A | | service.deploy.replicas | | | | | | :ref:`composex_deploy_extension` | | | | | | :ref:`ecs_composex_scaling_syntax_reference` | +--------------------------+-----------+----------+--------------------------+----------------------------------------------+ | EnableECSManagedTags | Y | N | | | +--------------------------+-----------+----------+--------------------------+----------------------------------------------+ | LoadBalancers | Y | N/A | | :ref:`elbv2_syntax_reference` | +--------------------------+-----------+----------+--------------------------+----------------------------------------------+ | NetworkConfiguration | Y | Y | | service.networks | | | | | | :ref:`x_configs_network_syntax` | +--------------------------+-----------+----------+--------------------------+----------------------------------------------+ | 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 | :ref:`x_iam_syntax_reference` | | | | | 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 | :ref:`appmesh_syntax_reference` | +--------------------------+-----------+----------+--------------------------+----------------------------------------------+ | 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 :ref:`ecs_cluster_syntax_reference`