本文介绍如何准备适用于Windows实例的实例自定义数据脚本,以及如何传入实例自定义数据和验证效果。
前提条件
如果为已有实例修改实例自定义数据,该实例必须处于已停止状态。警告 停止实例可能导致业务中断,建议您在非业务高峰期时执行该操作。
背景信息
Windows实例自定义数据功能为Windows实例提供运行初始化脚本的能力,在实例启动时系统首先以管理员权限运行实例自定义数据。实例自定义数据的使用限制如下:
- 仅网络类型为专有网络VPC的实例支持实例自定义数据功能。
- 实例必须使用公共镜像或基于公共镜像创建的自定义镜像,且必须为以下镜像之一:
- Alibaba Cloud Linux、CentOS、CentOS Stream、Ubuntu、SUSE Linux Enterprise Server、Red Hat Enterprise Linux、OpenSUSE、Debian、AlmaLinux、Rocky Linux、Fedora
- Windows Server 2008 R2及更高版本
- 在售的实例规格均支持实例自定义数据功能。但已停售的实例规格中,仅I/O优化实例支持实例自定义数据功能,更多信息,请参见已停售的实例规格。
- 执行时的实例自定义数据必须为Base64编码形式,且在进行Base64编码前自定义数据内容的大小不能超过16 KB。说明 您可以在控制台输入未经过Base64编码的实例自定义数据,控制台会自动进行Base64编码。如果您不在控制台输入实例自定义数据,请先自行将实例自定义数据进行Base64编码。
操作步骤
- 准备实例自定义数据。您可以通过Bat和PowerShell准备Windows实例自定义数据,不同脚本类型的特点以及示例请参见:
- Bat
- PowerShell
- 将实例自定义数据传入实例。
- 创建实例时传入实例自定义数据:在系统配置页面中,单击展开高级选项区域,然后在实例自定义数据区域输入实例自定义数据。如果实例自定义数据已进行Base64编码,请选中输入已采用Base64编码。向指定文件写入内容的示例如下图所示。
- 为已有实例修改实例自定义数据:在实例列表页面中,选择
> 实例设置 > 设置用户数据,然后在用户数据区域输入新的实例自定义数据。说明 对于按量付费实例,如果您需要在修改自定义数据后立即启动实例,建议停止模式设置为保留并收费。向指定文件写入内容的示例如下图所示。
说明 修改Windows实例自定义数据后,启动实例时不会重新运行新的实例自定义数据。
- 创建实例时传入实例自定义数据:在系统配置页面中,单击展开高级选项区域,然后在实例自定义数据区域输入实例自定义数据。如果实例自定义数据已进行Base64编码,请选中输入已采用Base64编码。向指定文件写入内容的示例如下图所示。
- 查看传入实例的内容和运行效果。
Bat
Bat脚本具有以下特点:
- 首行为
[bat]
,且起始位置不能有空格。 - 只能输入半角字符,不能有多余字符。
示例Bat脚本:
[bat]
echo "bat test" > C:\userdata_test.txt
示例Bat脚本的效果为在实例首次启动时向userdata_test.txt写入内容"bat test"
,如下图所示。
PowerShell
PowerShell脚本具有以下特点:
- 首行为
[powershell]
,且起始位置不能有空格。 - 只能输入半角字符,不能有多余字符。
示例PowerShell脚本如下:
[powershell]
write-output "powershell test" | Out-File C:\userdata_test.txt
示例PowerShell的效果为在实例首次启动时向userdata_test.txt写入内容powershell test
,如下图所示。
腾讯云1折,限时活动,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠
转转请注明出处:https://www.yunxiaoer.com/151753.html