【问题标题】:No instances in ECS cluster [closed]ECS集群中没有实例[关闭]
【发布时间】:2018-11-29 23:23:11
【问题描述】:

我在周末玩了 Terraform 和 AWS,但遇到了 ECS 的难题……我认为我的配置是正确的,但由于某种原因,我的任务定义产生的 EC2 实例没有绑定到我的集群。我的定义资源如下所示:

resource "aws_launch_configuration" "myapp" {
  name                        = "myapp-launchcfg"
    image_id                    = "ami-0acc9f8be17a41897"
    instance_type               = "t2.micro"
    associate_public_ip_address = true
    iam_instance_profile        = "${aws_iam_instance_profile.myapp.arn}"
    key_name                    = "${aws_key_pair.myapp.key_name}"

    user_data = "#!/bin/bash\necho ECS_CLUSTER=${aws_ecs_cluster.myapp.name} >> /etc/ecs/ecs.config"
}

一切都正确创建,没有错误,但是 ECS 集群中没有运行任何实例……但是有一个 EC2 实例正在运行。我不确定user_data 块是否正确,或者当我从 EC2 实例中抓取终端的屏幕截图时执行,它就在登录提示符处。有什么想法吗?

【问题讨论】:

  • 是否加入了默认的ECS集群?
  • @ydaetskcoR 我已经删除了默认的 ECS 集群,我想从一个完全空白的状态开始。
  • 能否查看EC2实例中的ecs日志。
  • 您是否有机会在 Windows 机器上执行此操作?无论如何,解决此问题的唯一确定方法是检查机器上的用户数据日志。
  • 我不明白为什么这个问题被关闭了。对我有用

标签: amazon-web-services terraform amazon-ecs


【解决方案1】:

到目前为止,感谢 cmets,我最终设法解决了这个问题,所以我会把解决方案放在这里,让其他人偶然发现。

主要问题是我正在创建一个 VPC 和一个子网,但当我进一步观察时,AWS 也在创建一个默认子网,因为我已经创建了一个自定义子网并绑定到该默认子网并没有被使用.在进一步检查 EC2 实例和子网之间的绑定后,该绑定是针对默认子网的,所以最后我不得不将 Terraform 中的初始子网资源从 resource "aws_subnet" {} 更改为 resource "aws_default_subnet" {} 以提供我想要的设置这个默认实例。

第二,最后,我必须修改我的路由表,将来自0.0.0.0/0 的所有流量路由到我的 Internet 网关。

现在启动并运行,还有很多东西要学,但你去吧!

【讨论】:

    【解决方案2】:

    您还可以将负载均衡器与您的 ECS 集群和自动扩缩组结合使用。要以这种方式将自动伸缩组绑定到 ECS 集群,您可以配置 aws_autoscaling_attachment。这将确保该 Auto Scaling 组启动的任何实例都注册到目标组(如果是 Application Load Balancer),或者如果您使用的是直接注册到 ELB。示例:

    resource "aws_autoscaling_attachment" "default" {
        autoscaling_group_name = "${var.my_asg_name}"
        alb_target_group_arn = "${var.my_alb_target_group_arn}"
        #elb = "${var.my_elb_id}" #in case of elb
    }
    

    在这种情况下,您可以使用已预安装和配置了 ECS 代理的 ECS 优化 AMI。例如linux 你必须使用你的用户数据脚本提供一个环境变量,例如:

    echo 'ECS_CLUSTER=my_cluster_name' >> /etc/ecs/ecs.config

    这会将代理链接到正确的集群以进行部署。

    【讨论】:

      猜你喜欢
      • 2019-02-24
      • 2018-05-07
      • 1970-01-01
      • 1970-01-01
      • 2020-02-07
      • 1970-01-01
      • 2021-12-02
      • 2022-01-11
      • 2016-09-01
      相关资源
      最近更新 更多