SlideShare a Scribd company logo
1 of 6
Download to read offline
GSLB機能について
Future Versatile Group/MyDNS.JP
T.Kabu
自己紹介
 T.Kabu
 Future Versatile Group
 MyDNS.JPの管理は一人
 GVCの開発はフォローを受けつつ
 美味しいものを求めて全国をふらふら
 @disco_v8
 http://www.MyDNS.JP/
 http://www.GVC-On.net/ その他いろいろ
GSLB とは?
Q : http://www.gslb.mydns.jp/
PowerDNS+GSLB
LA.www
NY.www
JP.www
ASIA.www
EU.www
A : www = jpn.gslb
PowerDNS は Query の送信元の IP アドレス ( 大抵は参照 DNS の IP) から
最も近い地域の www サーバーの IP アドレスや CNAME 名を返すことができる。
これを地域別サーバー負荷分散 (Global Server Load Balancing:GSLB) などという。
MyDNS.JP では、世界各地の VPS から世界中の IP アドレスなどに ping を打ち、
その結果をもとにして、GSLB を実現するためのデータベースを構築している。
PowerDNS には GSLB の他、いろいろな処理 (=BackEnd) を自ら作りこむことが出来る。
参照 DNS
Thanks, world Map! http://www.abysse.co.jp/world/index.html
CIDR 情報→PING 情報→GSLB 情報
PowerDNS
pipebackend.php
pipe
データベース
(DB-0)
CIDR 情報
makecidrtbl.php
CIDR 情報
PowerDNS のバックエンドはユーザーが任意に作り込めるので、今回のような GSLB だけでなく、
各サーバーの負荷による通常のロードバランシングなども簡単に実現可能です。
manageping.php
pingscan.php
PING 情報
makecheckip.php
GSLB 情報
各地域の NIC が公開している委譲 IP アドレス
(delegate ipaddress list) を元に、CIDR 情報を
生成して DB に格納する
①
CIDR 情報を元に、ping 対象となる
PING 情報を生成して DB に格納する②
PING 情報を元に ping を実施し、
その結果を格納する。③
portcheck
makeglsbinfo.php
CIDR 情報のネットワークアドレス毎に
PING 情報から TTL の平均値を取得し、
近い DC 順に記述した GSLB 情報を格納する
④
データベース
(DB-1)
GSLB 情報を元に、PowerDNS から
パイプ越しに渡された Query にある
リモート IP から最も近いホストを
CNAME などで Answer する
⑤
PowerDNS は pipebackend に問い合わせても
不明な場合には次のエンジンに問い合わせる。
(launch=geo,gpgsql)
※
参照 DNS
DNS 情報の収集
PowerDNS
pipebackend.php
pipe
データベース
(DB-0)
CIDR 情報
Go○gle の 8.8.8.8 のような DNS に限らず、実際には裏で各地域ごとに DNS を動かしている xSP は多い。
それらの IP アドレスを含む CIDR 情報は例えば特定の国 ( 米国とか ) 割り当てとなっており、PING 情報に
よる総合的な判断では、この CIDR は全て US が一番近い、ということになってしまう。
このため、Query を送ってくれる DNS は個別に CIDR 情報ならびに PING 情報に登録し、結果生成された
GSLB 情報を次のように検索して、DNS の IP アドレスを積極的に使用する。
SELECT * FROM gslbinfo_tbl WHERE address >>= 'x.x.x.x/32' ORDER BY address DESC LIMIT 1;
PING 情報
データベース
(DB-1)
リモート IP(=DNS) を個別に CIDR 情報と
PING 情報に格納して、ping 対象として
より的確な GSLB にする。
(Go○gle の 8.8.8.8 問題 )
①
参照 DNS
GSLB 情報
GSLB 機能の提供について
ダイナミック DNS としては珍しい !?、GSLB 機能についてご提供できるようになりましたので     MyDNS.JP にログイン後、「DOMAIN INFO」での GSLB の設定例 ( 本文参照 )
お知らせいたします。
GSLB とはその名の通り『地理的サーバー分散』であり、皆さんのサーバーにアクセスしてくる
ユーザーにとって、地理的に最も近いサーバーを教えるものです。※1
GSLB 機能の有効性確認用サーバーとして http://www.gslb.mydns.jp/ を用意しています。
日本ならびにその周辺からアクセスすれば日本のサーバーに、アメリカならびにその周辺から
アクセスすればアメリカのサーバーに、ヨーロッパとその周辺からアクセスすればヨーロッパ
のサーバーに、自動的に割り振られてアクセスします。
MyDNS.JP は世界五ヶ所に WEB サーバーを分散していますが、同様にワールドワイドに複数の
サーバーを展開する方には必須の機能かと思います。
設定方法、ならびに利用方法、制限事項は以下の通りです。
  ・ドメイン名そのもので GSLB 機能は利用できません
   (www、mail などのホスト名に対して利用できます )
  ・「gslb. ドメイン」というホスト名に対してのみ、GSLB が機能します
   ( なので www、mail の CNAME として gslb を指定してください )
  ・親 ID とは別に、サーバー設置地域ごとに子 ID を用意して、全ての ID から通知が必要です
   ( 特に親 ID からの通知を忘れないでください )※2
