【问题标题】:EC2 instances not being joined to ECS clusterEC2 实例未加入 ECS 集群
【发布时间】:2020-11-07 09:46:31
【问题描述】:

我的 EC2 实例未显示在 ECS 集群上,但它们出现在 EC2 控制台上。当我指定不同的 ubuntu 映像而不是默认的 Amazon 映像时会出现此问题。

提供我在下面使用的 ecs-cli 命令

ecs-cli up --keypair emaile --capability-iam --size 2 --instance-type t2.medium --launch-type EC2 --image-id ami-03f0fd1a2ba530e75 --cluster-config ec2-cluster --ecs-profile ecs-profile --port 8000

我检查了实例用户数据并为您提供了相同的数据

Content-Type: multipart/mixed; boundary="d9c7ec8c5709925e324f39982c69c71d86d39ec660280837e8a5e69e93c2"
MIME-Version: 1.0

--d9c7ec8c5709925e324f39982c69c71d86d39ec660280837e8a5e69e93c2
Content-Type: text/text/plain; charset="utf-8"
Mime-Version: 1.0

#!/bin/bash
echo ECS_CLUSTER=ec2-cluster >> /etc/ecs/ecs.config

--d9c7ec8c5709925e324f39982c69c71d86d39ec660280837e8a5e69e93c2--

每当我尝试 ecs-cli compose up 时都会出现以下错误

ERRO[0000] Error running tasks                           error="InvalidParameterException: No Container Instances were found in your cluster." task definition=0xc00033e5a0
FATA[0000] InvalidParameterException: No Container Instances were found in your cluster

我认为该问题是可重现的,提前感谢您的帮助

编辑

实例最终日志错误

[   22.043805] cloud-init[1555]: Cloud-init v. 20.2-45-g5f7825e2-0ubuntu1~18.04.1 finished at Sat, 07 Nov 2020 10:04:16 +0000. Datasource DataSourceEc2Local.  Up 22.03 seconds

[[0;1;31mFAILED[0m] Failed to start Execute cloud user/final scripts.

See 'systemctl status cloud-final.service' for details.

[[0;32m  OK  [0m] Reached target Cloud-init target.


【问题讨论】:

  • 这个multipart/mixed 工作正常吗?您可以 ssh 到实例并进行验证吗?
  • @Marcin 我通过 SSH 连接到实例,但找不到 /etc/ecs/ 目录。当我没有指定任何机器映像时,默认的 amazon linux 映像工作正常。
  • 您为什么使用multipart/mixed 存储您的用户数据?这是相当黑客,很少使用。为什么不创建常规用户数据?
  • @Marcin 我没有提供默认生成的任何多部分/混合用户数据。我想指定一个 ubuntu 18.04 ami。我添加了一个显示实例系统日志的编辑。
  • ubutu 18.04 未经过 EBS 优化。要使用它,您必须从头开始设置它。它不仅仅是使用echo ECS_CLUSTER。那你是这样设置的吗?

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


【解决方案1】:

Ubuntu 18.04 不在 list of ECS-optimized AMI 上。该列表仅包括基于 Amazon Linux 1、Amazon Linux 2 和 Windows 的 AMI。

如果您想使用 ubuntu,您已经自行设置了它以便能够使用 ECS。有一些关于如何做到这一点的教程。一个例子是here

【讨论】:

  • 它不工作@Markin。我不知道如何解决它,但你的回答很有用。
猜你喜欢
  • 2021-12-02
  • 2019-12-22
  • 1970-01-01
  • 2022-01-10
  • 2019-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-23
相关资源
最近更新 更多