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らしい動きを確認したいと思います。