例:「gslb.mydns.jp」というドメインを登録し「www.gslb.mydns.jp」で GSLB 機能を使用する
  1.『DOMAIN』には「gslb.mydns.jp」を設定
  2.『MX』は空欄 ( もしくはメールの振り先サーバーを設定 )
  3.『HOST』には「www」を設定し、タイプを「CNAME」としてコンテンツに「glsb」と設定
  4. 設置地域サーバー名として「地域名 .gslb」を設定し、タイプを「DELEGATE」として子 ID
   に委譲する
現在、GSLB での振り分け用として以下の地域を用意してあります。※2
   地域名 場所
   jpn Japan (Tokyo)
   asia Asia (Singapore)
   eu Europe (Amsterdam)
   ny US (Newyork)
   la US (Los Angeles)
※1 実際には、そのユーザーが参照用に使用している DNS から最も近いサーバーとなります。
※2 全ての地域にサーバーを設置する必要はなく、例えば jpn と ny だけでも大丈夫です。
今後は、現在の処理や情報収集をより洗練していくとともに、日本国内の主要データセンター別の GSLB や、サーバーの負荷に応じた分散処理 ( たぶん有料 ) などにも対応して行きたいと思います。

More Related Content

What's hot

FuelPHPのscaffoldで作成した画面をdotcloudにデプロイしてみた
FuelPHPのscaffoldで作成した画面をdotcloudにデプロイしてみたFuelPHPのscaffoldで作成した画面をdotcloudにデプロイしてみた
FuelPHPのscaffoldで作成した画面をdotcloudにデプロイしてみたtoshihirock
 
Web時代の大富豪的プログラミングのススメ
Web時代の大富豪的プログラミングのススメWeb時代の大富豪的プログラミングのススメ
Web時代の大富豪的プログラミングのススメHideyuki Takeuchi
 
HTML5 Local Storageを利用したメモ帳アプリ
HTML5 Local Storageを利用したメモ帳アプリHTML5 Local Storageを利用したメモ帳アプリ
HTML5 Local Storageを利用したメモ帳アプリYossy Taka
 
御池サミット20130726
御池サミット20130726御池サミット20130726
御池サミット20130726Takeshiro Kani
 
JavaScriptで加速度・回転情報を取得してみた
JavaScriptで加速度・回転情報を取得してみたJavaScriptで加速度・回転情報を取得してみた
JavaScriptで加速度・回転情報を取得してみたiPride Co., Ltd.
 
Bgworkerで簡易クラスタ管理
Bgworkerで簡易クラスタ管理Bgworkerで簡易クラスタ管理
Bgworkerで簡易クラスタ管理Masahiko Sawada
 
DrupalとWEB高速化 CDNについて
DrupalとWEB高速化 CDNについてDrupalとWEB高速化 CDNについて
DrupalとWEB高速化 CDNについてKatsuhisa Ogawa
 
