实例自定义脚本是阿里云 ECS 为用户提供的一种自定义实例启动行为的脚本,详细信息请参考阿里云线上帮助文档:
实例自定义数据。
本文档主要介绍在创建实例时,您怎么使用这个自定义脚本来配置自己的 yum 源、NTP 服务和 DNS 服务。您也可以使用这个脚本自定义 Windows 实例的 NTP 服务和 DNS 服务。
场景
目前,实例启动时,阿里云会为实例自动配置预定义的 yum 源、NTP 服务和 DNS 服务。但是,您可能想拥有自己的 yum 源、NTP 服务和 DNS 服务,此时,您就可以使用实例自定义脚本来实现这个需求,此时您要注意:
- 如果您自定义了 yum 源,阿里云官方将不再提供 yum 源相关支持。
- 如果您自定义了 NTP 服务,阿里云官方不再提供相关时间服务。
配置方法
您可以按以下步骤实现上述场景需求。
登录 阿里云 ECS 控制台,创建实例,配置如下:
- [backcolor=transparent]网络类型:VPC 网络
- [backcolor=transparent]实例规格:I/O 优化实例
- [backcolor=transparent]镜像:公共镜像的 CentOS 7.2
在创建页面的 [backcolor=transparent]自定义数据 输入框中输入如下内容:[backcolor=transparent]#!/bin/sh
[backcolor=transparent]# Modify DNS
[backcolor=transparent]echo [backcolor=transparent]"nameserver 8.8.8.8"[backcolor=transparent] [backcolor=transparent]|[backcolor=transparent] tee [backcolor=transparent]/[backcolor=transparent]etc[backcolor=transparent]/[backcolor=transparent]resolv[backcolor=transparent].[backcolor=transparent]conf
[backcolor=transparent]# Modify yum repo and update
[backcolor=transparent]rm [backcolor=transparent]-[backcolor=transparent]rf [backcolor=transparent]/[backcolor=transparent]etc[backcolor=transparent]/[backcolor=transparent]yum[backcolor=transparent].[backcolor=transparent]repos[backcolor=transparent].[backcolor=transparent]d[backcolor=transparent]/*
[backcolor=transparent]touch myrepo.repo
[backcolor=transparent]echo "[base]" | tee /etc/yum.repos.d/myrepo.repo
[backcolor=transparent]echo "name=myrepo" | tee -a /etc/yum.repos.d/myrepo.repo
[backcolor=transparent]echo "baseurl=http://mirror.centos.org/centos" | tee -a /etc/yum.repos.d/myrepo.repo
[backcolor=transparent]echo "gpgcheck=0" | tee -a /etc/yum.repos.d/myrepo.repo
[backcolor=transparent]echo "enabled=1" | tee -a /etc/yum.repos.d/myrepo.repo
[backcolor=transparent]yum update -y
[backcolor=transparent]# Modify NTP Server
[backcolor=transparent]echo "server ntp1.aliyun.com" | tee /etc/ntp.conf
[backcolor=transparent]systemctl restart ntpd.service
[backcolor=transparent]注意:
- 第一行必须是 #!/bin/sh,前面不能带空格。
- 全文不能有多余的空格和回车。
- 您可以根据实例情况定制具体的 DNS、NTP Server 和 yum 源 URL。
- 上述内容适用于 CentOS 7.2 镜像,如果是其他镜像,请根据需要修改实例自定义脚本。
- 您也可以使用 cloud config 类脚本更改 yum 源设置,但是不够灵活,不能适配阿里云对部分 yum 源进行预配置的情况。建议大家使用 script 类的脚本修改 yum 源设置。
根据需要完成 [backcolor=transparent]安全设置。
完成上述配置后,再单击 [backcolor=transparent]立即购买,并按页面指示开通实例。
实例购买完成后,您就可以登录实例查看具体的效果,如下图所示。
由上图可知,您已经成功自定义了 DNS 服务、NTP 服务和 yum 源。