インタビュー

VPSのインフラにOpenStackを採用した「お名前.com VPS」開発者に聞く

〜実運用から1年弱、開発の裏側と実運用で使ってみて

 GMOインターネット株式会社のVPSサービス「お名前.comレンタルサーバーVPS(KVM)」では、VPSのインフラとして、オープンソースのクラウド基盤ソフトウェア「OpenStack」を採用している。

 OpenStackは開発の活発なソフトウェアで、プロジェクトの母体となる「OpenStack Foundation」には、Red HatやCanonical(Ubuntu)、IBM、HP、Ciscoなども参加している。ただし、お名前.comレンタルサーバーVPS(KVM)のサービス開始が2012年3月で、当時はまだOpenStack Foundationも発足しておらず、ソフトウェアも現在に比べて枯れていない状態だったと思われる。

 お名前.comレンタルサーバーVPS(KVM)でOpenStackを採用した理由や狙い、今後などについて、GMOインターネット株式会社 システム本部 サービス開発部の郷古直仁氏、宮元裕樹氏、朴玄泰(パク・ヒョンテ)氏、朴暎雲(パク・ヨンウン)氏に話を聞いた。(以下、本文中敬称略)

左から、GMOインターネット株式会社 システム本部 サービス開発部 郷古直仁氏、宮元裕樹氏、朴玄泰(パク・ヒョンテ)氏、朴暎雲(パク・ヨンウン)氏

手の入れやすさや成長性への期待からOpenStackを選択

GMOインターネット株式会社 システム本部 サービス開発部 郷古直仁氏

―― そもそもOpenStackとはどのようなソフトウェアでしょうか

郷古:一言でいうと、「クラウドを作るためのオペレーションソフトウェア」です。

朴玄泰:Amazon Web Services(AWS)のようなクラウドは、仮想サーバーを作って動かすEC2や、オブジェクトストレージのS3などの構成要素からなります。そうした構成要素を用意していて、クラウドのインフラがある程度できあがっているフレームワークの1つが、OpenStackです。

 OpenStackでは、AWSのEC2の中心部分に相当する「Nova」や、S3に相当する「Swift」など、構成要素ごとにそれぞれサブプロジェクトがあり、開発が進んでいます。管理のためのAPIがAWSとほぼ同等なのも特徴ですね。

 ただし、ユーザーさんから見ると、あまりOpenStackを採用したことによる違いはありません。違いは、作る側にとっての違いですね。

―― ほかに、CloudStackやEucalyptusなど同種のソフトウェアがありますが、その中でOpenStackを選んだ理由は

宮元:選ぶにあたって、CloudStackやEucalyptusも検証しました。技術的には、CloudStackはOpenStackに比べると手を入れづらかった点があり、Eucalyptusは冗長性に難があった点がありました。OpenStackは、仮想マシンを操作する部分でlibvirtがベースになっていて、Pythonで拡張できるのが、手を入れやすいところです。そのほか、もともとメンバーがOpenStackを触って検証していたので採用しやすかったことも理由の1つですね。それに、成長性に期待できそうだという判断がありました。

―― その当時のOpenStackのバージョンは、Diabloでしょうか。当時はまだOpenStackが枯れていなかったかと思いますが

郷古:Diabloです(筆者注:OpenStackは約半年ごとに、アルファベット順の頭文字を付けたコードネームのバージョンをリリースしている。Diabloは、2011年9月にリリースされた4番目のバージョン)。まあ、なんとかなるだろうと(笑)。

朴玄泰:当時、Swiftであれば韓国のコリアテレコム(KT)などで採用事例がありましたが、Novaを商用サービスに採用したところは、知るかぎりではありませんでした。そのため、Novaを採用すれば最初の事例になる、という意気込みもあって。やはり技術屋としては、ハードルが高い方が面白いというか、やりがいがありますから(笑)。

郷古:発表されている限りの情報では、もしかしたら商用サービスとして世界初ではなかったかと思っています。

 その後、GMOインターネットグループの「GMO RUNSYSTEM」がドメイン登録サービス「TENTEN.vn」(ベトナム)で、お名前.com VPS(KVM)での開発経験を活かして同じくOpenStackを使ったVPSの提供を開始しました。開発にあたっては、ここにいる朴玄泰と朴暎雲も参加しています。

VPS運用に足りない機能を独自開発

GMOインターネット株式会社 システム本部 サービス開発部 宮元裕樹氏

―― 実際にOpenStackをベースにVPSサービスを作ってみて、いかがでしたか

宮元:まず、ドキュメントがなくて、正しく動かすだけで大変でした。その次は、VPSに必要な機能を使えるようにするのに苦労しました。

朴暎雲:当時のOpenStackは、仮想マシン(VM)を作って動かす部分はいいのですが、それ以上の機能はあまりサポートされていなかったので、その部分は自分たちで作りました。

朴玄泰:コントロールパネルや、VNCによる仮想コンソール画面、仮想マシンイメージのリサイズなどもなかった。そのため、ほかのオープンソースのソフトを組みあわせるなどして作りました。いまのOpenStackでは整備されてきていますが。

宮元:IaaSとVPSの考え方の違いもあって、EC2やNovaなどでは、VMを停止するとそこでVMの削除になる。VPSではそれでは使えないので、Novaに手を入れて、コマンドを追加して対応しました。

 そのほか、物理サーバーがたくさんあるとき、物理サーバーにVMを割り当てる部分で、ランダムに散らしたりリソースが足りないマシンを考慮したりといった部分が、思ったようにはいかなかった。その部分にも手を入れました。

朴暎雲:あとは、Keystone(認証サービス)なども変更を加えて使っています。

