ブログニフクラやクラウドの技術について、エンジニアが語るブログです。ブログニフクラやクラウドの技術について、エンジニアが語るブログです。3層モデルのシステムを簡単に構築したい!機能紹介・TIPSこんにちは。ニフティでインフラを守るお仕事をしている五月女です。最近は、パソコンやスマートフォンの利用が当り前となり、利用者の環境毎に個別にアプリケーションを作って配布するのではなく、プラウザ経由で利用する、いわいる「ウェブアプリケーション」を利用する機会が増えつつあると思います。スケジュール管理やWebメール、ドキュメント管理など企業活動に必要なもの。他にも、ブログやECサイト、オンラインバンク、ソーシャルゲームといった多くのサービスがウェブアプリケーションとして提供されています。実際、ウェブアプリケーションの作成が必要になる機会も増えているのでは無いでしょうか。したアプリケーションを作成する際のシステム構成としては、「ウェブサーバ」「アプリケーションサーバ」「データベースサーバ」にて構成される「3層モデル」が用いられる事が多いです。ところが、実際に構築してみると、構成に合わせたネットワークの設計やアクセス制御の設定が必要になったりと、意外と手間がかかり面倒な事が分かります。サーバの増減が自由自在なクラウドの恩恵を最大限活用するためには、アクセス規模に合わせてシステム構成を刻々と変化させる必要があり、毎回設定を変更する事が、煩わしく感じるかもしれません。ニフティクラウドには、そういった面倒で煩雑な手間を省き、専門的な操作無く実現する機能がちゃんと用意されています。今回は、ニフティクラウドのファイアウォール機能を利用して「簡単に3層モデルを実現する方法」を紹介します。ニフティクラウドで3層モデルを実現する最小構成からのスタートWEB/APL/DBサーバの分離スケールアウトを考慮した3層モデルへもっと便利に使ってみるグローバルIPの削除VPNの利用まとめ※内容は、2012年02月現在時点の情報です。Plain」を対象とした記事です「3層モデル」とはウェブアプリケーションのシステム構成としてよく利用される「3層モデル」は、他にも「3層構成」や「3層アーキテクチャ」等と言われ、こうした構成をまとめて、多層アーキテクチャと呼んだりします。ウェブアプリケーションの3層モデルは下記3層を指す事が多いです。ウェブサーバアプリケーションサーバデータベースサーバ具体的なソフトウエアと結びつけると、各層は下記の様な構成になるのではないでしょうか。動作を簡単に表すと次の様になります。サービスの利用者が、WEBサーバへアクセスし入力を受付WEBサーバがAPLサーバに利用者への情報表示に必要な処理を依頼APLサーバが必要な情報をDBサーバに要求して取得APLサーバがDBサーバより取得した情報より、必要な処理を実施APLサーバがWEBサーバへ返却WEBサーバが利用者へデータをお届けでは、具体的にニフティクラウドでこの「3層モデル」を実現する方法を確認していきます。ニフティクラウドの機能の確認3層モデルの実現方法の前に、ニフティクラウドの機能についておさらいします。ニフティクラウドのネットワーク標準の状態にて、ニフティクラウドから各サーバへ提供されるネットワークは2つあります。一つが「グローバルネットワーク」。一つが「プライベートネットワーク」です。図にしてみると大体こんな感じです。それぞれのネットワークの特徴は下記の通りです。超高速!(*1)ニフティクラウドのファイアウォールニフティクラウドのファイアウォールは、一般的なファイアウォールとしての機能を一通り備えており、さらに、コントロールパネルから簡単に設定したり、APIから制御し、設定を自動化するといった事が可能です。ファイアウォールお客様のサーバーへの通信を、あらかじめ定義されたルールに従ってフィルタリングする機能です。サーバーより上位のレイヤーでフィルタリングを行うことで、複数のサーバーに一括でファイアウォールを適用することができます。設定と管理は、コントロールパネルやAPIで行うことができ、お客様の運用効率が飛躍的に向上します。http://cloud.nifty.com/service/fw.htmファイアウォール機能の紹介は「中の人」が書いた下記記事が、実例を交えており詳しいですので、合わせてご覧ください。ニフティクラウドでファイアウォールを使ってみる!さて、各機能の詳細な説明は公式サイトに任せるとして、ここでは、ファイアウォールの持つ重要な機能の説明をします。一つが「グループ」で、もう一つが「接続元種別」です。「グループ」機能ニフティクラウドのファイアウォールでは、フィルタリングルールを「グループ」という単位で管理します。グループ毎に個別のフィルタリングルールを作成し、特定のグループにサーバを追加する事でフィルタリングルールを適用します。特徴として、同一グループ内の通信はIN/OUT共に制限なく利用出来ます。インターネットを含む、グループ外との通信について制御する事が可能です。「GroupA」に属するサーバ(1)と「GroupB」に属するサーバ(3)の間は通信が制限された状態です。して選択可能な対象に「グループ」があります。ファイアウォールグループ「GroupA」にて次の様な設定を入れます。インターネットを含むすべてのネットワークから、80番ポートに対するTCP通信を許可する次にファイアウォールグループ「GroupB」にて次の様な設定を入れます。「GroupA」に属するサーバからのみ、8080番ポートに対するTCP通信を許可するすると、次の様な通信制御されたネットワークが構成されます。この通信経路を展開すると、仮想的に下記の様になり、仮想的に2層構造が実現出来た事が分かります。この様に、ニフティクラウドのファイアウォール機能では、接続元種別とグループ化されたフィルタリングルールを組み合わせる事で、仮想的にネットワークを構成する事が可能です。(*2)ニフティクラウドで3層モデルを実現する実際に、ニフティクラウドを使ってウェブアプリケーションを提供する事を想定し、ファイアウォール機能を利用して3層モデルを作っていく過程を考えてみました。最小構成からのスタートクラウドによるコストの最適化を最大限に活用するため、ウェブアプリケーションをスモールスタートで開始します。最初はWEBサーバ、APLサーバ、DBサーバを同一のサーバに同居させる事でコストを最小限に抑えます。公開後、提供を開始したサービスは順調にアクセスを伸ばしてきました。今後の、アクセス増を見越し、拡張可能な構成にすべく、WEBサーバ、APLサーバ、DBサーバを分離させます。分離させる作業は簡単です。既存のファイアウォールグループ「WEBandAPLandDB」を「WEB」に名称変更し、新規に「APL」「DB」というファイアウォールグループを作成します。新しく作成したAPLサーバ、DBサーバを、それぞれ各グループに追加すれば完了です。コントロールパネルからの操作すれば、5分とかからない操作です。(*3)以上の操作で、ニフティクラウド上で3層モデルが実現出来ました。あっけないほど簡単です。スケールアウトを考慮した3層モデルへWEBサーバ、APLサーバ、DBサーバが分離出来ればあとは、アクセス増減に応じて、WEBサーバ、APLサーバを柔軟に増減させて対応可能です。増減に伴うネットワークの設定は、各ファイアウォールグループへサーバを追加・削除すればOKです。アクセスが多い時、多くの処理を捌きたい時は各グループへ作成したサーバを追加し、アクセスが少ない時、負荷の低い時はサーバを削除すればあとはファイアウォールグループが自動的に設定したフィルタリングルールを適用してくれます。論理ネットワークとして、インターネット側のネットワークが不要なサーバが考えられます。インターネットへのアクセスを必要としない、APLサーバやDBサーバについては、インターネット側のグローバルIPを削除してしまっても良いでしょう。削除する事で、万が一ファイアウォールグループへの追加を忘れてしまったりした際も安心ですし、サーバ代金が減額されます。Network(VPN)経由でのアクセスのみを許可する事も出来ます。ニフティクラウドのVPN接続サービスを利用する際は、プライベートLANオプションの申し込みが必須です。このため、プライベートLAN利用開始時にプライベートネットワークが、他のニフティクラウドの利用者から独立します。全サーバのグローバルIPを削除する事で、インターネットから直接サーバへアクセスする事を出来なくします。その上で、VPN経由の接続をする事で、インターネットに生のデータを漏らす事無くサーバとデータのやり取りが可能になります。ここでもファイアウォール機能を利用する事で、部署やチーム毎にアクセス出来るサーバ範囲を限定したり、流れるデータを見えなくするといった事が実現出来ます。ここまで出来ると、オフィスにあるサーバと遜色なく利用出来るのではないでしょうか。操作のわかりやすいコントロールパネルとAPIを利用して、無尽蔵のサーバパワーを従量課金で、利用したい時に利用したい分だけ利用する事が出来ます。この様にVPNとファイアウォールを併用する事で、ニフティクラウド上に仮想的な自社センターを確保する事も可能です。サービス詳細インターネットVPN(H/W)プライベートLANまとめ以上、簡単ではありますが、ウェブアプリケーションの3層モデルを例に、ニフティクラウドのファイアウォールを紹介しました。この機能の魅力が少しでも伝わっていれば幸いです。ファイアーウォールを利用した際に気になるのは、未利用時とのオーバーヘッドですが、ニフティクラウドのファイアウォールは自分が試した限り、サーバ自体の負荷は全然無く、ネットワークのオーバーヘッドも殆ど感じられません。初期状態で2件まで無料で使え、有料版に切り替えれば最大55グループまで設定する事が可能です。自動化する事だって可能です。オンプレミス環境下で物理サーバを用いてシステム構築をしていたときの苦労が嘘の様な簡単さですね。́・ω・`)ウゥ今回はファイアウォール機能や3層モデルの実現方法等を例を交えて簡単にまとめさせて頂きました。IaaSによるシステム構築/活用入門』に上手くまとめられています。説明の都合、細かな所は端折りましたが、おおよそこんな感じ。ファイアウォールグループの名称は適当に決めてください。»プロフィールニフクラとは、VMwareを基盤とした国産のパブリック型クラウドサービスです。LIMITEDスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。