Ajax非同期通信によるサーバー通信
Ajax非同期通信によるサーバー通信Ajax非同期通信によるサーバー通信
Ajax非同期通信によるサーバー通信Yossy Taka
 
私たちは何を Web っぽいと感じているのか
私たちは何を Web っぽいと感じているのか 私たちは何を Web っぽいと感じているのか
私たちは何を Web っぽいと感じているのか Kenta Yamamoto
 
CDNで高速化!Drupal認証ユーザーむけページキャッシュ設定
CDNで高速化!Drupal認証ユーザーむけページキャッシュ設定CDNで高速化!Drupal認証ユーザーむけページキャッシュ設定
CDNで高速化!Drupal認証ユーザーむけページキャッシュ設定Katsuhisa Ogawa
 
Web技術勉強会 第26回
Web技術勉強会 第26回Web技術勉強会 第26回
Web技術勉強会 第26回龍一 田中
 
丸の内MongoDB勉強会#20LT 2.8のストレージエンジン動かしてみました
丸の内MongoDB勉強会#20LT 2.8のストレージエンジン動かしてみました丸の内MongoDB勉強会#20LT 2.8のストレージエンジン動かしてみました
丸の内MongoDB勉強会#20LT 2.8のストレージエンジン動かしてみましたRyuji Tamagawa
 
Microsoft Azure で "無料で" 運営する勉強会申し込みサイト
Microsoft Azure で "無料で" 運営する勉強会申し込みサイトMicrosoft Azure で "無料で" 運営する勉強会申し込みサイト
Microsoft Azure で "無料で" 運営する勉強会申し込みサイトJun-ichi Sakamoto
 

What's hot (16)

FuelPHPのscaffoldで作成した画面をdotcloudにデプロイしてみた
FuelPHPのscaffoldで作成した画面をdotcloudにデプロイしてみたFuelPHPのscaffoldで作成した画面をdotcloudにデプロイしてみた
FuelPHPのscaffoldで作成した画面をdotcloudにデプロイしてみた
 
Unity + MBaaS
Unity + MBaaSUnity + MBaaS
Unity + MBaaS
 
Web時代の大富豪的プログラミングのススメ
Web時代の大富豪的プログラミングのススメWeb時代の大富豪的プログラミングのススメ
Web時代の大富豪的プログラミングのススメ
 
Web 11
Web 11Web 11
Web 11
 
HTML5 Local Storageを利用したメモ帳アプリ
HTML5 Local Storageを利用したメモ帳アプリHTML5 Local Storageを利用したメモ帳アプリ
HTML5 Local Storageを利用したメモ帳アプリ
 
御池サミット20130726
御池サミット20130726御池サミット20130726
御池サミット20130726
 
Study2study3 nslope
Study2study3 nslopeStudy2study3 nslope
Study2study3 nslope
 
JavaScriptで加速度・回転情報を取得してみた
JavaScriptで加速度・回転情報を取得してみたJavaScriptで加速度・回転情報を取得してみた
JavaScriptで加速度・回転情報を取得してみた
 
Bgworkerで簡易クラスタ管理
Bgworkerで簡易クラスタ管理Bgworkerで簡易クラスタ管理
Bgworkerで簡易クラスタ管理
 
DrupalとWEB高速化 CDNについて
DrupalとWEB高速化 CDNについてDrupalとWEB高速化 CDNについて
DrupalとWEB高速化 CDNについて
 
Ajax非同期通信によるサーバー通信
Ajax非同期通信によるサーバー通信Ajax非同期通信によるサーバー通信
Ajax非同期通信によるサーバー通信
 
私たちは何を Web っぽいと感じているのか
私たちは何を Web っぽいと感じているのか 私たちは何を Web っぽいと感じているのか
私たちは何を Web っぽいと感じているのか
 
CDNで高速化!Drupal認証ユーザーむけページキャッシュ設定
CDNで高速化!Drupal認証ユーザーむけページキャッシュ設定CDNで高速化!Drupal認証ユーザーむけページキャッシュ設定
CDNで高速化!Drupal認証ユーザーむけページキャッシュ設定
 
