本文へジャンプします。

東西リージョンでの冗長化を考慮した VPN 接続

こんにちは。まほろば工房の浅間です。今回は応用編その 2 です。全 10 回におよぶ VPN ゲートウェイを使ったニフクラとオンプレ接続についての記事は、今回でいったん完了です。
前回は IPsec VPN(L3 VPN) を使って複数リージョン・複数オンプレでの VPN 構築をしてみました。
前回の構成でも東西リージョンを使った耐障害性の高いサーバ運用はできると思うのですが、東西でプライベート LAN のアドレス帯が異なる(たとえば前回の例では東日本リージョンのサーバは 172.16.1.0/24 で西日本リージョンのサーバは 172.16.2.0/24)ため、なにかあった際の切り替えは結構面倒かもしれません(たとえば社内 DNS サーバを運用されているのであれば DNS 情報を切り替えるとか?)。

今回紹介する構成は東西を L2TPv3/IPsec VPN(L2 VPN) で接続してしまってそれをオンプレと繋いじゃおうというものです。絵に描くとこんな感じです。

010_01

東西のサーバが同じ 192.168.1.0/24 に接続されているので IP エイリアスを使ったフローティング IP アドレスを使うことで東西においた 2 台のサーバで冗長構成を実現できるんじゃないか、フローティング IP アドレスが使えればクライアント側が(DNS とかを使わず)IP アドレスを直接指定しているような状況でもなにかあったときにバックアップ機に切り替えれるんじゃないか、という構成です。

YAMAHA RTX1210 は東日本リージョンの VPN ゲートウェイと西日本リージョンの VPN ゲートウェイのそれぞれに IPsec VPN 接続するわけですが、通常は東日本リージョンの VPN ゲートウェイにルーティングし、東日本リージョンの VPN ゲートウェイになんらかの問題が生じた際に自動的に西日本リージョンの VPN ゲートウェイにルーティングが切り替わるような設定も考えてみました。

東日本リージョンの VPN ゲートウェイの設定

まずは L2TPv3/IPsec VPN(L2 VPN) で東西リージョンを接続します。この作業は “東西リージョン間 L2TPv3/IPsec VPN(L2 VPN)” とほぼ一緒なので詳しくはこちらを参照してください。

010_02

010_03

010_04

西日本リージョンの VPN ゲートウェイの設定

010_05

010_06

010_07

東日本リージョンの VPN ゲートウェイの設定(再)

010_08

010_09

010_10

西日本リージョンの VPN ゲートウェイの設定(再)

010_11

010_12

東日本リージョンの VPN ゲートウェイの設定(再々)

東日本リージョンの VPN ゲートウェイに YAMAHA RTX1210 との VPN コネクション(IPsec VPN) の設定をします。この作業は “YAMAHA RTX1210 で単一拠点 IPsec VPN(L3 VPN)” とほぼ一緒なので詳しくはこちらを参照してください。

010_13

西日本リージョンの VPN ゲートウェイの設定(再々)

西日本リージョンの VPN ゲートウェイにも YAMAHA RTX1210 との VPN コネクション(IPsec VPN) の設定をします。こちらも “YAMAHA RTX1210 で単一拠点 IPsec VPN(L3 VPN)” とほぼ一緒です。

010_14

YAMAHA RTX1210 の設定

YAMAHA RTX1210 側の設定はちょっと工夫が必要です。東日本リージョンの VPN ゲートウェイと西日本リージョンの VPN ゲートウェイの 2 つの VPN ゲートウェイと IPsec VPN(L3 VPN) の接続をするわけですが、宛先ネットワークはどちらも同じ 172.16.1.0/24 なので単純には設定できません。

今回は以下のようなルーティング設定をしてみました。

ip route 172.16.1.0/24 gateway tunnel 1 metric 1 hide gateway tunnel 2 metric 2

ちなみに tunnel 1 が東日本リージョンの VPN ゲートウェイとの接続で、tunnel 2 が西日本リージョンの VPN ゲートウェイとの接続になります。上記のようにルーティングを設定すると tunnel 1(東日本リージョンとの VPN 接続) が生きているときは tunnel 1 を使い、死んでいるときは tunnel 2 を使うようになります。

オンプレ(192.168.1.0/24)からニフティクラウド(172.16.1.0/24)へのパケットは上記の通り東日本リージョンの VPN ゲートウェイとの VPN 接続が生きている限り東日本リージョンの VPN ゲートウェイ経由になるのですが、逆にニフティクラウド(172.16.1.0/24)からオンプレ(192.168.1.0/24)へのパケットはどうなるのでしょうか。じつはサーバからみてどちらか近い方の VPN ゲートウェイからの VPN トンネルを通って YAMAHA RTX1210 へ届く感じになります。

