实例自定义数据-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

实例自定义数据

chenchuan 2018-08-31 22:41:28 1148

实例自定义数据为您提供实例自定义启动行为及传入数据的功能。您可以在创建实例(RunInstances)时指定实例自定义数据,为您的实例自定义启动行为。例如,自动获取软件资源包、开启服务、打印日志、安装依赖包、初始化Web服务环境等其他配置实例环境的操作。实例自定义数据主要通过不同类型的自定义脚本实现。实例自定义数据也可以作为普通数据,将某些信息传入实例中,您可以在实例中引用这些数据。

使用说明

配置实例自定义数据时,您需要注意:

  • 只支持专有网络VPC类型实例。

  • 实例如果采用了 已停售的实例规格,必须是I/O优化实例。其他 实例规格族 无I/O优化限制。

  • 实例自定义数据需要Base64编码后传入,且编码前的自定义数据不能超过16 KB。

  • 实例必须使用系统镜像或继承于系统镜像的自定义镜像,且只支持下列操作系统:

    Windows实例Linux实例
    Windows Server 2016 64位 Windows Server 2012 64位 Windows Server 2008 64位CentOS Ubuntu SUSE Linux Enterprise OpenSUSE Debian Aliyun Linux

运行频率

实例开始运行时(Running),系统首先以管理员或者root权限运行实例自定义数据,其次运行初始化或 /etc/init信息。

修改实例自定义数据后,是否要重新运行修改过的自定义数据取决于脚本类型和模块类型。例如:

  • 如果您通过Shell脚本配置自定义数据,如 User-Data 脚本,我们不会运行修改后的自定义数据。

  • 如果自定义数据配置的是类似Byobu、Set Hostname和Set Passwords之类的模块,我们不会运行修改后的自定义数据。

  • 如果自定义数据配置的是类似bootcmd、update_etc_hosts和yum_add_repo之类的模块,我们会运行修改后的自定义数据。

    更多详情,请参见cloud-init文档 Modules,并关注模块频率(Module Frequency)。

设置自定义数据

假设您的自定义数据开发环境为Windows计算机,使用 Upstart Job 脚本为您的CentOS实例设置自定义数据。

  1. 使用编辑器创建文本文件,例如Notepad++。
  2. 在创建的文本文件中编辑自定义数据的相关脚本。
    说明
    第一行必须满足实例自定义脚本的格式要求,比如 #!/bin/sh#cloud-config#upstart-job[bat] 和 [powershell]。更多详情,请参见 Linux实例自定义数据 和 Windows实例自定义数据
  3. 调试脚本文件以确认内容正确。
  4. (可选)如果您制作的是 Gzip 压缩脚本 文件,您需要压缩脚本文件为 .gz 格式。
  5. (可选)如果您制作的是 Include文件 文件或 Gzip 压缩脚本 文件,上传脚本文件到可用的存储服务中并获取链接,并设置链接有效期为您的期望值。

    我们推荐您使用阿里云对象存储OSS制作链接,更多详情,请参见 OSS 上传文件 和 设置生命周期

  6. 登录 ECS管理控制台
  7. 参阅 步骤 2:创建ECS实例 创建一台Linux实例。
    说明
    这台实例的网络类型必须是 VPC,并需要选择符合规范的 镜像已停售的实例规格 必须选择I/O优化实例,其他 实例规格族无 I/O 优化限制。

    创建实例时,选择 使用文本形式 输入 自定义数据。若您的自定义数据已经过Base64加密,勾选 输入已采用 base64 编码



  8. 等待创建实例过程。
  9. 实例启动后,参考 连接实例概述 远程连接到目标实例。
  10. 根据您指定的自定义数据查看运行结果,如果出现故障您需要注意查看相关日志文件。以下为在CentOS实例上使用Upstart Job脚本配置自定义数据的输出示例:


    从上面的结果中您可以看到,在实例的 /etc/init 文件夹中生成了一个 part-001.conf 启动任务文件。

相关API:RunInstances + 参数 UserData

查看自定义数据

您可以通过 100.100.100.200 服务器查看实例自定义数据。

  1. 远程连接实例。
  2. 在实例内部运行:

相关API:DescribeUserdata

修改自定义数据

修改自定义数据之前,您必须停止实例。对于按量付费 VPC 类型实例,若您修改自定义数据后需要立即启动实例时,建议您关闭停机不收费选项。

  1. 登录 ECS管理控制台
  2. 在左侧导航栏中,单击 实例
  3. 选择地域。
  4. 选中需要修改自定义数据的实例,并在 操作 列中,单击 设置用户数据
  5. 在弹窗中填入信息后单击 确定

数据自定义 .sh自定义 数据实例 实例自定义数据 自定义实例
分享到
取消 提交回答
全部回答(0)
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

相似问题
最新问题
推荐课程