Auto ScaleとDeployの連動機能

機能説明

Auto Scale(オートスケール)によって、新しく作成されたインスタンスに顧客が定義したアプリケーションを自動的に配布できるようになり、本当の意味でのオートスケールを経験できるようになりました。

以前紹介したIaaSサービス(オートスケール(Auto scale)の理解とサンプルを使った構成)では、オートスケールを次のように定義しています。

オートスケールはインスタンスの負荷をモニタリングし、特定のイベントに対してインスタンスを追加/削除する機能を提供するサービスです。

ほとんどの場合では、インスタンス作成時にユーザーのサービスに合わせて設定が変更されたVMイメージ(以下イメージ)を使用しますが、ユーザーがイメージをどのように使用するかによって、以下のように区別することができます。

1.実際に駆動可能なサービス(アプリケーション)が含まれているイメージ
– イメージの配布が可能でなければならず、イメージサイズが大きいため、管理上の問題や配布に時間がかかるという欠点があります。

2.サービス駆動環境イメージ(アプリケーションを含まない)
– クラウドサービスプロバイダからハードニングされた標準的なイメージで、アプリケーションの配布のみ別途行います。

最近では、サービスをコンテナ環境に移行することで1番の欠点を補完できるため、このような場合には1番のイメージ形態を選択し運用することができますが、まだ切り替えができていない場合やサービスを持続的にアップデートする状況であれば、2番のイメージ形態を選択することになります。

問題

2番のイメージでオートスケール機能を使用したとき、イベントによって新しく作成されたインスタンスは、顧客サービス(アプリケーション)が駆動する環境のインスタンスのみ作られ、実際のサービスは動作しない空の状態で作成されます。
そのため、開発者は新規に作成されたインスタンスに配布しなければならず不便です。

解決方法

今回追加された機能は、オートスケールによって新しく作成されたインスタンスに、顧客が定義したアプリケーションを自動的に配布して上記のような不便性をなくすものです。この機能を使うと、真の意味でオートスケール機能を使用することができます。

ユーザーガイド

オートスケール機能の有効化からサービスアプリケーションの配布までに必要な一連のプロセスは以下のとおりです。

1. Auto Scale設定
2. TOAST Deploy設定
3. 手動配布テスト
4. 自動配布テスト
5. 新規作成されたサーバーを確認

それでは、ガイドに従って進めていきましょう。

1. Auto Scale設定

まず、スケーリンググループを作成します。詳しい内容はドキュメントで確認できます。

– IaaSのAuto Scaleサービス内にある[インスタンステンプレートの作成]ボタンをクリックしてテンプレートを作成します。
 
– インスタンステンプレート作成時、[Deployを使用]にチェックします。

– スケーリンググループ作成時、作成したテンプレートを指定して作成します。

2. TOAST Deploy設定

次に、サービスアプリケーションが新規作成されるインスタンスに配布されるように、配布関連の設定を行います。配布のターゲット設定と配布アプリケーションを作成するためのシナリオ登録などを行います。

– Deployコンソールでサーバーグループを作成します。

– グループタイプで「Auto Scale」を選択し、作成したスケーリンググループを選択します。

– Auto Scaleシナリオの[シナリオ追加]ボタンをクリックします。

– 作成済の配布シナリオを選択します。(ない場合は他のサーバーグループ内に作成)

– 複数のシナリオを追加すると優先順位をつけられます。(優先順位が同じ場合はランダムな順序で実行)

– シナリオの追加が完了しました。

3. 手動配布テスト

自動動作させる前に一度手動でテストしてみましょう。2のステップで行ったシナリオ配布ターゲットに対して正常に配布されるか確認します。

– Deployコンソールで配布ターゲットインスタンスを選択します。

– 配布を実行し、実行結果を確認します。

4. スケールアウトのテスト

イベントトリガーを発生させるのと同じように、トリガーの動作を行うことで自動配布のテストを実行します。

– Auto Scaleコンソールから駆動インスタンスでスケールアウトを発生させます。(手動/自動) – インスタンス2に変更

– インスタンス作成後、登録されたスケールアウトによって配布を自動実行させます。 – Deploy配布履歴で確認可能

– 配布が正常終了したことを確認します。

5. 新規作成されたサーバーを確認

– DeployコンソールでAuto Scaleサーバーグループ内に登録されたサーバーリストを確認します。

おわりに

より良い開発文化のためには新しい技術の導入も重要ですが、現在のサービス環境に対するサポート機能を提供することも大切です。今後も、より良い機能/開発環境/文化を紹介していきたいと思います。

TOAST Meetup 編集部

TOASTの技術ナレッジやお得なイベント情報を発信していきます
pagetop