ニフティクラウドでロードバランサーを使ってみる!
こんにちは、ちなつです。
今回は、@niftyのポータルサービス向けコンテンツ管理システムの企画/開発/運用を担当しているライター・浜中の記事をご紹介します。
(*本記事の最後に浜中のプロフィールを掲載しています)
*********************************************************************
こんにちは。ニフティのハマナカといいます。
普段はWebサービスの開発・運用を行うアプリケーションエンジニアをしています。よろしくお願いします。
■はじめに
私のスキルセットは、インフラに関しては概要は理解しているけど自分で構築作業をすることが無い(私の会社にはインフラの専門部隊がいるため)のであまり詳細は分かってない...という程度です。
そんな私が「ニフティクラウドで使ったことのない機能を使ってみる」ということで、今回はロードバランサーを使ってみようと思います!これからニフティクラウド使ってみようと思っている方の参考になればと思います。
結論からいうと、ロードバランサーの設定はブラウザからポチポチとクリックすればいいだけでした。すごい時代になりましたね。
■このエントリーの前提
このエントリーの前提として、既に、ニフティクラウドの基本操作に関するセットアップは終了しているものとします。
■価格
気になるお値段ですが、ロードバランサーは帯域設定に応じた月額料金のみとなっています。10Mbpsで10500円から~です。
http://cloud.nifty.com/price/
■さっそく設定してみる
ではさっそく動かしてみましょう。ロードバランサーはコントロールパネル、APIのどちらでも設定できます。今日は簡単にコントロールパネルから設定してみることにします。
1. ニフティクラウドのコントロールパネルで「ネットワーク・セキュリティ」を選択します。
2. 次に、画面中央のタブから「ロードバランサー」を選択します。
3. タブの下に「ロードバランサー作成」というボタンが表示されるのでクリックします。
4. ポップアップの画面が出てくるので、「基本設定」で、名前、最大ネットワーク流量、ロードバランス方式・ポートを設定します。
5. ヘルスチェック設定で、ロードバランサー配下のサーバをいい感じでヘルスチェックしてくれる設定をいれます。
お試しなので10秒間隔で6回ヘルスチェックをおこない、失敗したら切り離すように設定をしました。このあたりはサービスの要件次第ですね。
6. サーバー設定で、ロードバランサー配下に置くサーバーを設定します。まずは一台だけ追加しました。
7. フィルター設定。ここではIPアドレスの許可/拒否設定が行えます。リリース前は社内IPアドレスだけOK、なんて設定もできそうです。
8. 最後に確認をすると...
9. ロードバランサーの作成が開始されました!
10. と思ったらヘルスチェックでエラーマークが出ています。。。
サーバー側のiptablesでロードバランサーのIPアドレスを許可していませんでした。
○ロードバランサーを利用するにあたり、サーバー側で許可すべきアドレスを教えてください。
http://cloud.kaiketsu.nifty.com/faqs/49902/thread
サポート掲示板に書いてある通りにiptablsを設定しました。
-A RH-Firewall-1-INPUT -s 111.171.200.96/28 -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -s 111.171.200.125 -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -s 111.171.200.126 -m tcp -p tcp --dport 80 -j ACCEPT
これで完了です!
■最後に
ロードバランサーの設定は基本的にはネットワークエンジニアの領分で、アプリエンジニアは触らない場所、という先入観があったのですが、わりと簡単に設定することができました(もちろん各設定の意味はきちんと理解しておく必要がありますが)。
そんな感じで、ロードバランサーの設定なんてしたことない...という方もぜひ使っていただければと思います!
------------------------------------
プロフィール
ライターネーム:浜中 慶
1980年、神奈川県生まれ。2003年ニフティ入社。
ポータルサイト開発を中心に、音楽配信サービス、
CGMサービスなど様々なプロジェクトに企画/
デザイン/システム担当として参加。
@niftyのポータルサービス向けコンテンツ管理
システムの企画/開発/運用を担当。
------------------------------------