Web技術勉強会 第26回
Web技術勉強会 第26回Web技術勉強会 第26回
Web技術勉強会 第26回
 
丸の内MongoDB勉強会#20LT 2.8のストレージエンジン動かしてみました
丸の内MongoDB勉強会#20LT 2.8のストレージエンジン動かしてみました丸の内MongoDB勉強会#20LT 2.8のストレージエンジン動かしてみました
丸の内MongoDB勉強会#20LT 2.8のストレージエンジン動かしてみました
 
Microsoft Azure で "無料で" 運営する勉強会申し込みサイト
Microsoft Azure で "無料で" 運営する勉強会申し込みサイトMicrosoft Azure で "無料で" 運営する勉強会申し込みサイト
Microsoft Azure で "無料で" 運営する勉強会申し込みサイト
 

Viewers also liked

Viewers also liked (20)

【さくらのクラウド】DNSアプライアンス導入ガイド
【さくらのクラウド】DNSアプライアンス導入ガイド【さくらのクラウド】DNSアプライアンス導入ガイド
【さくらのクラウド】DNSアプライアンス導入ガイド
 
[さくらのクラウド] ウェブアクセラレータ紹介資料
[さくらのクラウド] ウェブアクセラレータ紹介資料[さくらのクラウド] ウェブアクセラレータ紹介資料
[さくらのクラウド] ウェブアクセラレータ紹介資料
 
Study Smart
Study SmartStudy Smart
Study Smart
 
West City Hotel Transylvania
West City Hotel TransylvaniaWest City Hotel Transylvania
West City Hotel Transylvania
 
Adam presentation
Adam presentationAdam presentation
Adam presentation
 
Resume_New2015
Resume_New2015Resume_New2015
Resume_New2015
 
Q3
Q3Q3
Q3
 
Q4
Q4Q4
Q4
 
Alcohol monitoring scram iid fuel cell devices 2015
Alcohol monitoring scram iid fuel cell devices 2015Alcohol monitoring scram iid fuel cell devices 2015
Alcohol monitoring scram iid fuel cell devices 2015
 
Intake_35_Professional_Developer_Track_SD
Intake_35_Professional_Developer_Track_SDIntake_35_Professional_Developer_Track_SD
Intake_35_Professional_Developer_Track_SD
 
Log book
Log book Log book
Log book
 
Intake_35_Professional_Developer_Track_SD
Intake_35_Professional_Developer_Track_SDIntake_35_Professional_Developer_Track_SD
Intake_35_Professional_Developer_Track_SD
 
CSULB SMIF CFA Research Challenge Report 2016
CSULB SMIF CFA Research Challenge Report 2016CSULB SMIF CFA Research Challenge Report 2016
CSULB SMIF CFA Research Challenge Report 2016
 
Viva-Лефортово
Viva-ЛефортовоViva-Лефортово
Viva-Лефортово
 
Log book
Log book Log book
Log book
 
Q1
Q1Q1
Q1
 
T SHIRTS MANUFACTURER
T SHIRTS MANUFACTURER T SHIRTS MANUFACTURER
T SHIRTS MANUFACTURER
 
Drafts of the three designs
Drafts of the three designsDrafts of the three designs
Drafts of the three designs
 
Anna Maria CV
Anna Maria CVAnna Maria CV
Anna Maria CV
 
Q1
Q1Q1
Q1
 

More from Takeshi Kabu

MyDNS.JP勉強会からユーザー会設立まで
MyDNS.JP勉強会からユーザー会設立までMyDNS.JP勉強会からユーザー会設立まで
MyDNS.JP勉強会からユーザー会設立までTakeshi Kabu
 
Community must problem_pic_ver
Community must problem_pic_verCommunity must problem_pic_ver
Community must problem_pic_verTakeshi Kabu
 
サーバー構築ハンズオンマニュアル セキュアなプロトコルを使ってみようサンプル
サーバー構築ハンズオンマニュアル セキュアなプロトコルを使ってみようサンプルサーバー構築ハンズオンマニュアル セキュアなプロトコルを使ってみようサンプル
サーバー構築ハンズオンマニュアル セキュアなプロトコルを使ってみようサンプルTakeshi Kabu
 
サーバー構築ハンズオンマニュアル サンプル
サーバー構築ハンズオンマニュアル サンプルサーバー構築ハンズオンマニュアル サンプル
サーバー構築ハンズオンマニュアル サンプルTakeshi Kabu
 
○○作ったよ(OSunC川越LT)
○○作ったよ(OSunC川越LT)○○作ったよ(OSunC川越LT)
○○作ったよ(OSunC川越LT)Takeshi Kabu
 
ダイナミックDNSとは
ダイナミックDNSとはダイナミックDNSとは
ダイナミックDNSとはTakeshi Kabu
 

More from Takeshi Kabu (6)

MyDNS.JP勉強会からユーザー会設立まで
MyDNS.JP勉強会からユーザー会設立までMyDNS.JP勉強会からユーザー会設立まで
MyDNS.JP勉強会からユーザー会設立まで
 
Community must problem_pic_ver
Community must problem_pic_verCommunity must problem_pic_ver
Community must problem_pic_ver
 
サーバー構築ハンズオンマニュアル セキュアなプロトコルを使ってみようサンプル
サーバー構築ハンズオンマニュアル セキュアなプロトコルを使ってみようサンプルサーバー構築ハンズオンマニュアル セキュアなプロトコルを使ってみようサンプル
サーバー構築ハンズオンマニュアル セキュアなプロトコルを使ってみようサンプル
 
サーバー構築ハンズオンマニュアル サンプル
サーバー構築ハンズオンマニュアル サンプルサーバー構築ハンズオンマニュアル サンプル
サーバー構築ハンズオンマニュアル サンプル
 
○○作ったよ(OSunC川越LT)
○○作ったよ(OSunC川越LT)○○作ったよ(OSunC川越LT)
○○作ったよ(OSunC川越LT)
 
ダイナミックDNSとは
ダイナミックDNSとはダイナミックDNSとは
ダイナミックDNSとは
 