OpenStackの概念図。OpenStackは、クラウド基盤をオープンソースで構築するプロジェクトで、2010年にそれまで別に開発されていたSwiftとNovaをひとつの開発基盤「OpenStack」として開発をすすめることになったもの。OpenStackは立ち上げ当初から注目と期待を集めているが、まだまだ歴史が浅く実サービスでの採用には不足する部分もあることから、商用サービスでの実運用例はまだ非常に少ない

実運用を開始以後1年弱、OpenStack自体のトラブルはなし

GMOインターネット株式会社 システム本部 サービス開発部 朴玄泰(パク・ヒョンテ)氏

―― 実際のサーバー構成は

郷古:Novaの物理サーバーが数百台あり、ユーザーの仮想サーバーから、データベースやAPIなどの管理系の仮想サーバーまで、その上で動いています。

―― 実運用で使ってみて、OpenStackの障害などは

宮元:運用を開始した2012年3月から現在までのところ、ユーザーに影響する部分でハードウェアやOSのトラブルはありましたが、OpenStack自体のトラブルはないですね。検証として作って動かしてみるというのではなく、実際の大規模利用で動き続けています。

郷古:ただ、自分たちで開発した、シリアルコンソールなどはトラブルがありました。

朴暎雲:コントロールパネルから各機能を呼び出すためのAPIまわりも、当初はパフォーマンスの問題があったので、随時監視して問題になりそうな部分は修正しています。たとえば、マウントできる一覧を表示のたびに取得していて、パフォーマンスが低下していました。これを、キャッシュするようにしたところ、うまく改善されたといったことがありました。

郷古:APIサーバーに関しては、現在はアクティブ―スタンバイ構成で1台だけ動いているのですが、今後は何台かに分散していきたいとは考えています。

―― 開発している人数は

郷古:インフラやネットワークも含めて、20人ぐらいですね。ただし、OpenStack専任というわけではなく、それぞれ複数のプロジェクトに参加しながら関わっています。

―― 担当分けは

朴玄泰:API担当、インフラ担当、コンパネ担当の3つに分かれています。

郷古:この4人の中では、朴暎雲がAPI担当で、ほかの3人がインフラ担当です。2012年の年明けに開発を開始して、3月21日にリリースしたので、突貫工事でした。結果として安定して動いていて、安心しています。この実績を次に活かしていきたいですね。

お名前.com VPSの技術的構成。OpenStack Diabloに独自実装で補完した。独自実装したのは、ダッシュボード(コントロールパネル)の開発、グラフィカルコンソールの改修(noVNCベースで動作)、シリアルコンソールの再実装(削除されたajaxtermの代替)、マニュアル通りに動かない部分の回避など

今後は仮想ネットワークを活かした開発を計画

GMOインターネット株式会社 システム本部 サービス開発部 朴暎雲(パク・ヨンウン)氏

―― OpenStackの最新版はだいぶ機能が追加されたりと進んでいると思いますが、バージョンアップの計画は

郷古:いま、Folsom(筆者注:2012年9月にリリースされた6番目のバージョン)を検証しています。新機能として、Folsomの機能を元にしたものを考えています。

―― Folsomのどのあたりの機能を考えているのでしょうか

郷古:仮想ネットワークを構成するためのQuantumを使います。それと仮想マシン上のL2スイッチであるOpen vSwitchを使って、仮想ネットワークを柔軟に構成できるようにしようと考えています。

―― Quantumを使ったサービスのイメージとしては

宮元:いまはVMごとにVLANで1つのネットワークを作っていますが、たとえば同じユーザーが契約している複数のVMで1つのネットワークを組んだりできるようになります。

郷古:いまもNovaのネットワーク機能を使ってVLANの割り当てなどをしているのですが、次はQuantumでより自由にやれるようにと。

―― そのほか、今後のサービス拡充予定は

郷古:いま、複数台を契約していると、1つのコントロールパネルで一元管理できるようになっています。こうした複数のVMをロードバランサーで束ねられるようなことができればと。OpenStackでもそのような開発が進んでいるので、そうした機能を取り込んでいきたいと思っています。

 あと、IPv6には対応したいと常々言っています。ただ、IPv4とIPv6のデュアルスタック構成をOpenStackで管理して、IPアドレスを払い出そうとすると、うまく動いてくれない。IPv6とIPv4とでは、払い出しなどの仕組みから違うので、難しい部分です。

宮元:お名前.comのDNSサービスもIPv6対応がまだなので、そうした部分も合わせて整備しながらですね。どうすれば効率的に割り当てられ、どうすれば便利に使えるか、と考えていきます。


【セミナーのお知らせ】
 記事でお名前.comレンタルサーバーでのOpenStack導入についてお話いただいた郷古 直仁氏によるセミナーが2月22日から開催される「オープンソースカンファレンス 2013 Tokyo/Spring」で行われます。
日時:2月23日(土)11時〜
講師:郷古 直仁氏(GMOインターネット株式会社 システム本部)
担当:お名前.com レンタルサーバー
対象者:インフラエンジニア、OpenStackに興味がある人、OpenStackを検証している人、VPSに興味がある人
前提知識:Linuxに関する知識がある方。ネットワークに関する知識がある方。
LINK:https://www.ospn.jp/osc2013-spring/modules/eguide/event.php?eid=82

お名前.comレンタルサーバーでは、KVMによる仮想環境を提供する「お名前.com VPS」を提供しています。サービスのシステム構成やインフラ基盤に利用しているOpenStackなどのOSSの紹介、コントロールパネルからの動作や仕組みなどについて解説します。また今回は新たにFolsomの現在までの検証報告、Quantum、ipv6実装、,Grizzlyも含めた今後の機能開発などをお話しする予定です。

(高橋 正和)