ネットワーク境界を意識したモデルを作成してみよう
図5に示していたサーバーの構成は非常にシンプルです。ある特定の役割をもった論理サーバーとその接続を定義しただけでした。アプリケーションを配置できる場所を定義するという意味ではこれでも十分かもしれません。しかし、インフラを考えるときには、ネットワーク境界も重要な要素の一つです。そこで、今度は、もう少し複雑な、ネットワーク境界を意識したモデリングをしてみましょう。
例題)インフラの確認
図5を作る前提として、同じ種類の役割は同じサーバーに置くこととしていました。今回は全部別々にしてみたいと思います。そこで、アプリケーションを使う前提を次のようにします。
- Windowsアプリは企業ネットワークの外側に配置する
- Webサービスへのアクセスはインターネットを通して行われる
- データベースはデータを保護するため安全なネットワーク上に配置する
このような要件を満たすためには、WebサービスはDMZ(DeMilitarized Zone:非武装地帯)と呼ばれるゾーンに、データベースはより安全なゾーンに配置する構成が思いつきます。これを図にすると図11のようになります。
論理データセンターダイアグラムの作成
では、新しい例題をモデリングしてみましょう。先ほどと同様に新しい論理データセンターデザインを作成してください。デザイナが開いたらツールボックスの[論理サーバー]から「Zone」を選択してドラッグ&ドロップします。この「Zone」はネットワーク境界を表すためのアイテムです。図11を確認するとネットワーク境界が3つ存在しているので、Zoneを3つ配置します。3つのZoneを配置して、それぞれの名前を変更したのが図12の状態です。
Zoneにも今までと同様にエンドポイントという考え方があります。ただし、プロバイダエンドポイント、コンシューマエンドポイントという考え方はなく、通信の方向だけを規定します。図13に示す赤枠で囲まれた部分がこれで、ゾーンの左側にある、ゾーンの内側に向かって矢印が向いているものが外部からの接続を受け付ける部分で、ゾーンの右側にある、ゾーンの外側に向かって矢印が向いているものが外部への接続を行う部分を示しています。これらを利用してネットワークの経路を接続し、不要なエンドポイントを削除すると図14のようになります。
![図13:Zoneのエンドポイント](http://cz-cdn.shoeisha.jp/static/images/article/3616/VSTS-AE-03-13.gif)
次は、このZoneの中に論理サーバーの配置を行います。図11を基に必要な論理サーバーをすべて配置すると図15のようになります。
Zoneと論理サーバーの接続の設定
最後に論理サーバーの接続を行います。同じZone内にある論理サーバー同士は今までどおりのやり方で簡単に接続することができます。しかし、異なるZoneにある論理サーバーに接続するためには、以下の経路を作成する必要があります。
- クライアントとなる論理サーバーからそのZoneの出口までの接続
- クライアントとなる論理サーバーを含むZoneからサーバーとなる論理サーバーを含むZoneまでの接続(Zoneの接続で作成済み)
- サーバーとなる論理サーバーを含むZoneの入り口から対象の論理サーバーまでの接続
手順1の接続を作成するためには接続先論理サーバーのプロバイダエンドポイントに対応したコンシューマエンドポイントを自分で追加します。この対応は表1のようになります。
プロバイダエンドポイント | コンシューマエンドポイント |
WebSiteEndpoint | HTTPClientEndpoint |
DatabaseServerEndpoint | DatabaseClientEndpoint |
GenericServerEndpoint | GenericClientEndpoint |
図15に示した「WindowsClient1」はDMZ内にある「IISWebServer1」に接続するので、対応するコンシューマエンドポイントは「HTTPClientEndpoint」になります。これをツールボックスから選択して、「WindowsClient1」に追加します。
![図16:WindowsClient1にHTTPClientEndpointを追加した状態](http://cz-cdn.shoeisha.jp/static/images/article/3616/VSTS-AE-03-16.gif)
追加したHTTPClientEndpointを選択した状態で、ここからZoneの出口までの接続は今まで通りの方法で追加することができます。続けて DMZの入り口からIISWebServer1のプロバイダエンドポイントまでの接続も同じように定義します。DatabaseServerへの接続も同じように作業を行い、不要なエンドポイントを削除するところまで行うと図17のようになります。
これで、論理データセンターダイアグラムの作成は完了です。
論理データセンターの位置づけ
ここまで確認してきて論理データセンターダイアグラムは通常のネットワーク構成図や結線図などとはちょっと位置づけが違うなと感じられたのではないでしょうか。通常のこれらの図ではもう少し具体的なネットワークの状況やLANやWANなどどういったもので接続されるか、どこにファイアーウォールがあるのかなどが書かれていると思います。こういったものは、インフラ構成を検討し、より詳細な設計を行うメンバーにとっては非常に有益です。しかし、アプリケーション開発者にとってはノイズとなる情報も含んでいることが多いでしょう。
論理データセンターダイアグラムはアプリケーションシステムの配置先となる環境の情報をアプリケーション開発者に示すために用意されています。多少語弊があるかもしれませんが、アプリケーション開発者はアプリケーションを配置するホスト環境がどういったもので、どういった構成や制約を持っているのかには興味がありますが、その物理的な構成がどうなっているのかにはあまり興味がないはずです。
このような点を考慮して、アプリケーション開発者にとって有益な情報になるようなモデルを作るのが論理データセンターダイアグラムです。つまり、このダイアグラムを利用するのは主にアプリケーション開発者であり、ネットワーク構成図など主にインフラ設計者が利用するものとは位置づけが異なっています。
まとめ
今回は、論理データセンターデザイナを使った論理データセンターダイアグラムの作成を行う方法を一通り確認してきました。今までとはちょっと異なる内容でしたが、作業方法は今までとさほど変わらないというところも分かっていただけたのではないでしょうか。
この回まででアプリケーションをモデリングして、論理データセンターをモデリングしました。せっかくなので両者の間でちゃんと整合性を確保できているのか? 問題があるとすればどこなのか? 確認できると便利ですよね。次回はそんなときに利用する「配置デザイナ」という機能を紹介します。この配置デザイナを使うために今までの作業があったと言ってもいいほどに、今までの作業を無駄にはさせないものです。次回もどうぞお楽しみに。