GSLB機能について(MyDNS.JP)

  • 2. 自己紹介  T.Kabu  Future Versatile Group  MyDNS.JPの管理は一人  GVCの開発はフォローを受けつつ  美味しいものを求めて全国をふらふら  @disco_v8  http://www.MyDNS.JP/  http://www.GVC-On.net/ その他いろいろ
  • 3. GSLB とは? Q : http://www.gslb.mydns.jp/ PowerDNS+GSLB LA.www NY.www JP.www ASIA.www EU.www A : www = jpn.gslb PowerDNS は Query の送信元の IP アドレス ( 大抵は参照 DNS の IP) から 最も近い地域の www サーバーの IP アドレスや CNAME 名を返すことができる。 これを地域別サーバー負荷分散 (Global Server Load Balancing:GSLB) などという。 MyDNS.JP では、世界各地の VPS から世界中の IP アドレスなどに ping を打ち、 その結果をもとにして、GSLB を実現するためのデータベースを構築している。 PowerDNS には GSLB の他、いろいろな処理 (=BackEnd) を自ら作りこむことが出来る。 参照 DNS Thanks, world Map! http://www.abysse.co.jp/world/index.html
  • 4. CIDR 情報→PING 情報→GSLB 情報 PowerDNS pipebackend.php pipe データベース (DB-0) CIDR 情報 makecidrtbl.php CIDR 情報 PowerDNS のバックエンドはユーザーが任意に作り込めるので、今回のような GSLB だけでなく、 各サーバーの負荷による通常のロードバランシングなども簡単に実現可能です。 manageping.php pingscan.php PING 情報 makecheckip.php GSLB 情報 各地域の NIC が公開している委譲 IP アドレス (delegate ipaddress list) を元に、CIDR 情報を 生成して DB に格納する ① CIDR 情報を元に、ping 対象となる PING 情報を生成して DB に格納する② PING 情報を元に ping を実施し、 その結果を格納する。③ portcheck makeglsbinfo.php CIDR 情報のネットワークアドレス毎に PING 情報から TTL の平均値を取得し、 近い DC 順に記述した GSLB 情報を格納する ④ データベース (DB-1) GSLB 情報を元に、PowerDNS から パイプ越しに渡された Query にある リモート IP から最も近いホストを CNAME などで Answer する ⑤ PowerDNS は pipebackend に問い合わせても 不明な場合には次のエンジンに問い合わせる。 (launch=geo,gpgsql) ※ 参照 DNS
  • 5. DNS 情報の収集 PowerDNS pipebackend.php pipe データベース (DB-0) CIDR 情報 Go○gle の 8.8.8.8 のような DNS に限らず、実際には裏で各地域ごとに DNS を動かしている xSP は多い。 それらの IP アドレスを含む CIDR 情報は例えば特定の国 ( 米国とか ) 割り当てとなっており、PING 情報に よる総合的な判断では、この CIDR は全て US が一番近い、ということになってしまう。 このため、Query を送ってくれる DNS は個別に CIDR 情報ならびに PING 情報に登録し、結果生成された GSLB 情報を次のように検索して、DNS の IP アドレスを積極的に使用する。 SELECT * FROM gslbinfo_tbl WHERE address >>= 'x.x.x.x/32' ORDER BY address DESC LIMIT 1; PING 情報 データベース (DB-1) リモート IP(=DNS) を個別に CIDR 情報と PING 情報に格納して、ping 対象として より的確な GSLB にする。 (Go○gle の 8.8.8.8 問題 ) ① 参照 DNS GSLB 情報
  • 6. GSLB 機能の提供について ダイナミック DNS としては珍しい !?、GSLB 機能についてご提供できるようになりましたので     MyDNS.JP にログイン後、「DOMAIN INFO」での GSLB の設定例 ( 本文参照 ) お知らせいたします。 GSLB とはその名の通り『地理的サーバー分散』であり、皆さんのサーバーにアクセスしてくる ユーザーにとって、地理的に最も近いサーバーを教えるものです。※1 GSLB 機能の有効性確認用サーバーとして http://www.gslb.mydns.jp/ を用意しています。 日本ならびにその周辺からアクセスすれば日本のサーバーに、アメリカならびにその周辺から アクセスすればアメリカのサーバーに、ヨーロッパとその周辺からアクセスすればヨーロッパ のサーバーに、自動的に割り振られてアクセスします。 MyDNS.JP は世界五ヶ所に WEB サーバーを分散していますが、同様にワールドワイドに複数の サーバーを展開する方には必須の機能かと思います。 設定方法、ならびに利用方法、制限事項は以下の通りです。   ・ドメイン名そのもので GSLB 機能は利用できません    (www、mail などのホスト名に対して利用できます )   ・「gslb. ドメイン」というホスト名に対してのみ、GSLB が機能します    ( なので www、mail の CNAME として gslb を指定してください )   ・親 ID とは別に、サーバー設置地域ごとに子 ID を用意して、全ての ID から通知が必要です    ( 特に親 ID からの通知を忘れないでください )※2 例:「gslb.mydns.jp」というドメインを登録し「www.gslb.mydns.jp」で GSLB 機能を使用する   1.『DOMAIN』には「gslb.mydns.jp」を設定   2.『MX』は空欄 ( もしくはメールの振り先サーバーを設定 )   3.『HOST』には「www」を設定し、タイプを「CNAME」としてコンテンツに「glsb」と設定   4. 設置地域サーバー名として「地域名 .gslb」を設定し、タイプを「DELEGATE」として子 ID    に委譲する 現在、GSLB での振り分け用として以下の地域を用意してあります。※2    地域名 場所    jpn Japan (Tokyo)    asia Asia (Singapore)    eu Europe (Amsterdam)    ny US (Newyork)    la US (Los Angeles) ※1 実際には、そのユーザーが参照用に使用している DNS から最も近いサーバーとなります。 ※2 全ての地域にサーバーを設置する必要はなく、例えば jpn と ny だけでも大丈夫です。 今後は、現在の処理や情報収集をより洗練していくとともに、日本国内の主要データセンター別の GSLB や、サーバーの負荷に応じた分散処理 ( たぶん有料 ) などにも対応して行きたいと思います。