インタビュー
VPSのインフラにOpenStackを採用した「お名前.com VPS」開発者に聞く
VPSのインフラにOpenStackを採用した「お名前.com VPS」開発者に聞く
~実運用から1年弱、開発の裏側と実運用で使ってみて
(2013/2/12 00:00)
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インターネット株式会社 システム本部 サービス開発部の郷古直仁氏、宮元裕樹氏、朴玄泰(パク・ヒョンテ)氏、朴暎雲(パク・ヨンウン)氏に話を聞いた。(以下、本文中敬称略)
手の入れやすさや成長性への期待からOpenStackを選択
―― そもそも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運用に足りない機能を独自開発
―― 実際にOpenStackをベースにVPSサービスを作ってみて、いかがでしたか
宮元:まず、ドキュメントがなくて、正しく動かすだけで大変でした。その次は、VPSに必要な機能を使えるようにするのに苦労しました。
朴暎雲:当時のOpenStackは、仮想マシン(VM)を作って動かす部分はいいのですが、それ以上の機能はあまりサポートされていなかったので、その部分は自分たちで作りました。
朴玄泰:コントロールパネルや、VNCによる仮想コンソール画面、仮想マシンイメージのリサイズなどもなかった。そのため、ほかのオープンソースのソフトを組みあわせるなどして作りました。いまのOpenStackでは整備されてきていますが。
宮元:IaaSとVPSの考え方の違いもあって、EC2やNovaなどでは、VMを停止するとそこでVMの削除になる。VPSではそれでは使えないので、Novaに手を入れて、コマンドを追加して対応しました。
そのほか、物理サーバーがたくさんあるとき、物理サーバーにVMを割り当てる部分で、ランダムに散らしたりリソースが足りないマシンを考慮したりといった部分が、思ったようにはいかなかった。その部分にも手を入れました。
朴暎雲:あとは、Keystone(認証サービス)なども変更を加えて使っています。
実運用を開始以後1年弱、OpenStack自体のトラブルはなし
―― 実際のサーバー構成は
郷古:Novaの物理サーバーが数百台あり、ユーザーの仮想サーバーから、データベースやAPIなどの管理系の仮想サーバーまで、その上で動いています。
―― 実運用で使ってみて、OpenStackの障害などは
宮元:運用を開始した2012年3月から現在までのところ、ユーザーに影響する部分でハードウェアやOSのトラブルはありましたが、OpenStack自体のトラブルはないですね。検証として作って動かしてみるというのではなく、実際の大規模利用で動き続けています。
郷古:ただ、自分たちで開発した、シリアルコンソールなどはトラブルがありました。
朴暎雲:コントロールパネルから各機能を呼び出すためのAPIまわりも、当初はパフォーマンスの問題があったので、随時監視して問題になりそうな部分は修正しています。たとえば、マウントできる一覧を表示のたびに取得していて、パフォーマンスが低下していました。これを、キャッシュするようにしたところ、うまく改善されたといったことがありました。
郷古:APIサーバーに関しては、現在はアクティブ―スタンバイ構成で1台だけ動いているのですが、今後は何台かに分散していきたいとは考えています。
―― 開発している人数は
郷古:インフラやネットワークも含めて、20人ぐらいですね。ただし、OpenStack専任というわけではなく、それぞれ複数のプロジェクトに参加しながら関わっています。
―― 担当分けは
朴玄泰:API担当、インフラ担当、コンパネ担当の3つに分かれています。
郷古:この4人の中では、朴暎雲がAPI担当で、ほかの3人がインフラ担当です。2012年の年明けに開発を開始して、3月21日にリリースしたので、突貫工事でした。結果として安定して動いていて、安心しています。この実績を次に活かしていきたいですね。
今後は仮想ネットワークを活かした開発を計画
―― 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も含めた今後の機能開発などをお話しする予定です。 |