【问题标题】:ECS, how to add user-data after creating ecs instanceECS,创建ecs实例后如何添加用户数据
【发布时间】:2021-11-30 02:17:11
【问题描述】:

创建 ECS 实例定义后,我找不到指定用户数据的方法。

文件说You can pass this user data into the Amazon EC2 launch wizard in Step 6.g of Launching an Amazon ECS Container Instance.

https://docs.aws.amazon.com/AmazonECS/latest/developerguide/bootstrap_container_instance.html#multi-part_user_data

ECS自动启动,如何指定用户数据?

我想将/var/log/syslog 发送到cloudwatch,我需要添加user data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_cloudwatch_logs.html)

【问题讨论】:

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


    【解决方案1】:

    我必须将用户数据添加为自动缩放组属性

    步骤是

    1. 复制现有的启动配置
    2. 编辑启动配置的用户数据
    3. 编辑自动缩放组以使用创建的启动配置
    4. 终止 ecs 实例,以便修改后的自动扩展组使用新的启动配置启动新的 ec2

    【讨论】:

      【解决方案2】:

      通过 terraform 我们可以在启动配置中将其作为模板文件传递

      data "template_file" "user_data" {
        template = "${file("${path.module}/templates/user_data.sh")}"
      
        vars = {
          ecs_config        = "${var.ecs_config}"
          ecs_logging       = "${var.ecs_logging}"
          cluster_name      = "${var.cluster}"
          env_name          = "${var.environment}"
          custom_userdata   = "${var.custom_userdata}"
          cloudwatch_prefix = "${var.cloudwatch_prefix}"
        }
      

      【讨论】:

        【解决方案3】:

        默认情况下,用户数据脚本和 cloud-init 指令仅在 EC2 实例启动时的第一个引导周期内运行。

        https://aws.amazon.com/premiumsupport/knowledge-center/execute-user-data-ec2/

        在文章中还解释了进一步可能的解决方法。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-06-03
          • 2020-12-15
          • 2019-12-22
          • 2018-12-27
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多