Exastro IT Automation の Setting samples(AWS版)を動かしてみた

##関連リンク
Qiita記事
・[Exastro IT Automation の Setting samples(AWS版)を導入してみた]
(https://qiita.com/ojima-nobuya/private/d6e247f1e04853ce1729)
・[Exastro IT Automation クイックスタート (ver1.7.2)]
(https://qiita.com/y-masaya3210/items/a6d59b3aca0031128ab7)
・[Exastro IT Automation の Setting samples(ServiceNow連携版)を使ってみた]
(https://qiita.com/inumayuge/items/bcbeabc876b45100e62c)

ITAコミュニティサイト
・[Exastro IT Automation コミュニティサイト](https://exastro-suite.github.io/it-automation-docs/setting-samples_ja.html#cloudSystem)
・[CSテンプレート 1st-Model オートスケーリングWebシステム（AWS）導入手順](https://exastro-suite.github.io/it-automation-docs/asset/SettingSamples_ja/cloud-system-template-1st-aws-install_ja.pdf)
・[CSテンプレート 1st-Model オートスケーリングWebシステム（AWS）概要](https://exastro-suite.github.io/it-automation-docs/asset/SettingSamples_ja/cloud-system-template-1st-aws-overview_ja.pdf)
・[ITA_利用手順マニュアル Conductor](https://exastro-suite.github.io/it-automation-docs/asset/Documents_ja/Exastro-ITA_%E5%88%A9%E7%94%A8%E6%89%8B%E9%A0%86%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB_Conductor.pdf)
・[ITA_利用手順マニュアル Ansible-driver](https://exastro-suite.github.io/it-automation-docs/asset/Documents_ja/Exastro-ITA_%E5%88%A9%E7%94%A8%E6%89%8B%E9%A0%86%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB_Ansible-driver.pdf)

#はじめに

前回の投稿では、AWSモデルの準備・導入と、サーバ自動構築の実行のためのパラメタ登録までを行いました。

●前回の投稿
[Exastro IT Automation の Setting samples(AWS版)を導入してみた]
(https://qiita.com/ojima-nobuya/private/d6e247f1e04853ce1729)

今回は、AWSモデルで用意されたジョブフロー(Conductor)を動かして、実際にAWS に Web サーバを自動構築してみたいと思います。

##今回紹介するシナリオ
本記事は以下のシナリオで進めていきます。

**【実行編】1．オートスケールWebサーバの構築（最小構成：2台）**
**【実行編】2．オートスケールWebサーバの更新（最小構成：2台 ⇒ 4台）**
**【実行編】3．オートスケールWebサーバの実行（EC2へPlaybook実行）**
**【実行編】4．オートスケールWebサーバの削除**

#作業環境

●サーバ／クライアント環境
・サーバOS : CentOS 7.8
・Exastro IT Automation v1.7.1
・クライアント環境 : Windows 10
・ブラウザ : Google Chrome

●AWS環境
・リージョン：ap-northeast-1　アジアパシフィック (東京)　

***
前回に引き続き、導入イメージは以下の通り。
![{EFB9E1CA-FD91-4F79-A073-A55A9E1C515B}.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/761075/a84f7bef-a6bc-3f28-e688-b8522338c18f.png)

#【実行編】1．オートスケールWebサーバの構築（最小2台構成）

###1.1　ジョブフロー(Conductor)でオートスケールWebシステム / 構築・更新 の実行

１．「Conductor」＞「Conductor作業実行」をクリック。
![{F4ABABEA-707D-412B-AF90-6682566E16DA}.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/761075/f37081af-beb3-0a61-f435-f456544e7cd5.png)

２．「Conductor（一覧）」から「オートスケールWebシステム / 構築・更新」を選択、
　　「オペレーション（一覧）」からサンプルの「環境A(1stモデル)」のオペレーションを選択し、実行をクリック。

![{D357CF58-0D9A-4F2D-B354-79A2A7524D01}.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/761075/02ff2317-39fc-a43b-26d1-f0b4124e55ec.png)
![{2A1F1A22-842F-4EB5-9CCD-82E6A6D93CD8}.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/761075/eb7b98c8-55ac-8427-7ed8-2497a2fca07a.png)

３．「Conductor作業一覧」画面で、すべてのMovementの丸が緑色(DONE)で、Statusが「正常終了」となっていれば、完了です。
![{427688A3-5BA8-4688-9595-7DEAAB78908B}.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/761075/928a776b-6c4a-bd4f-e4a7-67c4f25fe642.png)

###1.2　オートスケールWebサーバ の構築結果の確認

１．機器一覧への同期確認

　①「基本コンソール」＞「機器一覧」をクリック。以下のように構築されたWebサーバ２台が機器一覧に正常に同期されていることが確認できます。
![{395EC3B3-0F84-4F67-B7A0-C033CDEE55F1}.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/761075/a28f9215-34ec-e6c0-9a06-6f0d38e43f8b.png)

２．設定したTeamsのチャンネルに通知結果が届いていることを確認します。
　「Webコンテンツへのリンク」はロードバランサのパブリックドメイン名のアクセス先がリンクされており、
　クリックすることでWebコンテンツの画面が確認できます。

![ITA_10_EXEC-OUT_01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/761075/a1c429ba-d2a6-ed9e-1286-df3d14460361.png)

３．ロードバランサへのアクセス画面の確認

ブラウザにて、自動構築されたロードバランサのパブリックドメインにアクセスすると、以下のようにサンプルの簡易的なWebサイトが表示されます。対象サーバのプライベートアドレスの表示を埋め込んでありますので、ブラウザでアクセスするたびに、2台のサーバがELBにより負荷分散され、宛先が切り替わっていることが確認できます。

![ITA_11_EXEC-OUT-LB_01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/761075/bb656890-09bb-356e-7117-b83c07ed0101.png)


#【実行編】2．オートスケールWebサーバの更新

###2.1　オートスケール用パラメータの登録・更新（最小2台 ⇒ 4台構成）

 AutoScale用のWebサーバ／ELB構築用のパラメータ値を変更して、Webサーバを最小2台から4台構成にしてみたいと思います。

 １．「システム管理」＞「AutoScaleパラメータ」＞オペレーション名「環境-A(1stモデル)」のレコードの「更新」をクリック。
 ２．「最小インスタンス数」を「2 ⇒ 4」に変更し「更新」をクリック。


| パラメタ項目 | 入力値 | 備考 |
|:--|:--|:--|
| 最小インスタンス数| 2 ⇒ 4 | テストシナリオ用にパラメタを変更  |
![{4807B653-54E2-42F1-A5E6-54167B89780A}.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/761075/057e950b-3c1a-cd63-af70-a4a4aa956387.png)

###2.2　Conductor　オートスケールWebサーバ (構築/更新)の実行

１．「1.1　Conductor　オートスケールWebシステム / 構築・更新 の実行」と同様に、ジョブフロー(Conductor)を実行します。
![{D357CF58-0D9A-4F2D-B354-79A2A7524D01}.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/761075/02ff2317-39fc-a43b-26d1-f0b4124e55ec.png)

２．ロードバランサへのアクセス画面の確認

ジョブフロー(Conductor)の正常終了後、再びブラウザにて、ロードバランサのパブリックドメインにアクセスすると、
以下のように対象サーバのプライベートアドレスの表示が、4台分表示されるようになりました。
最小２台⇒４台のオートスケーリングWebサーバの構成に代わり、ELBの負荷分散対象に追加されたことが、
体感できると思います。
![ITA_11_EXEC-OUT_01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/761075/115efecf-259f-bbde-9879-7b2c3a980a97.png)

#【実行編】3．オートスケールWebサーバの実行 (EC2へPlaybook実行)

出来上がったシステムのEC2に、Ansibleを使って設定変更することが可能です。

オートスケール対象の複数台のEC2に対してWeb画面に画像(※)を挿入します。
 ※ 画像をEC2に対するパッチ適用に見立てるとイメージしやすいと思います。

![ITA_12_EXEC_03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/761075/20e6f8b8-297d-ba40-a1ce-15da298a43ac.png)

「Ansible共通」－「ファイル管理」の埋め込み変数に関連付けて画像をアップロードすることで、
任意の画像を差し込むことができます、今回はサンプルの画像を挿入します。

![{D9BC9191-4EC4-49AF-B19B-2E6EE2805384}.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/761075/4de3fc15-b51c-33be-cf32-15e7f61b360b.png)

１．ジョブフロー(Conductor)を実行します。
「Conductor（一覧）」から「オートスケールWebサーバへPlaybook実行」を選択、
「オペレーション（一覧）」からサンプルの「環境A(1stモデル)」のオペレーションを選択し、実行をクリック。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/761075/a5559a4a-dc52-cdc7-c5c3-6c7ed1733f2b.png)

２．ジョブフロー(Conductor)が正常終了すると完了です。
![{4A4D956C-E154-4629-8E1A-0E7BDC4584FB}.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/761075/320e6929-2353-4de2-2b8e-b813bf1076b2.png)
３．再びブラウザにて、ロードバランサのパブリックドメインにアクセスすると、
全てのEC2サーバに画像が挿入されてます。

![ITA_12_EXEC_06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/761075/913e03a5-4850-afcb-f18f-310c75051c0a.png)


#【実行編】4．オートスケールWebサーバの削除

自動払い出ししたサーバを、ジョブフロー(Conductor)により自動削除することが可能です。

 １．「Conductor（一覧）」から「オートスケールWebシステム / 削除」を選択、
「オペレーション（一覧）」からサンプルの「環境A(1stモデル)」のオペレーションを選択し、実行をクリック。
![{0971F335-5403-45CD-85EC-CEE03CC9AC5E}.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/761075/7bf6ae7b-af1b-fbf2-4d8a-7e282f8b55d9.png)

２．ジョブフロー(Conductor)が正常終了すると、
以下の画面が表示され、オートスケールWebサーバの削除が完了です。
![{BE474C43-F5C9-46B1-B68A-5FC23AF5202A}.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/761075/aa662b98-1c84-fb15-5346-246b15d2bc6e.png)

構築時に利用した、以下のリソースは自動で削除されます。

【AWSリソース】
 ・EC2 インスタンス
 ・EC2 ELB / ターゲットグループ
 ・EC2 Auto Scaling グループ
 ・EC2 NWリソース
 ・S3 バケット

【ITAリソース】
 ・機器一覧の自動登録ホスト

##おわりに

今回はオートスケールwebサーバの構築／更新の実行を試しましたが、AWS CloudFormationやStack機能の予備知識がなくても、簡単に構築を行うことができました。この他にも「セキュリティ付帯機能 / 構築・更新」というジョブフロー(Conductor)があったので今後試していけたらと思います。

##関連リンク
Qiita記事
・[Exastro IT Automation の Cloud Systemテンプレート(AWS版)を導入してみた](https://qiita.com/ojima-nobuya/items/925d8475952c4169c82e)
・[Exastro IT Automation クイックスタート (ver1.7.2)]
(https://qiita.com/y-masaya3210/items/a6d59b3aca0031128ab7)
・[Exastro IT Automation の Setting samples(ServiceNow連携版)を使ってみた]
(https://qiita.com/inumayuge/items/bcbeabc876b45100e62c)

ITAコミュニティサイト
・[Exastro IT Automation コミュニティサイト](https://exastro-suite.github.io/it-automation-docs/setting-samples_ja.html#cloudSystem)
・[CSテンプレート 1st-Model オートスケーリングWebシステム（AWS）導入手順](https://exastro-suite.github.io/it-automation-docs/asset/SettingSamples_ja/cloud-system-template-1st-aws-install_ja.pdf)
・[CSテンプレート 1st-Model オートスケーリングWebシステム（AWS）概要](https://exastro-suite.github.io/it-automation-docs/asset/SettingSamples_ja/cloud-system-template-1st-aws-overview_ja.pdf)
・[ITA_利用手順マニュアル Conductor](https://exastro-suite.github.io/it-automation-docs/asset/Documents_ja/Exastro-ITA_%E5%88%A9%E7%94%A8%E6%89%8B%E9%A0%86%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB_Conductor.pdf)
・[ITA_利用手順マニュアル Ansible-driver](https://exastro-suite.github.io/it-automation-docs/asset/Documents_ja/Exastro-ITA_%E5%88%A9%E7%94%A8%E6%89%8B%E9%A0%86%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB_Ansible-driver.pdf)