Adachinですっ。

今回はロードバランサー(ipvsadm)の運営は経験あったんですが構築はそういえばないな〜と思ったので、

KVMを使って検証したので、構築方法をブログします。

もちろんOSは

CentOS Linux release 7.2.1511 (Core)

になります。

そもそも今回はDSRで構築するため、非常にオワコンな技術ですがやってみたいと思います。

最近はhaproxy(NAT)が定番で、AWSのELBにも採用されてます。

・関連記事

[Keepalived][ipvsadm]ロードバランサーから切り離したり戻したりする方法


■構成図

一旦LVSは一台の構成でやります。(後にKeepalivedの設定するので)

lvs01

※環境によって違うと思いますので、よしなに理解していきましょう。
ちなみにKVMなのでホストサーバにボンディングの設定をしています。(仮想ポート)


■やりたいこと

1.test01からtest02(172.19.10.63)をcurlで叩くとtest-03,04(WEB01,02)が表示できているか

→ロードバランシングの確認

2.test03,04(WEB01,02)からtest01(172.19.10.21)にcurlで叩くと表示ができているか

→NATの確認

まずは上記の設定からやってみましょう。
これができたらVIPやらKeepalivedの設定をして冗長化します。(ロードバランシングが落ちても大丈夫!!)

※こちらは次回のブログでお会いしましょう(白目)


■test03,04(WEB01,02)eth1の設定(ネットワーク)

まずはWEBサーバ2台ローカルIPの設定をします。(ネットワーク帯を分けます)

WEBサーバはnginxなりapacheで構築してください(割愛)

・eth1

よしなに

・eth0

基本eth0は無効化にします。これによりsshが繋がらなくなるので、
LVSからipvsadmでsshのポートを適当に開放しないといけません。


■test01にipvsadmのインストール

・test01のeth0に対してweb03,04(eth1)をipvsadmに追加する

・先ほど上記であげたsshも設定します

・sshログイン

変わるので焦らないように

・確認

これでロードバランシングされます。

・curlで叩けるか確認

ちゃんと分散されてる


■まとめ

これで外から中の確認ができたので
中から外の設定(NAT)をしていきましょう。
やっぱりネットワークの設定でハマった汗
NATもfirewalldコマンドに慣れなくてハマった汗
クラウドならこんなのぽちぽちですね。(白目)

参考:https://www.server-world.info/query?os=CentOS_7&p=lvs

The following two tabs change content below.

あだちん

1989年生まれ。 ランサーズ/SRE。 ホスティングから大規模なアドテクなどのインフラエンジニアとして携わり、ランサーズにてサーバ系のお仕事も副業で行い、他社インフラレスポンス改善、ansibleでのインフラコード化を推進し、未経験によるエンジニア勉強会なども実施している。 そして「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/広報/VulsRepo init file,chatwork通知のコントリビュータでもある。 現在はDocker開発環境の提供,AWSで新サービスのインフラ構築,PHPバージョンアップ,分析基盤を担当しておりDigdag,embulk,BigQueryを使いこなそうと奮闘中。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください