ECS自定义脚本即用户数据是ECS为用户所提供的一种自定义实例启动行为的能力。用户可以在购买实例时输入自定义脚本设置自己的用户数据。用户自定义的脚本通常会在实例购买完成后被执行。
用户数据可以解决很多问题。比如说创建实例时,用户想为这些实例进行个性化配置。
- 用户不想使用默认的root用户
- 用户不想使用阿里云的yum源/NTP服务
- 用户想在创建时自动部署某个应用
- 其他脚本能实现的功能....
只要脚本能做的事用户数据就完全兼容。如以下脚本:
第一个功能是修改DNS配置
#Modify DNS
echo "nameserver 8.8.8.8"|tee /etc/resolv.conf
第二个是是修改yum源
#modify yum repo and update
rm -rf /etc/yum.repos.d/*
touch myrepo.repo
echo "[base]"|tee -a /etc/yum.repos.d/myrepo.repo
echo "baseurl=http://mirror.centos.org/centos"|tee -a /etc/yum.repos.d/myrepo.repo
echo "gpgcheck=0"|tee -a /etc/yum.repos.d/myrepo.repo
echo "enabled=1"|tee -a /etc/yum.repos.d/myrepo.repo
yum update -y
第三个是修改NTP服务
#modify NTP Server
echo "server ntp1.aliyun.com"|tee /etc/ntp.conf
systemctl restart ntpd.service
接下来我们来演示一下用户数据的使用过程。
首先来创建一个实例,需要注意的是,目前用户数据只支持VPC网络下的Linux系统。
这里下面我们可以看到一个用户数据的框,需要注意的一点是,输入的格式第一行必须得是 #!/bin/sh 字符串,然后把我们准备好的用户数据内容粘贴进去。
这样我们就在创建 实例的时候设置了一个用户数据的脚本。
我们再来看一下这个脚本,它主要是有三个作用:第一是修改DNS的配置;第二是修改yum;第三个就是设置NTP的服务。
实例启动好了以后,用SSH远程连接工具进去看一下
然后我们用这个命令来测试用户数据,可以看见这个用户数据已经配置成功了,已经能正常的运行我们之前预期的三个作用了。
您已经学会了么? 有什么疑问的话,可以在下方留言。
本文涉及到的阿里云相关产品:
ecs服务器:https://www.aliyun.com/product/ecs
原文地址:https://aliyunnew.com/a/How-to-set-Aliyun-ECS-custom-script.html