1. はじめに
(日本語版のdocsではまだ翻訳が間に合わずベータ表示されたままになっていますが)、IBM CloudのVPCにおいてAuto Scale機能がGAされたので、試してみました。
2. AutoScale利用の流れ
- 最初に
Instance Templateを作成する。Instance Templateは増減させるVSIの雛形を定義したものであり、ここで利用するImageやプロファイル(vCPU数やメモリ量)やSSH鍵などを指定する。 - 次に、この
Instance groupを作成する。Instance groupは、Instance Templateを特定のルールを元に増減させるためのルールを定める。
ただ、実はInstance groupのようなポリシーを定めなくても、Instance Templateだけで単独利用することもできます。これにより、
-
Instance Templateのテスト - 毎回VSIを作成する際に、プロファイルやイメージを都度設定することなく、**「いつものお気に入り」**をとして利用
という利用方法が可能になります。よって、今回は、Instance groupを作成せずにInstance Templateだけを単独利用するところまで話を進めてみたいと思います。
3. Instance Templateの作成
以下より増減の単位の元となるサーバーの雛形(Instance Template)を定義します。


User Dataには、この記事で利用したものを利用し、Apacheおよびコンテンツを自動設定します。

ネットワーク設定などは、いったんそのままに。

この状態でCreate Instance Templateを押下すると、以下のようにInstance Templateが作成されます。

なお、Instance Templateの費用が出てきてギョッとしてしまいますが、これは実際にサーバーをプロビジョニングした際にどれぐらいの費用になりそうかを出しているだけであり、Templates do not incur charges. Estimate applies only to instances created from this template.と記載されている通り、Instance Template自体には費用は発生しません。

4. Instance Templateを使った手動プロビジョニング
ところで、ここまでの流れで疑問に思わなかったでしょうか?
- なぜ
Instance Template作成にZoneを選択しているの?このInstance TemplateってどのZoneでも利用できるんじゃないの? - なぜInstance Template
作成にsubnetを選択しているの?このInstance Template`ってどのZoneでも利用できるんじゃないの?
Instance TemplateはInstance groupと組み合わせて利用する場合は、一度作ったInstance Templateを元にどのZoneに展開する際にも利用できます。
しかし、以下のようにInstance groupなしの単独利用もできるため、Zoneやsubnetを指定できるようになっているようです(とはいえ、Instance TemplateでZoneやsubnetを指定するのではなく、VSIプロビジョニング時に選択できるようにしておいた方がよりスマートのように私には思えますが・・・将来仕様が変わらないかな?あと、一度設定したUser Dataが詳細画面からは現在確認できないのも微妙(こちらは修正される予定?)・・・)
# Network ACLやSecurity Groupでブロックされていないことを確認しておくこと
(同一VPC上の別サーバーからのアクセス)
$ curl -I http://10.0.0.10
HTTP/1.1 200 OK
Date: Wed, 26 Aug 2020 07:52:04 GMT
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips
Last-Modified: Wed, 26 Aug 2020 07:50:48 GMT
ETag: "153-5adc313ed21a8"
Accept-Ranges: bytes
Content-Length: 339
Content-Type: text/html; charset=UTF-8
(同一VPC上の別サーバーからのアクセス)
$ ssh root@10.0.0.10
The authenticity of host '10.0.0.10 (10.0.0.10)' can't be established.
ECDSA key fingerprint is SHA256:o80eH+mf6LnaCWH8MeDcFEPNMHHSgSLklZfbVjZ2WXU.
ECDSA key fingerprint is MD5:e8:cb:cd:69:a2:5d:f4:2b:8d:b1:5d:33:a8:53:c2:36.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.0.10' (ECDSA) to the list of known hosts.
[root@webapache-na2kein4lp ~]# date
2020年 8月 26日 水曜日 16:52:18 JST
5 最後に
次回以降はInstance groupと組み合わせて、真のAuto Scaleらしい動きを確認したいと思います。


