Debugging Failed to Register Targets
If you’re seeing a Failed to Register Targets error like:
(service demo-web-dev-EcsService-gOCz3YOQTvV9) failed to register targets in (target-group arn:aws:elasticloadbalancing:us-west-2:111111111111:targetgroup/demo-Targe-H7QJOLZK1CDM/3cc9518a30c0f229) with (error The following targets are not in the target group VPC 'vpc-11111111': 'i-0381a63c79abcf413')
This means your ECS Cluster is in another VPC than the subnets you’re providing to the ECS Service. Try adjusting the config vpc settings so that they match. Here are some examples:
Default VPC
If the ECS Cluster is running in the default VPC, you don’t have to configure anything. The default VPC is used when you do not configure config.vpc
settings.
Custom VPC
If the ECS Cluster is running in a custom VPC that was built with CloudFormation. You must configure the config.vpc
settings
.ufo/config.rb
Ufo.configure do |config|
config.vpc.id = stack_output("vpc-:ENV.Vpc")
config.vpc.subnets.ecs = stack_output("vpc-:ENV.PrivateSubnets").split(',')
config.vpc.subnets.elb = stack_output("vpc-:ENV.PublicSubnets").split(',')
end
Here the CloudFormation stack is named vpc-dev
with outputs that contain the vpc id and subnet ids.
Reference
The table below covers each setting. Each option is configured in .ufo/config.rb
with config.OPTION
. The config.
portion is not shown for conciseness. IE: logger.level
vs config.logger.level
.
Name | Default | Description |
---|---|---|
vpc.id | nil | Used to create ecs and elb security groups in the CloudFormation template. |
vpc.subnets.ecs | nil | The subnets the ECS Container Instances are on. So this is where you want your containers to run. |
vpc.subnets.elb | nil | Subnets used by the ELB load balancer. Defaults to same subnets as ECS subnets when not set. |
vpc.security_groups.ecs | nil | Additional security groups to associate with the ECS tasks. |
vpc.security_groups.elb | nil | Additional security groups to associate with the ELB. |