Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Janog36 ConoHa: Making GSLB - OpenStack Designate and PowerDNS

813 views

Published on

GSLB, Global server load balancing, is a technology to dispatch DNS requests to the different servers. But the server appliances with these features are complex and expensive. So we try to make it ourselves with the open source softwares.

Designate is one of the components in OpenStack to provide DNSaaS services. It has features that can register DNS records via RESTful APIs and can select backend types; for example choosing BIND, NSD, PowerDNS, etc.

In this session, we will present GSLB with Designate and PowerDNS.

About GMO Internet, Inc.

GMO Internet Group, headquartered in Tokyo, is a leading force in the Internet industry offering one of the most comperehensive ranges of Internet services worldwide.
We are providing a public cloud called “ConoHa” and “GMO APPs Cloud” as part of our services. Both are based on OpenStack.

Published in: Internet
  • Be the first to comment

Janog36 ConoHa: Making GSLB - OpenStack Designate and PowerDNS

  1. 1. Copyright (c) GMO Internet, Inc. All Rights Reserved. GSLBをやってみた ~ Designate & PowerDNS ~ JANOG36 in 北九州 2015/7/17 GMOインターネット株式会社 永井祐弥
  2. 2. Copyright (c) GMO Internet, Inc. All Rights Reserved. 1 自己紹介 名前 永井 祐弥(ながい ゆうや) 所属 GMOインターネット株式会社 システム本部 第1サービス開発部 担当 2012年にGMOへ入社。お名前.com、ConoHaの DNSや、GMOグループ会社でレジストリシステムの DNSなど、DNS関連の開発、運用を担当
  3. 3. Copyright (c) GMO Internet, Inc. All Rights Reserved. 2 • Global Server Load Balancing(広域負荷分散) • 複数の拠点に分散するための技術 – DR対策(災害や、障害対策) – 地域分散化(トラフィックコントロール) • GSLBとLBの違い – システムを同一ネットワーク上に構成する必要がない – GSLBはDNSを使った実装が多く、プロトコルや通信 データによる振り分けが難しい場合がある – 分散対象のヘルスチェック結果が反映されるまでに若 干のタイムラグが発生する – GSLB+LBの組み合わせは可能 GSLBとは
  4. 4. Copyright (c) GMO Internet, Inc. All Rights Reserved. 3 • ConoHaとはGMOのVPSサービス • 2015年5月18日にOpenStack Junoベースで 開発した 基盤にリニューアル • DNSaaSもあり、OpenStack Junoでリリース されたDesignateをベースに独自拡張 • DNSはPowerDNSを採用 • GSLBの3大機能 – GeoIP – WRR – Health Check ConoHaで作成するGSLBの機能
  5. 5. Copyright (c) GMO Internet, Inc. All Rights Reserved. 4 • DNSレコードをAPIで操作するためのコンポーネント • 正引き(A/AAAA)、逆引き(PTR)、メール (MX/TXT/SPF)用等のDNSレコードが登録可能 • Designateを単体で使用することはもちろん、 KeyStone連携すると各ドメイン名毎の利用者をアク セスコントロールすることが出来る • DesignateはDNSレコードのデータ管理のみ行うた め、実際の権威DNSサーバはバックエンドとして BIND9/PowerDNS/NSD4等を利用する(選択可) OpenStack Designateとは
  6. 6. Copyright (c) GMO Internet, Inc. All Rights Reserved. 5 • BIND/NSDやdjbdnsのゾーンファイルはもち ろんのこと、RDBMS(MySQL/MariaDB、 PostgreSQLなど)をバックエンドとして利用 できるDNSソフトウェア • 権威DNS(PowerDNS)と、キャッシュDNS (PowerDNS Recursor)で分かれている • C++と、Boostライブラリで開発されており ソースも読みやすい◎ • 公式のGeoIPバックエンドもありますが、機能 不足だったので使っていません PowerDNSとは
  7. 7. Copyright (c) GMO Internet, Inc. All Rights Reserved. 6 前提 • OSS (Open Source Software) であること – 足りていない機能を追加開発 OpenStack Designate • 誰でも登録出来るようにしたい – REST APIによるパラメータ受け渡し – DNSリソースデータのバリデーション PowerDNS • フレキシブルデータを扱いたい – ゾーンファイル再読み込みが不要な実装 – パフォーマンスの確保 選択の理由
  8. 8. Copyright (c) GMO Internet, Inc. All Rights Reserved. 7 • クライアント(キャッシュDNSサーバ)のIPア ドレスを元に、GeoIPリストから地域を判定する • 独自のマップテーブル(GeoMAP)を参照して 最も近隣のDNSレコードを選択する • 改造のポイント – GeoIPのリストをプロセス内部に持たせる – GeoMAPのリストを作成する • 各地域間のコスト値を比較し、低コストのものを選択 GeoIP機能
  9. 9. Copyright (c) GMO Internet, Inc. All Rights Reserved. 8 • DNSラウンドロビンとWRRの違い – DNSラウンドロビン • DNSサーバはRRsetsを全て返す • どのレコードを選択するかはクライアント任せ – WRR • 応答時にレコードを決定 • クライアントからは選択できない • 重みデータと計算方法 – 各レコードのプライオリティを合計し、クエリーID で剰余を求める WRR(Weighted Round Robin)機能
  10. 10. Copyright (c) GMO Internet, Inc. All Rights Reserved. 9 • A/AAAAレコードのIPアドレスを監視し、対象 がDown/UpしたときにDNSレスポンスを変化 させる • 監視ソフトウェアからAPIを呼び出す – Up→登録 – Down→解除(DNSレコードが削除される) Health Check機能
  11. 11. Copyright (c) GMO Internet, Inc. All Rights Reserved. 10 • 苦労する/した点 – GeoIPリストの精度 – GeoMAPの定義が難しい – パフォーマンスが落ちる – OSS毎の異なる開発言語 • 使えます! – REST APIでGSLBを設定出来ます – コントロールパネルからも設定出来ます • 動きます! – ConoHaの3リージョン(JP/US/SG)で稼働 – DR対策で安心 というわけでGSLBはじめました
  12. 12. Copyright (c) GMO Internet, Inc. All Rights Reserved. 11 ご清聴ありがとうございました!

×