【问题标题】:Configure Amazon EC2 User-Data with specific code for instance launch and restart使用特定代码配置 Amazon EC2 用户数据以启动和重启实例
【发布时间】:2019-07-03 18:01:10
【问题描述】:

我正在创建一个 AWS EC2 启动模板,其中包含用户数据字段中的命令,以便在首次启动实例时执行操作(包更新、安装软件、格式化 EBS 卷等)。除此之外,我还想在实例重启或后续启动时执行任务,例如挂载现有 EBS 卷以及配置和挂载易失 SSD 卷。我看到我可以使用 MIME 类型在此处重新启动实例时运行代码:

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

所以,我最初启动实例之后,我可以清楚地修改用户数据,但这很麻烦,因为它可能需要手动干预或需要等待实例执行初始用户数据代码在实例初始化时运行。

我的问题是:

是否可以将多部分 MIME 格式配置为运行将在实例初始化时执行的代码以及将在每次实例重新启动时运行的其他代码?

【问题讨论】:

    标签: amazon-web-services amazon-ec2


    【解决方案1】:

    我了解您想要实现的是使用 Userdata 传递两组命令。一组将在实例创建时执行,另一组应在每次重新启动时执行。如果我误解了,请让我知道。

    对于第一部分,您可以使用您已经知道的 Userdata 本身。对于应在每次重新启动时运行的命令,您可以利用 rc.local

    脚本/etc/rc.local 供系统管理员使用。它通常在所有正常系统服务启动后执行,在切换到多用户运行级别等过程结束时执行。您可以使用它来启动自定义服务或安装额外的卷。

    要写入/etc/rc.local,您可以从 S3 下载命令集并复制到文件中,或者您可以简单地回显它。示例:

    echo 'echo HelloWorld' >> /etc/rc.local
    

    希望这会有所帮助。

    【讨论】:

    • 完美运行。谢谢!我只需要在最后添加chmod +x /etc/rc.d/rc.local
    猜你喜欢
    • 2023-03-12
    • 2012-11-28
    • 1970-01-01
    • 2012-06-27
    • 2011-01-25
    • 1970-01-01
    • 2018-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多