【问题标题】:Can we use custom AMI for the creation of ECS cluster?我们可以使用自定义 AMI 来创建 ECS 集群吗?
【发布时间】:2022-05-02 23:23:57
【问题描述】:

我创建了一个自定义 AMI,其中预装了某些软件和脚本。

  • 我可以将此 AMI 用于 ECS 集群吗?
  • 我没有看到任何选项 在创建集群时添加 AMI

【问题讨论】:

  • 此外,如何通过 aws-cli 和/或 ecs-cli 使用您的自定义 AMI 创建此集群和/或 EC2 实例?

标签: amazon amazon-ami aws-ecs


【解决方案1】:

是的,你可以。您需要确保 EC2 实例正在运行 ECS 代理。

要将 EC2 实例(使用任何 AMI)附加到 ECS 集群,我们只需将相应的集群名称传递给 ECS_CLUSTER 变量。

参考:https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-install.html

【讨论】:

    【解决方案2】:

    要使您的实例在集群上可用,您必须创建默认集群。

    如果您有自定义的 ecs 集群,您可以使用 userdata 部分设置集群名称。

    ecs 代理需要 /etc/ecs/ecs.config 中可用的 ecs.config 文件中的集群名称。

    您可以在实例启动时使用 userdata 脚本进行设置

    #!/bin/bash
    echo ECS_CLUSTER={cluster_name} >> /etc/ecs/ecs.config
    

    该实例应具有 IAM 角色 ecsinstance

    【讨论】:

      【解决方案3】:

      是的,你可以。你需要做的是:

      1. 创建一个空集群(会有一个复选框供您选择)

      2. 使用您选择的 AMI 创建 Ec2,但您需要确保: 一个。您在 Ec2 上有可用的 ecs-agent 湾。在 ecs.config 文件中添加键值对,即 ECS_CLUSTER=

      一旦完成,容器实例 (ec2) 将在 ECS 集群上显示为“容器实例”

      【讨论】:

        【解决方案4】:

        对于有这些困难的任何人,create the role and the profile 并将其附加到您的汽车组的启动模板中的实例作为先前的答案评论。

        但是,对于 ECS_CLUSTER 部分,我使用的不是为 ECS 准备的 AMI,即深度学习 AMI。这个 AMI 既没有 YUM,所以我用 get-apt 安装了东西。在启动模板中,将这些行添加到用户数据框:

        #!/bin/bash
        cd ~
        curl -O https://s3.eu-west-1.amazonaws.com/amazon-ecs-agent-eu-west-1/amazon-ecs-init-latest.amd64.deb
        sudo dpkg -i amazon-ecs-init-latest.amd64.deb
        sudo mkdir /etc/ecs/
        sudo echo ECS_CLUSTER=YOURCLUSTER >> /etc/ecs/ecs.config
        sudo systemctl start ecs
        

        将 YOURCLUSTER 更改为您的集群名称,对于 curl,选择您区域中的那个(检查 Installing the Amazon ECS container agent on a non-Amazon Linux EC2 instance

        【讨论】:

          猜你喜欢
          • 2019-09-23
          • 1970-01-01
          • 2021-06-20
          • 1970-01-01
          • 2023-03-23
          • 1970-01-01
          • 2017-09-13
          • 2013-01-26
          • 2011-12-21
          相关资源
          最近更新 更多