ServiceNowとNutanixの連携 その1 全体像とMIDサーバ構築【ServiceNow Orlandバージョン対応】


本記事はNutanix Advent Calendar 2019 #4 12/11 分の記事です。

ServiceNowとNutanixの連携について

概要

2019年10月のデンマーク、コペンハーゲンにおける.NEXT ConferenceにおいてServiceNow社とNutanixは両社ソリューションの連携を発表しました。詳しくは以下のURLをご覧下さい。

Nutanix、プライベートクラウド向け自動化機能を発表
ServiceNowとNutanixの統合

ユースケース

執筆時点(2020年6月更新)時点でのユースケースは以下3点です。
1. ServiceNowのイベント、インシデントとNutanixのアラートの統合(その2で紹介)
2. ServiceNowのリクエスト管理とCalmプラグインによるNutanixへのアプリケーションデプロイ(その3その4で紹介)
3. ServiceNOW CMDBにおけるNutanixインフラの検知とモデリング(その5で紹介)

アーキテクチャ

アーキテクチャはこちら。上記ユースケース2,3はNutanix側にMIDサーバと呼ばれる、ServiceNowとNutanix間のデータ通信を担う中間サーバが必要となります。

本シリーズ(全5回)では

ServiceNow社の提供する開発者インスタンスを用いてシンプルなServiceNow-Nutanixの統合環境を作ることを目指します。

本記事(その1)では

準備作業として開発者インスタンスの立ち上げとMIDサーバの立ち上げを行います。

手順

1. ServiceNow開発者インスタンスの立ち上げ

こちらの記事を参考に開発者アカウントの取得、開発者インスタンスの作成を行います。バージョンはMadrid(2020/5/30更新: Orlandバージョンでも検証しました。)を選択しました。10日間活動がない場合、開発者インスタンスは消去されてしまいますのでご注意下さい。

2. 開発者インスタンスの各種設定

2-1. 開発者インスタンスの言語設定

こちらの記事を参考に開発者インスタンスへの日本語プラグインのインストール、言語設定を行います。プラグインのインストールには1時間ほど掛かります。

2-2. 開発者インスタンスのタイムゾーン設定

こちらの記事を参考に開発者インスタンスの”Asia/Tokyo”タイムゾーン追加、設定を行います。タイムゾーンは後に紹介するMIDサーバと合っていないと後々つまづくのでご注意下さい。

2-3. デモデータの削除

開発者インスタンス管理から"Action"の中の"Remove demo data"を選択し、事前定義されているデモデータを削除します。20-30分ほど掛かります。

3. MIDサーバ作成

MIDサーバーは、ServiceNowプラットフォームと外部のアプリケーション、データソース、サービスの間で行われるデータ通信を支援します。MIDサーバは設備内部ネットワークに存在し、ServiceNowインスタンスとの全ての通信を開始します。今回はNutanixのHCIプラットフォーム上にLinuxベースのMIDサーバを立ち上げます。

MIDサーバの紹介

3-1. ServiceNowでMIDサーバユーザの作成

ナビゲーションペインで”ユーザ”を検索し、”システム・セキュリティ”配下の”ユーザ”を指定します。

”新規”ボタンから新規ユーザ作成画面に移動し、miduserユーザを作成します。

ユーザ設定画面下部の”ロール”の”編集”を指定し、"mid_server"を付与し、保存します。

”更新”を指定し、ユーザ設定を保存します。

3-2. Prism CentralからMIDサーバの起動

Prism Centralのコンソールから仮想マシンの起動を行います。今回はvCPU:2, メモリ: 8GB, ディスク: 40GBのスペックでCentOS7.4ベースの仮想マシンを起動しました。

MIDサーバの詳しい要件についてはServiceNow社公開の情報を参考にしてください。
システム要件
ネットワーク要件

3-3. MIDサーバ設定

MIDサーバで以下をroot権限で実行します。以下例ではmidserver名を"midserver"とした場合の手順を記載しましたが、自由に設定可能です。タイムゾーンはServiceNowインスタンスと合っていないと後々つまづくのでご注意下さい。

yum update -y
yum install unzip vim wget glibc.i686 -y
echo "midserver" > /etc/hostname
hostname midserver
timedatectl
timedatectl set-timezone Asia/Tokyo
mkdir -p /servicenow/midserver/

ここでServiceNowインスタンスの”MIDサーバー”配下の”ダウンロード”メニューに移動し、Linux 64bit用のパッケージをダウンロードします。ダウンロードしたパッケージをMIDサーバーの/servicenow/midserver/配下に格納します。(ダウンロード元のURLが分かればMIDサーバーから直接wgetしても良いです。)

cd /servicenow/midserver/
unzip mid.madrid-12-18-2018__patch7a-10-01-2019_10-03-2019_1530.linux.x86-64.zip
rm mid.madrid-12-18-2018__patch7a-10-01-2019_10-03-2019_1530.linux.x86-64.zip
cd /servicenow/midserver/agent
vim config.xml

<parameter name="url" value="https://YOUR_INSTANCE.service-now.com/"/>
--> 自分のServiceNowインスタンスのURLを入力します
<parameter name="mid.instance.username" value="YOUR_INSTANCE_USER_NAME_HERE"/>
--> 3-1でServiceNowに作成したmiduserのユーザ名を入力します
<parameter secure="true" name="mid.instance.password" value="YOUR_INSTANCE_PASSWORD_HERE"/>
--> 3-1でServiceNowに作成したmiduserのパスワードを入力します
<parameter name="name" value="YOUR_MIDSERVER_NAME_GOES_HERE"/>
--> midserverのホスト名を入力します

3-4. MIDサーバ起動

cd /servicenow/midserver/agent
./start.sh
./bin/mid.sh install

4. MIDサーバ確認

ServiceNowインスタンスにおいてMIDサーバの起動確認を行います。

4-1. MIDサーバのステータス確認

ナビゲーションペインで"MIDサーバー”を検索し、”MIDサーバー”配下の”サーバー”メニューへ移動します。設定したMIDサーバーが見えており、ステータスが"Up"であることを確認します。

4-2. MIDサーバ検証

MIDサーバーを選択後、下部の”検証”メニューをクリックすると以下画面が出てきます。”Save”を押しMIDサーバの検証を開始します。

”検証済み”のステータスが”はい”になればMIDサーバの起動確認が完了です。検証済みとならない際は”リキー”を行って下さい。

5. まとめ

今回はServiceNowとNutanixの統合 その1として両社ソリューション連携のための準備作業を行いました。次回から具体的なユースケースの実装をしていきます。

6. 参考(備忘録)