看起来EC2实例已配置为通过查看第一行来切换行为来检查用户数据是可执行文件还是简单的ascii文本。
除#以外! UNIX shebang like和#cloud-config,还有其他标记可用来告诉EC2如何处理用户数据吗?
试图了解什么是用户数据以及如何处理。最初认为这是EBS根卷中某个地方的简单文本文件,用于存储有关EC2实例的信息。
Working with Instance User Data说用户数据是ascii文本(base64),示例用户数据是管道分隔的键/值对。
replicate-every=1min | replicate-every=5min | replicate-every=10min
并且发现它也是一种运行命令的机制。
Running Commands on Your Linux Instance at Launch告诉用户数据可用于执行常见的自动配置任务(shell脚本或cloud-init指令)。
#!/bin/bash
...
#cloud-config
...
因此正在寻找关于用户数据及其处理方式的清晰,全面的定义。我假设“脚本或云配置,或其他简单的ascii文本。它由第一行的前导字符决定”。正确吗?
基于Mark.B的评论,在AWS文档中搜索了cloud-init。
cloud-init软件包是由Canonical构建的开源应用程序,用于在云计算环境(例如Amazon EC2)中引导Linux映像。 Amazon Linux包含定制版本的cloud-init。它使您可以指定在启动时实例应执行的操作。