设置自定义数据(Windows 云服务器)

在创建云服务器时,可以以通过指定自定义数据,配置实例。当云服务器首次启动时,自定义数据将以文本的方式传递到云服务器中,并执行该文本。如果你一次购买多台云服务器,自定义数据会在所有的云服务器首次启动时运行该文本。

相关产品
云服务器 产品页,含版本规格、价格与购买入口。

一、操作场景

这篇以 Windows 云服务器首次启动时,通过传递 PowerShell 格式的脚本为例。

二、注意事项

·Windows Server 2012 R2及以上版本的操作系统均支持自定义数据。

·仅限首次启动云服务器时,通过传递文本执行命令。

·在 Base64 编码前,自定义数据内容不能超过16KB。

·自定义数据通过 Base64 编码传递,如你直接复制非 Base64 的脚这篇件,请不要勾选以上输入已采用 Base64 编码。

·自定义数据依赖 Cloudbase-init 来实现,因此需要确保有安装 Cloudbase-init 服务,公共镜像默认有安装,自定义镜像如已安装则请忽略。

·在启动时,执行自定义数据中指定的任务会增加启动服务器所需的时间。建议你等待几分钟,并在任务完成后,测试任务是否已成功执行。

·本示例中,请使用 PowerShell 标签指定 Windows PowerShell 脚本,例如 <powershell></powershell> 标签。

三、准备文本

请根据你的实际需求,准备文本:

四、PowerShell 脚本

使用 PowerShell 标签,准备一个 PowerShell 脚这篇件。
例如,你需要在云服务器的 C: 盘中创建一个内容为 Hello Tencent Cloud. 的 tencentcloud.txt 文件,则可使用 PowerShell 标签准备以下内容:

<powershell>"Hello Tencent Cloud." | Out-File C:\\tencentcloud.txt</powershell>

五、Base64 编码脚本

1. 执行以下命令,创建一个名称 script_text.ps1 的 PowerShell 脚这篇件。

vi script_text.ps1

2. 按 i 切换至编辑模式,参考以下内容,写入并保存 script_text.ps1 脚这篇件。

<powershell>"Hello Tencent Cloud." | Out-File C:\\tencentcloud.txt</powershell>

3. 按 ESC 输入 :wq 后,按 Enter 保存修改。

4. 执行以下命令,对 script_text.ps1 脚这篇件进行 Base64 编码操作。

base64 script_text.ps1

返回以下信息:

PHBvd2Vyc2hlbGw+CiJIZWxsbyBUZW5jZW50IENsb3VkLiIgfCBPdXQtRmlsZSAgQzpcdGVuY2VudGNsb3VkLnR4dAo8L3Bvd2Vyc2hlbGw+Cg==

六、传递文本

我们提供多种启动实例的方式,主要分为以下两种情况。请根据你的实际需求,进行选择:

通过页面或控制台传递通过 API 传递

1. 参见 创建实例 购买实例,并在2.设置网络和主机中单击其他设置中的高级设置。如下:


2. 在高级设置中,根据实际需求,在 自定义数据 的文本框中输入准备的文本内容。

·PowerShell 脚本:直接输入 PowerShell 脚本。

·Base64 编码脚本:需先勾选以上输入已采用 Base64 编码,再输入 Base64 编码脚本。如下:


3. 按照界面信息逐步操作,完成创建云服务器。

当你通过 API 创建云服务器时,可以将 Base64 编码脚本 中返回的编码结果赋值给 RunInstances 接口的 UserData 参数,以此来传递文本。例如,使用 RunInstances 创建一个包含 UserData 参数的云服务器的请求,将 Base64编码后的字符串作为 UserData (字符串类型)参数值传入即可。

七、验证自定义数据配置

1. 登录云服务器。

2. 在操作系统界面,打开 C:\\ 盘,查看是否存在 tencentcloud.txt 文这篇件。
如果存在 tencentcloud.txt 文这篇件,则表示配置成功。如下:


八、查看执行日志

你可查看 C:\\Program Files\\Cloudbase Solutions\\Cloudbase-Init\\log\\cloudbase-init.log 文件,以获取脚本的执行日志。

赞 (0)
上一篇 4天前
下一篇 4天前