はじめに
今までECSを起動してますが、サーバにログインして
Nginxを起動するのは手間ですネ。
今回はECSのユーザーデータに触れます。
ユーザーデータとは
ユーザー定義データ - ユーザガイド| Alibaba Cloud ドキュメントセンター
ユーザー定義データは、ECSインスタンスの起動動作をカスタマイズし、ECSインスタンスにデータを渡すためにAlibaba Cloudによって提供される機能です。 この機能は、WindowsまたはLinuxのいずれかを実行するECSインスタンスで機能します。
ユーザー定義データは、以下のように分類できます。
・ユーザー定義のスクリプト。インスタンスの開始時に実行するためにインスタンスに渡すことができます。
・汎用データ。インスタンス内で参照されるインスタンスに渡すことができます。
起動するユーザーデータはコチラ
#!/bin/sh
yum update -y
yum install -y nginx
systemctl enable nginx.service
systemctl start nginx.service
コンソールからECSを起動するとき
と入れるだけでOKです。
ROSからECSを起動するとき
Base64エンコーディング
が必要になります。
"ALIYUN::ECS::Instance"
のパラメータで
"UserData": {
"Fn::Base64": {
"Fn::Join": [
"\n",
[
"#!/bin/sh",
"yum update -y",
"yum install -y nginx",
"systemctl enable nginx.service",
"systemctl start nginx.service"
]
]
}
}
といれればOKです。
User data - User Guide| Alibaba Cloud Documentation Center
まとめ
これで、ECSを起動するとnginxが動くようになります。
おまけ
サーバにSSHして下記のコマンドを打つと
[root@poc ~]# curl http://100.100.100.200/latest/user-data
#!/bin/sh
yum update -y
yum install -y nginx
systemctl enable nginx.service
systemctl start nginx.service
とメタデータからユーザーデータを確認することができます。
こちらはまた別の機会にお話します。