Migrate Existing Tasks

    Your tasks must first be specified in Terraform using the ecs_task_definition resource so that they can then be converted to use the .

    For example, your tasks should be defined with Terraform similar to the following:

    The mesh-task module uses inputs similar to your old ECS task definition but creates a new version of the task definition with additional containers.

    The mesh-task module is used as follows:

    • You should remove the execution_role_arn and task_role_arn fields. The module creates the task and execution roles by default. If you need to use existing IAM role(s), set the task_role and execution_role fields to pass in existing roles.
    • You must set the port field to the port that your application listens on. If your application has no listening port, set outbound_only = true and remove the port field.
    • You must remove the jsonencode() function from the container_definitions field.

    The mesh-task module will create a new version of your task definition with the necessary sidecar containers added so you can delete your existing aws_ecs_task_definition resource.

    Now that your task(s) are migrated to the mesh-task module,

    • Start at the ECS Service section of the Installation Guide to continue installing Consul on ECS.