VPN ゲートウェイにはプライベート LAN のネットワークアドレス + 1 のアドレス(たとえばプライベート LAN の IP アドレス帯が 172.16.1.0/24 の場合 172.16.1.1)が自動的に設定されます。今回の構成では東日本リージョンの VPN ゲートウェイと西日本リージョンの VPN ゲートウェイの両方にまったく同じプライベート LAN の IP アドレス帯を設定しています。ということは東日本の VPN ゲートウェイと西日本の VPN ゲートウェイの両方が 172.16.1.1 という同じ IP アドレスを持っている感じになっています。つまり IP アドレスの重複が起きているような状態です。ではどちらの 172.16.1.1 が使われるかというと ARP で先に応答を受信した方になるので、通常は近い方(東日本リージョンのサーバなら東日本リージョンの VPN ゲートウェイ)が勝つようです。なので東日本リージョンのサーバからのパケットは東日本リージョンの VPN ゲートウェイ経由で YAMAHA RTX1210 にパケットが転送され、西日本リージョンのサーバからのパケットは西日本リージョンの VPN ゲートウェイ経由で YAMAHA RTX1210 にパケットが転送されるような感じになります。ただし ARP で必ず近い方が勝つという保証があるわけではないので、もしかしたら東日本リージョンのサーバから西日本リージョンの VPN ゲートウェイを経由して YAMAHA RTX1210 へ転送されるようなケースもないわけではありません。

参考までに YAMAHA RTX1210 の全設定を貼り付けておきます。

ip route default gateway pp 1
ip route 172.16.1.0/24 gateway tunnel 1 metric 1 hide gateway tunnel 2 metric 2
ip lan1 address 192.168.1.1/24
ip lan2 nat descriptor 1
pp select 1
 pppoe use lan2
 pp auth accept pap chap
 pp auth myname xxx@yyy zzz
 ppp lcp mru on 1454
 ppp ipcp ipaddress on
 ppp ipcp msext on
 ppp ccp type none
 ip pp mtu 1454
 ip pp nat descriptor 1
 pp enable 1
tunnel select 1
 ipsec tunnel 101
  ipsec sa policy 101 1 esp aes-cbc sha-hmac
  ipsec ike duration ipsec-sa 1 3600
  ipsec ike duration ike-sa 1 28800
  ipsec ike encryption 1 aes-cbc
  ipsec ike group 1 modp1024
  ipsec ike hash 1 sha
  ipsec ike keepalive use 1 on dpd
  ipsec ike local address 1 192.168.1.1
  ipsec ike pfs 1 on
  ipsec ike pre-shared-key 1 text xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  ipsec ike remote address 1 198.51.100.123
 tunnel enable 1
tunnel select 2
 ipsec tunnel 102
  ipsec sa policy 102 2 esp aes-cbc sha-hmac
  ipsec ike duration ipsec-sa 2 3600
  ipsec ike duration ike-sa 2 28800
  ipsec ike encryption 2 aes-cbc
  ipsec ike group 2 modp1024
  ipsec ike hash 2 sha
  ipsec ike keepalive use 2 on dpd
  ipsec ike local address 2 192.168.1.1
  ipsec ike pfs 2 on
  ipsec ike pre-shared-key 2 text xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  ipsec ike remote address 2 198.51.100.234
 tunnel enable 2
nat descriptor type 1 masquerade
nat descriptor address outer 1 ipcp
nat descriptor address inner 1 auto
nat descriptor masquerade static 1 1 192.168.1.1 udp 500
nat descriptor masquerade static 1 2 192.168.1.1 udp 4500
nat descriptor masquerade static 1 3 192.168.1.1 esp
ipsec auto refresh on
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.1.101-192.168.1.200/24
dns server pp 1
dns private address spoof on

まとめ

L2TPv3/IPsec VPN(L2 VPN) で東西リージョンのプライベート LAN を接続し、それを IPsec VPN(L3 VPN) でオンプレと接続するという構成を紹介しました。東西リージョンのサーバを同じ L2 ネットワークに置くことができるのでフローティング IP アドレスを使ったサーバの冗長構成もできるようになります。

ただ、フローティング IP アドレスを使ったサーバの冗長構成の運用は相当難易度が高い気もします。たとえば東日本に本番系を運用していて東日本に障害が発生し西日本に切り替わったとすると、注意しないと、東日本が復旧した際にクライアントが東日本側に接続しちゃってどちらが新しいデータなのか分からないような状態になってしまうかもしれません。フローティング IP アドレスを使った冗長構成をとるときは、その辺りも考慮する必要があると思います。

ニフティクラウド 導入相談窓口
ニフティクラウド 無料セミナー

閉じる

閉じる

クラウドブログ編集部

クラウドブログ編集部

ニフティクラウド ユーザーブログ編集部のアカウントです。 編集部からのお知らせや、レギュラーライター以外のゲストによる寄稿記事を掲載していきます。

