Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

オープンソースのクラウド基盤「OpenStack」で試すクラウドオーケストレーション~環境構築からスタックの作成まで

近未来の技術トレンドを先取り! 「Tech-Sketch」出張所 第15回

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2014/07/24 14:00

 本連載ではTIS株式会社が提供している技術ブログ「Tech-Sketch」から「コレは!」というテーマをピックアップし、加筆修正して皆様にお届けしております。今回は爆発的な盛り上がりを見せているクラウド基盤ソフトウェア「OpenStack」とそのオーケストレーション機能について取り上げます。

目次

 OpenStackをはじめOSSクラウドが盛り上がりを見せる中、オーケストレーションやImmutable Infrastructureといったキーワードに注目が集まっています。本稿では、クラウドオーケストレーションを体験するために、OpenStackの環境を用意するところからオーケストレーション機能を使ってWebアプリケーションを立ち上げるところまで、一通りの手順を紹介しつつ解説したいと思います。

クラウド基盤ソフトウェア「OpenStack」とは

 OpenStackは、OpenStack Foundationの運営のもと開発されているオープンソースのクラウド基盤ソフトウェアです。2010年にRackSpace社とNASAが中心となりスタートしたプロジェクトで、公式サイトによると、世界140か国、17,000人以上の開発者や研究者がコミュニティに参加しており、400近い企業や団体が支援しています。

 国内では、Yahoo! Japan、GREE、NEC、GMOインターネットなどが導入事例を公開しているほか、日本OpenStackユーザ会がドキュメントの翻訳や勉強会の開催といった普及活動を行っています。

OpenStackのアーキテクチャ

 OpenStackは複数のコンポーネントで構成されており、各コンポーネントが特定の機能を提供しています。利用目的に応じて必要な機能だけをインストールしたり、複数のサーバに分散配置するなど、柔軟な構成をとることができます。

 2014年4月にリリースされたIcehouse版で提供されているコンポーネントは以下のとおりです。クラウドとしての基本的な機能は備わっており、監視などの付加的な機能も拡充されつつあります。

コンポーネント コンポーネントの機能
Horizon Webダッシュボード機能
Nova 仮想マシンインスタンスの管理機能
Neutron 仮想ネットワークを提供する機能
Swift オブジェクトストレージ機能
Cinder ブロックストレージ機能
Keystone 各コンポーネントを利用する際の認証機能
Glance 仮想マシンイメージの管理機能
Ceilometer 課金やスケーリングのためのリソース監視機能
Heat オーケストレーション機能
Trove データベース機能

 以下の図は、公式のCloud Administrator Guideに掲載されているOpenStackのアーキテクチャ図です(図は2013年10月にリリースされたHavana版のものです)。各コンポーネントは独立していて、分散配置が可能です。各コンポーネント間の連携はREST APIやAMQPを利用して非同期に行われます。

OpenStackのアーキテクチャ(OpenStack Cloud Administrator Guideより引用)
OpenStackのアーキテクチャ(OpenStack Cloud Administrator Guide)

クラウドオーケストレーションとは

 クラウドオーケストレーションとは、クラウド上のリソース配置や設定、依存関係などを定義し、システムの構築や運用を自動化する仕組みです。クラウドオーケストレーションを活用することで、クラウド上に一挙にシステムを構築したり、整合性のとれた環境をいくつも用意したりすることができます。

 クラウドオーケストレーションを実現するソフトウェアとしては、AWS CloudFormationが有名ですが、国内でもSCSKのPrimeCloud Controllerや弊社(TIS)のCloudConductorといったオープンソースのオーケストレーションソフトウェアが公開されています。

OpenStackのオーケストレーション機能「Heat」

 HeatはOpenStackのオーケストレーション機能で、スタック(ひとまとめのリソース構成)を定義したテンプレートファイルを利用して、OpenStack上にシステムを自動構築します。HeatはAWS CloudFormationを意識して開発されており、テンプレートはOpenStackネイティブのHOT形式に加え、AWS CloudFormationのテンプレート形式でも記述できます。リソースにも互換性があり、AWS CloudFomation用に作成されたテンプレートを最小限の変更で利用することができます。

 その他、HeatにはAWS CloudFormationと同様に以下のような特徴があります。

  • リソースの依存関係を記述できるので、「先にサーバを起動してからボリュームを接続する」といった構築の順序関係を制御できます。
  • PuppetやChefといった構成管理ツールと連携することで、インスタンス内部の設定変更やミドルウェアのインストールなども自動化できます。
  • テンプレートを変更して再度適用すると、差分を検出してスタックの構成を変更できます。
  • テンプレートの中で他のテンプレートを呼び出せるため、複数のテンプレートを組み合わせた構築が可能です。
  • OpenStackのメータリングサービスであるCeilometerと連携することでオートスケールを実現できます。

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 冨永 善視(TIS株式会社)(トミナガ ヨシミ)

    TIS株式会社 戦略技術センター所属。 デザイン指向クラウドオーケストレーションソフトウェア「CloudConductor」の開発およびクラウド関連技術の調査・検証に従事。新人の頃からOpenStack環境の構築を担当し、IaaS管理者として経験を積む。最近ではRedHatのエキスパート認定―In...

バックナンバー

連載:近未来の技術トレンドを先取り! 「Tech-Sketch」出張所

もっと読む

All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5