【问题标题】:AWS EC2 User Data doesn't work after modifying itAWS EC2 用户数据在修改后不起作用
【发布时间】:2023-03-15 21:01:02
【问题描述】:

注意:没有关于修改 EC2 实例用户数据的问题。

我的案例:我在 EC2 首次启动时添加了以下用户数据,它运行良好。

#! /bin/bash
cd ~
echo "Test" > index.html
python -m SimpleHTTPServer 80

启动实例后,为了修改用户数据,我停止了实例,更改了用户数据,然后重新启动了实例。但这次脚本不工作了。

#! /bin/bash
cd ~
echo "Test2" > index.html
python -m SimpleHTTPServer 80

我不明白为什么修改后的用户数据不起作用。

【问题讨论】:

    标签: amazon-web-services amazon-ec2 user-data


    【解决方案1】:

    引用User data and shell scripts

    默认情况下,用户数据脚本和 cloud-init 指令仅在您首次启动实例时的启动周期内运行。您可以更新您的配置以确保您的用户数据脚本和 cloud-init 指令在您每次重新启动实例时运行。有关更多信息,请参阅 AWS 知识中心中的 How can I execute user data with every restart of my EC2 instance?

    【讨论】:

      【解决方案2】:

      默认情况下,用户数据仅在首次启动时运行(使用实例存储卷的实例除外)

      如果您想删除一次,请使用以下信息:

      根据来自https://serverfault.com/questions/797482/how-to-make-ec2-user-data-script-run-again-on-startup的回答

      rm /var/lib/cloud/instances/*/sem/config_scripts_user

      或者

      rm /var/lib/cloud/instance/sem/config_scripts_user

      【讨论】:

        【解决方案3】:

        对于 Windows 实例,只需在用户数据中添加 <persist>true</persist>

        https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-windows-user-data.html

        【讨论】:

          猜你喜欢
          • 2017-01-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-11-09
          • 1970-01-01
          • 2019-01-07
          • 1970-01-01
          • 2017-06-22
          相关资源
          最近更新 更多