【问题标题】:user_data script not being executed at boot time but it works when executed manuallyuser_data 脚本在启动时未执行,但在手动执行时有效
【发布时间】:2022-01-03 14:31:43
【问题描述】:

我有一个简单的 powershell 脚本,希望在启动时执行,以便 EC2 实例注册到 ECS 集群:

user_data.ps1

Import-Module ECSTools
[Environment]::SetEnvironmentVariable("ECS_ENABLE_AWSLOGS_EXECUTIONROLE_OVERRIDE", $TRUE, "Machine")
Initialize-ECSAgent -Cluster "my-dev-cluster" -EnableTaskIAMRole -EnableTaskENI

实例启动后,我没有看到它在我的 ECS 集群中注册。但是,如果我按照这些步骤手动执行脚本,它就可以工作:

  • 转到 EC2,然后选择实例,然后选择操作 -> 实例设置 -> 编辑用户数据
  • 然后复制用户数据脚本
  • 使用会话管理器连接到实例
  • 粘贴并执行用户数据脚本

我看到 EC2 已注册到 ECS 集群。

有人可以解释一下我缺少什么吗?

【问题讨论】:

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


    【解决方案1】:

    事实证明,我需要使用 </powershell> 标记来封装我的 powershell 脚本,如下所示:

    <powershell>
    Import-Module ECSTools
    [Environment]::SetEnvironmentVariable("ECS_ENABLE_AWSLOGS_EXECUTIONROLE_OVERRIDE", $TRUE, "Machine")
    Initialize-ECSAgent -Cluster "my-dev-cluster" -EnableTaskIAMRole -EnableTaskENI
    </powershell>
    

    之后,我的 powershell 脚本 user_data 成功执行,并且我的 ECS 实例已成功注册到集群

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-18
      • 1970-01-01
      • 2021-08-15
      • 2018-12-24
      • 1970-01-01
      • 2017-06-12
      • 1970-01-01
      • 2010-12-11
      相关资源
      最近更新 更多