【ServiceNow】【AWS連携】AMIイメージからカタログを作成し、AWSに仮想マシンを作成しろ！

皆様お疲れ様です。

今回はServiceNowのCloudAutomation機能を使用して、AWSに仮想マシンを作成してみようと思います。エンタープライズ版では別途ライセンスが必要になりますのでServiceNow営業の方にご確認ください。

ServiceNow Developer環境では無償で機能を検証することが可能です。
お祈りしましょう。ありがとうございます。

#目的
ServiceNowをITSMツールに伴うチケット管理、レポート作成、業務の可視化・効率化だけではなくクラウド環境（AWS/Azure/GCP等）と連携することが可能です。

最終的な目的はServiceNow-AWS間の連携により以下等を実現することです。
・リソース監視（サーバー）
・オーケストレーション（例えばServiceNowのポータルサイトからカタログを選択→メニューを選びボタン一つで仮想マシンを作成可能。）
・Billing管理
・承認フローの導入
等

今回はServiceNowへのPlugin導入、AWS Account情報の作成、Web Serviceの収集、カタログから仮想マシン作成までを行っていきます。

#準備するもの
・ServiceNow Developer環境
　※今回のバージョンはOrlandoを使用しています。
・AWS Account
　※事前アカウント登録、NW設定（VPC,Subnet）、AMI Imageの事前作成が必要です。

#作業開始
早速始めていきます。


1.Plugin Activate
ServiceNow Developerサイトにログインします。
事前に検証用Instanceの払い出し、Wake Upをしておきましょう。

- Manage > Activate Pluginを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399414/d9819355-f83f-b0c7-824e-4a55e575521b.png)

‐ 検索欄に[ec2]と入力し、[Orchestration‐ Amazon EC2]を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399414/0935b53d-e02c-61de-5c5d-f08b7e8f2fdf.png)

‐ Activate Pluginと表示されるのでブレイクしながら待ちましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399414/231f23b9-daec-2564-7561-154bae96fcfb.png)

‐ Activateが完了するとメールを受信します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399414/06f1b5d0-f760-be69-2188-7611a2b099f8.png)

‐ Developer Instanceにログインし、ナビゲーション蘭に[aws]と打ってみましょう。メニューが追加されていることを確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399414/acf87472-e945-0188-ac26-0f404f7923f2.png)

‐ Amazaon AWS Cloud 〉Configuration 〉Account と選択し、Account情報を入力しましょう！
※画像ではIDは省略しています。12桁の数字が入ります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399414/94b58960-b9bd-00f1-1c22-18f3ba8e05a4.png)

‐ 関連リストより[AWS Credential]を作成しましょう。
　これは使用するIAM情報となります。アクセスキーIDとシークレットキーIDが必要になります。事前に収集しておきましょう。（扱いには注意ください）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399414/64f16b9e-5c21-462d-8e23-f290bf858ea2.png)

このタイミングで[Account画面]より
Related Links 〉Create Discovery Scheduleに画面を遷移してください。
遷移後の画面（↓）より更にRelated Links > Discovery Nowを実行します。
※デフォルトで指定されているWeb Services情報がAWS Accountより収集されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399414/92f78e8b-db06-6514-103f-730517a2d511.png)

Discoveryが完了したのち、Account画面に戻るとAWS Accountが保持するリソース情報が関連情報に収集されていることが確認できます。
尚、この情報は構成管理情報としてテーブルに保持されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399414/bc619b1a-00dd-e41d-3ae9-f6d155fc41b6.png)

Discoveryを実施した際にAMI Imageを取得していることを確認しておきましょう。
アプリケーションナビゲータより
Amazon AWS Cloud > Available Imageを選択します。 
AMI Imageの承認依頼を実行します。
※本記事では承認が問題なく通った前提で進めます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399414/4afd7f62-aaf6-4b6a-3cb7-e560736d07dd.png)

Amazon AWS Cloud > Approved Imageを選択します。
画面が開いたら、Related LinksよりCreate Catalog Itemを選択し、仮想マシンを作成するためのカタログを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399414/c1a4069b-c894-60f4-a903-4f356f8cc251.png)

カタログを作成します
※この検証ではSkip Approvalにチェック、Activeにチェック、Account情報・VM Sizeを選択しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399414/ebc56b51-7bb2-ea06-03c5-a57f431a5e2f.png)

次に一覧に戻り、先程追加したカタログを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399414/205ebe6f-d213-febe-5dd5-831c3dccafb5.png)

カタログを開きTry Itにて実行します。
インスタンス作成に必要な情報を選択し、Order Nowをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399414/a9ce56de-d442-b68e-09f1-c6396b1eecbe.png)

AWSコンソールにログインしましょう。
仮想マシンの作成が開始されていることが確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399414/14245d3c-d6e2-23fb-9753-3b205190e353.png)

以上が仮想マシンをServiceNow上のカタログから作成する手順となります。
本事項は独学で実施したためもう少し簡易にできる方法がないか、他に作成方法がないか確認してみる予定です。


最後に、ここからが最大のポイント！！！
1.作成した仮想マシンは自動で構成情報に登録されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399414/055ce50b-10af-c75c-99f6-a314878c236a.png)
※グローバルIPは削除しています。

2.Related Itemを見ていただくとわかる通り、
Web ServiceをDiscoveryした際に取得したリソース情報と関連性を持っています。
※例えばSubnetを開く→さらにRelated ItemからEC2 Virtual Machine InstancesのリンクをクリックするとこのSubnetに所属するインスタンス一覧が確認可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399414/f8d2cbec-fa49-95c1-5bdb-87bb92644a60.png)

3.構成管理画面上から仮想マシンの停止・削除・Tag付け等が可能と考えられます。
※動作未検証
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399414/42fd3861-19f8-c08b-f501-8b662ea6913b.png)

如何でしたでしょうか。
本事項を利用することで、AWS環境の各リソースの管理、カタログによる仮想マシンの作成フロー、承認フローの活用、構成管理情報より関連性の確認、タグによる管理等がServiceNowで一元的に行うことが出来ます。
※AWS上の仮想マシンのアラートをCloud Watchでキャッチし、AWS SNSでServiceNowに通知することでアラートのチケット化も出来たりします。

本事項は以上となります。
引き続きServiceNowの各機能を記事化していきたいと思いますのでよろしくお願いします。