Enterprise Cloud 2.0 上で、オープンソース「pfSense」、「pound」を利用してファイアウォール、ロードバランサーを構築してみた

2016年11月22日by Cloud Magazine編集部

NTTコミュニケーションズのCloud Magazine編集部です。

機能拡張されたEnterprise Cloud(以下、ECL2.0)では、ネットワーク系のメニューとして高機能なファイアウォール(Brocade 5600 vRouter)、Managed Firewall/UTMおよびロードバランサー(NetScaler VPX)を提供しており、ご利用いただくことが可能です。
しかし、もっと簡易にお手軽にファイアウォールやロードバランサーを利用したいという方向けに、今回オープンソースの仮想アプライアンスやソフトウェアを利用してEnterprise Cloud 上でファイアウォール、ロードバランサーを構築してみました。

1. ファイアウォール

仮想ネットワークアプライアンス用のISOイメージとして提供されている「pfSense」を利用します。
公式サイトはこちら

では、さっそくはじめていきます。

1.1 pfSenseのインストール方法

はじめに、pfSenseサイトよりISOイメージをダウンロードします。

「pfSense-CE-2.3.2-RELEASE-amd64.iso.gz 」をダウンロードしました。

ECL2.0のカスタマーポータルにログインして、「クラウドコンピューティング」をクリックします。
以降、文中出てくるポータル操作の詳細はKnowledge Centerのチュートリアルを参照ください。

  • イメージ保存領域のご利用方法
  • 仮想サーバーのご利用方法

など

「サーバー」>「仮想サーバー」>「イメージ保存領域」をクリックします。

プライベートテンプレート/ISOアップロード機能より、最初にダウンロードしたpfSense のISOイメージをアップロードします。

イメージを作成します。

③②でアップロードしたテンプレートよりインスタンスを作成します。

1.2 pfSenseの設定方法

① pfSenseには設定用の端末が別途必要です。設定用端末のブラウザよりWebGUIにpfSenseに割当したIPアドレスで接続し、pfSenseにログインします。今回は、よく利用される以下機能についての設定画面を紹介します。

  • ACLによるセキュリティ設定
  • 外部からのアクセスをNAT変換する設定
  • 他ネットワークへのルーティング設定

②「Firewall」の「Rules」よりACLを設定します

③「Firewall」の「NAT」よりNATを設定します

④「System」の「Routing」よりルーティングを設定します

これで、pfSenseを利用したファイアウォールの設定は完了です。

2. Pound

次に、ロードバランサー「Pound」です。こちらはLinux系OS用のオープンソースソフトウェアとして提供されています。そのため、今回はEnterprise Cloudで提供しているCentOSのオフィシャルイメージテンプレートを利用してインスタンスを作成し、CentOSへのPoundのイントール、およびバランシグ設定を行います。手順と設定の流れは以下の通りです。

2.1 Poundのインストール及び設定方法

①ECL2.0のカスタマーポータルよりオフィシャルイメージテンプレート(CentOS7.1)を利用してインスタンスを作成します。

② ①で作成したCentOS7.1のインスタンスにSSH接続し、Yumインタフェースより下記コマンドにてpoundをインストールします。
※当該インスタンスがインターネットに接続できる環境となっている必要があります。

# yum install epel-release
# yum --enablerepo=epel -y install Pound

③ バランシグルールの設定ファイル(/etc/pound.cfg)を編集し、保存します。
以下、HTTPアクセスを2台のサーバーに同じプライオリティでロードバランシングする場合の設定例です。

User "pound"
Group "pound"
Control "/var/lib/pound/pound.cfg"
LogLevel 3
LogFacility local1
Alive 30

#HTTPのListen設定
ListenHTTP
    Address 10.0.20.5
    Port 80
End

#分散サーバーの設定
Service
  #HTTPサーバー1
    BackEnd
        Address 10.0.20.3
        Port    80
        Priority 1
    End
  #HTTPサーバー2
    BackEnd
        Address 10.0.20.4
        Port    80
        Priority 1
    End
End

Poundのインストールおよび設定は以上で終了です。

今回は2つのオープンソースのネットワークアプライアンスおよびソフトウェアの活用についてご紹介いたしました。安価にシステムを構築したいというユーザーの方は、ぜひともお試しください。