浜中 慶

浜中 慶

1980年、神奈川県生まれ。2003年ニフティ入社。 ポータルサイト開発を中心に、音楽配信サービス、CGMサービスなど様々なプロジェクトに企画/デザイン/システム担当として参加。現在は@niftyのポータルサービス向けコンテンツ管理システムの企画/開発/運用を担当。

吉田 雄哉

吉田 雄哉

株式会社co-meetingの創業メンバー。「取締役&External- facing Technologist」と名乗り新しいIT技術を広く伝える活動とWebアプリケーション開発を行う毎日。パッケージベンダーでのSaaS立上げ・製造業の情報システム部門で企画やPM・受託開発と従事してきたため、ベンダーサイドとユーザサイド の両方の視点を持ち合わせる。

石田 健亮

石田 健亮

株式会社ドリーム・アーツで小売事業者向けSaaS「Shopらん」を企画、開発。メインの仕事はプログラマーだがサーバー管理や営業もこなすユーティリティプレイヤー。最近好きな事はパフォーマンスチューニング。特に並列化プログラミングがマイブーム。キライなことはデータセンターでの作業。騒音と乾燥が弱点。ニフティクラウドでデータセンターに行く必要が無くなったことが本当の利点だ と思っている。

五月女 雄一

五月女 雄一

ニフティでは「インフラを守る簡単な様で奥が深いお仕事」をしています。 夢はインフラの気持ちが読めるエンジニアになること。

わたなべ かずひろ

わたなべ かずひろ

専門学校卒業後、ソフトウェア開発会社で電力系統制御システムの開発に従事。その後、CD-ROM等マルチメディア系PCソフトの開発を経て、1998年フリーランスに。 2000年8月に株式会社イーツーの設立に参画。携帯を含む様々なWeb系のシステム開発に携わる。現在はiPhone/Androidアプリなどの開発も手がけている。

市角

市角

ニフティクラウドのコントロールパネル設計・開発をメインに、たまにインフラの運用やお手伝いもやっていたりします。コントロールパネルや新機能の活用方法、アイデアなどを中心に書いていく予定です。

仲山 昌宏

仲山 昌宏

歌って踊れるインフラエンジニア兼、PHPもRubyもJavaも書くPerl使い。 物理サーバの運用に飽きて、フルラックに格安サーバ詰めて自宅プライベートクラウドを構築中。 今年は個人的には分散処理を攻めていきます。

猪飼 賢広

猪飼 賢広

1984年、愛知県名古屋市生まれ。大学は福島県にある某大学。2008年ニフティに入社。 開発系部署に配属後、主に各種テーマサイト開発のシステム面調整、開発進行管理役などとして参加。 現在もPC・ガラケーサイトの開発まわりを担当。インフラまわりを触る案件にも携わっており、日々修行中。 好きな芸人はなかやまきんに君とレイザーラモンRG。

久江 裕之

久江 裕之

ニフティクラウドのインフラ運用、OS提供の仕事をしています。 新しいOSやイメージが出る時にこのブログでご紹介いたします。入社5年目。一流のインフラエンジニアを目指して日々勉強中。

竹内 豪

竹内 豪

ニフティクラウド エンジニア

山口

山口

ニフティクラウドの基盤設計、新サービス/アライアンス/インフラ企画、その他雑用全般を担当しています。 クラウドに欲しい機能や、こんなふうに使ってほしいという想いが共有できれば良いですね。

芳中 隆幸

芳中 隆幸

ニフティクラウドの開発、運用を担当しています。

酒井 浩平

酒井 浩平

ニフティクラウドの中にいます。 ネットワークまわりの運用・開発や自動化などに取り組んでいます。 すべてのエンジニアを幸せにすることを目指しています。

higebu

higebu

ニフティクラウド IaaSのエンジニアです。 ネットワーク、DRサービス with VMware vCloud® Air™ Technology辺りの担当をしています。

武田

武田

ニフティクラウドの開発・運用を担当しています。 各種機能の内容についてなどで執筆させていただく予定です。

福澤真

福澤真

ニフティクラウドのコンパネ開発、運用をしています。

森藤 大地

森藤 大地

データに関する仕事が好きです。

宮原徹

宮原徹

日本仮想化技術株式会社 代表取締役社長兼CEO。仮想化技術に関するコンサルタントとして長年活動しており、特にベンチマークテストによる性能評価を得意としている。

荒谷翔

荒谷翔

株式会社はてなでMackerelのセールスデベロッパーとして勤務しています

東條 望

東條 望

2014年にニフティへ中途入社。 入社後から現在まで、ニフティクラウドのサービス企画・開発を担当しています。 各サービスの紹介を執筆させていただく予定です。

世良迪夫

世良迪夫

ニフティクラウドのRDBなどを担当しています