GREEがOpenStackを導入した理由と苦労と改良点(後編)。OpenStack Days Tokyo 2014
オープンソースで開発されているIaaS型クラウド基盤ソフトウェアのOpenStackをテーマにしたイベント「OpenStack Days Tokyo 2014」が、2月13日、14日の2日間にわたり開催されました。OpenStackはIBM、HP、シスコシステムズなど大手ベンダも相次いでサポートを表明し、急速に注目度を高めています。
OpenStack Days Tokyo 2014、2日目の基調講演ではグリー株式会社 インフラストラクチャ本部 渡辺光一氏、松橋洋平氏が登壇。GREEの本番環境で稼働しているOpenStackについて、導入の経緯から苦労した点、実装方法などについて紹介しました。本記事ではそのダイジェストを紹介します。
(本記事は「GREEがOpenStackを導入した理由と苦労と改良点(前編)。OpenStack Days Tokyo 2014」の続きです)
OpenStack採用における課題と解決策について
グリー株式会社 開発統括本部 インフラストラクチャ本部 渡辺光一氏、松橋洋平氏(写真は松橋氏)。
OpenStackを導入する際にテストをしたのですが、そのときに出てきた課題と解決策について。
QuantumのOVSエージェントを再起動するときに、一時的にネットワークが切れるという問題。解決策は、基本ポリシーとしてOVSエージェントを再起動しない。再起動するときは仮想マシンをサービスから外す。
DHCPサーバの冗長化構成がうまく動かなかったという課題。QuantumのDHCPは一度払い出したIPアドレスを別のDHCPからは払い出しさせません。これはDHCPの問題でもあったのですが、DHCP authoritativeモードを使って解決しました。しかし仮想サーバの固定IP化もひとつの解決策かと思っており、適用しています。
ほかにもいろいろ課題はありましたが、運用に乗せてみるとさらに課題が出てきました。
OpenStackコントローラによく起きていたDDoSアタックについて。QuantumのDHCPエージェントは、各テナントごとに1つのIPアドレスを消費するので、たくさんのテナントを立てるとグローバルIPがたくさんついて攻撃される面が増えてきました。
そこでiptablesでフィルタするなどの対策をとっています。この問題はDHCPサーバをひとつ立てるごとに攻撃される面が広くなっていく点にあるので、DHCPサーバを立てないのも解決策かと思っています。
最近の取り組みと今後の期待
仮想マシンを抽象化して操作するものとしてVagrantがありますが、それを連係させて結合テストの自動化に向けた検証をしています。
開発者がgitpushを送るとフックされてJenkinsからVagrant経由でOpenStack APIを叩いて、指定のテナント内にWebやLVSなどがばーんと作られて、そのあとChefで設定、構築されて、RSpecとかServerSpecを使って正常性の確認をする、といったことを自動的にやっています。
これでうれしいのは、ステージングの環境かつ実際の本番に準拠したものが作れてテストできて、最新のコードでテストできるのは安心だよね、というところです。
ハイパーバイザ型のオーバーヘッドの改善などを目的として、コンテナ型仮想化をOpenStackで制御できないかなとか。また、オンプレミスな環境でうまくログ管理しつつ Immutable Infrastructure や Blue-Green Deployment ができないかといったことなどを検証しています。
最後はまとめとして感想を。
OpenStackを導入して約8カ月、いまのところうまくうごいていますが、OpenStackを導入するときには自社の要件に合わせて導入すべきだなと思います。弊社は単一障害点のない(No SPoF)構成を実現できましたが、インフラ全体、仮想マシンに乗るサービスなども合わせてみているので、アプリレイヤなどでも冗長化したりと、サービス自体も含めて全体のNo SPoFできました。それを実現するために、弊社の場合はローカルストレージベースで導入しました。
また、導入時はかなり検証ではまりました。
OpenStackはたくさんの新しいプロジェクトが動いていて、これも入れよう、あれも入れようというときりがなくなってしまいます。自社のインフラに合わせて適材適所で必要なコンポーネントを評価、選択して入れていくべきだと思います。
OpenStackは、コンポーネント自体は疎結合ですが、システム全体では密だなと思っていまして、アップグレードには苦労しています。
でも入れてよかったと思っていて、それは選択の自由があって、あれは入れるけどこれは入れない、といったことができて、そういうところはいいなと思っています。
期待の部分ですが、たくさんのPaaSライクなものとかx-as-a-Serviceのプロジェクトが動いていますが、もっと運用を手助けする基盤技術、例えばHAやローリングアップデートなどの開発の活発化を一番期待しています。
それからストレージサービスは入れていないのですが、Cinderを使った良いユースケースがあれば教えてほしいですね。
OpenStackを導入したもの同士でも、各社のインフラ事情によって、それぞれの工夫やアイディアがあることと思いますし、最近は国内事例も増えてきておりますので、意見交換などを通して高め合って、お互いのインフラをより良くしていけたら嬉しいなと思っています。
あわせて読みたい
Chrome 34ではimgタグで解像度に応じた複数の画像を出し分けられるよう、レスポンシブイメージ対応に
≪前の記事
GREEがOpenStackを導入した理由と苦労と改良点(前編)。OpenStack Days Tokyo 2014