github.com/atsaki/terraform@v0.4.3-0.20150919165407-25bba5967654/website/source/docs/providers/aws/r/ecs_service.html.markdown (about) 1 --- 2 layout: "aws" 3 page_title: "AWS: aws_ecs_service" 4 sidebar_current: "docs-aws-resource-ecs-service" 5 description: |- 6 Provides an ECS service. 7 --- 8 9 # aws\_ecs\_service 10 11 -> **Note:** To prevent race condition during service deletion, make sure to set `depends_on` to related `aws_iam_role_policy`, otherwise policy may be destroyed too soon and ECS service will then stuck in `DRAINING` state. 12 13 Provides an ECS service - effectively a task that is expected to run until an error occures or user terminates it (typically a webserver or a database). 14 15 See [ECS Services section in AWS developer guide](http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html). 16 17 ## Example Usage 18 19 ``` 20 resource "aws_ecs_service" "mongo" { 21 name = "mongodb" 22 cluster = "${aws_ecs_cluster.foo.id}" 23 task_definition = "${aws_ecs_task_definition.mongo.arn}" 24 desired_count = 3 25 iam_role = "${aws_iam_role.foo.arn}" 26 depends_on = ["aws_iam_role_policy.foo"] 27 28 load_balancer { 29 elb_name = "${aws_elb.foo.id}" 30 container_name = "mongo" 31 container_port = 8080 32 } 33 } 34 ``` 35 36 ## Argument Reference 37 38 The following arguments are supported: 39 40 * `name` - (Required) The name of the service (up to 255 letters, numbers, hyphens, and underscores) 41 * `task_definition` - (Required) The family and revision (`family:revision`) or full ARN of the task definition that you want to run in your service. 42 * `desired_count` - (Required) The number of instances of the task definition to place and keep running 43 * `cluster` - (Optional) ARN of an ECS cluster 44 * `iam_role` - (Optional) IAM role that allows your Amazon ECS container agent to make calls to your load balancer on your behalf. This parameter is only required if you are using a load balancer with your service. 45 * `load_balancer` - (Optional) A load balancer block. Load balancers documented below. 46 47 Load balancers support the following: 48 49 * `elb_name` - (Required) The name of the load balancer. 50 * `container_name` - (Required) The name of the container to associate with the load balancer (as it appears in a container definition). 51 * `container_port` - (Required) The port on the container to associate with the load balancer. 52 53 54 ## Attributes Reference 55 56 The following attributes are exported: 57 58 * `id` - The Amazon Resource Name (ARN) that identifies the service 59 * `name` - The name of the service 60 * `cluster` - The Amazon Resource Name (ARN) of cluster which the service runs on 61 * `iam_role` - The ARN of IAM role used for ELB 62 * `desired_count` - The number of instances of the task definition