IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

クラウド時代のオープンソース実践活用

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes 

第11回 「パーソナルクラウド」で学ぶクラウドの基礎技術 (中井悦司) 2013年1月

はじめに

 少々遅くなりましたが、新年あけましておめでとうございます。本年も本コラムをよろしくお願い致します。
 と言いながら、昨年の話からはじめましょう。昨年の12月に、東京で「オープンソースカンファレンス 2012.Cloud」と題するイベントが開催され、私はオープンクラウドキャンパスのメンバとして発表させていただきました。
 その名の通りクラウドがテーマのイベントで、OpenStackを筆頭に、クラウドを構築するオープンソースの話題が目白押しです。その中で何の話をしようかと迷ったのですが、あえて普通に、1台のLinux KVMサーバで、KickStartとPuppetを組み合わせて仮想マシンを自動構築する仕組みを紹介しました。
 冗談半分に「パーソナルクラウド」と題してみたのですが、なんと!公開資料の閲覧数がすでに1000Viewを超えていました(*1)。「基礎技術の組み合わせがクラウド技術の本質」というのが私の持論ですが、多くの方に、このような基礎技術に興味をもっていただけるのは嬉しいことです。
 それでは、OpenStack Quantumの解説に入りましょう。まずは、OpenStackの全体像のおさらいです。

OpenStackの全体像

 OpenStackは、機能別にコンポーネントが分かれています。NovaとSwiftの2つから開発がスタートしましたが、その後、コンポーネントの分割が進み、現在では次のような構成になっています。

  • Nova:インスタンスの起動・停止などを管理
  • Glance:インスタンスの起動用ディスクイメージを管理
  • Cinder:永続型のディスクイメージ(ボリューム)を管理
  • Quantum:仮想ネットワークの構成を管理
  • Swift:オブジェクトストレージ機能を提供
  • Keystone:統合認証機能を提供
  • Horizon:GUIコンソール機能を提供

 これらが連携して、クラウド基盤の機能を提供します。例えば、ユーザがHorizonのコンソール画面にログインすると、Keystoneでユーザ認証が行われます。続いて、インスタンス起動を指示すると、それを受けたNovaは、Glanceに依頼して起動ディスクのイメージを取得します。その後、インスタンスが起動すると、Quantumが用意した仮想ネットワークにインスタンスの仮想NICを接続する・・・というような流れです。
 コンポーネント間の通信には、いくつかの経路があります。各コンポーネントが提供する「REST API」の利用が標準ですが、その他にもコンポーネント独自のAPIを経由したり、コンポーネント内部のエージェント間で、AMQP準拠のメッセージキューを利用することもあります。このように、コンポーネント間の通信経路が複雑な点は、OpenStackの設定を難しくする一因にもなっています。
 ちなみに、「AMQP」は、米JPモルガン社が提唱したオープンスタンダードなメッセージキューのプロトコルで、同社とRed Hatが共同開発した「Apache QPID」やRabbit Technologies社が開発した「RabbitMQ」などの実装があります。Red Hat提供のディストリビューションでは、RHELに同梱のQPIDを利用します。

Quantumの役割

 いよいよ本題の「Quantum」です。QuantumのAPIを利用すると、仮想ネットワークを構成する、次のような「パーツ」を用意することができます。

  • パブリックネットワーク:外部通信用のネットワーク・セグメント
  • プライベートネットワーク:プライベートネットワーク用の仮想的なL2スイッチ
  • サブネット:上記のL2スイッチに割り当てるサブネット(IPアドレスの範囲)
  • 仮想ルータ:上記のネットワーク間を相互接続する仮想的なルータ

 具体的には、図1のようなネットワークを仮想的に用意して、それぞれのプライベートネットワークにインスタンスを接続します。

fig01

図1 Quantumによる仮想ネットワークの例

 図1にある「テナント」は、利用者のグループのことです。テナントごとに専用の仮想ルータを用意すると、その背後ではサブネット(IPアドレス)が自由に設定できます。テナント外と通信する際は、仮想ルータがNAT(IPアドレス変換)を行うので、他のテナントとIPアドレスが重複しても問題になりません。自宅LANをブロードバンドルータでインターネットに接続するような感覚です。
 このようなマルチテナント対応の仮想ネットワーク機能が、Quantumの特徴の1つとなります。

次回予告

 図1を見て、「どうやってこれを物理サーバ内部で実現するの?」という疑問がわいた読者も多いことでしょう。インフラエンジニアの方には、具体的なサーバ配置を説明した方が分かりやすいかも知れません。
 次回は、物理サーバ/物理ネットワークの典型構成を示しながら、図1の「パーツ」の実現方法を紹介したいと思います。Quantumの仮想ネットワークも基礎技術の組み合わせであることが分かるはずです。

参考資料

*1Linux KVMとKickStartとPuppetとGitHubで作るパーソナルクラウド
 当日の発表資料です。

 

++ CTC教育サービスから一言 ++
このコラムでLinuxや周辺技術の技術概要や面白さが理解できたのではないかと思います。興味と面白さを仕事に変えるには、チューニングやトラブルシューティングの方法を実機を使用して多角的に学ぶことが有効であると考えます。CTC教育サービスでは、Linuxに関する実践力を鍛えられるコースを多数提供しています。興味がある方は以下のページもご覧ください。
 CTC教育サービス Linuxのページ
 http://www.school.ctc-g.co.jp/linux/
 

Linux研修トレーニングならCTC教育サービス


 

筆者書籍紹介

Software Design plusシリーズ
「独習Linux専科」サーバ構築/運用/管理
  ――あなたに伝えたい技と知恵と鉄則

本物の基礎を学ぶ!新定番のLinux独習書

中井悦司 著
B5変形判/384ページ
定価3,129円(本体2,980円)
ISBN 978-4-7741-5937-9
詳しくはこちら(出版社WEBサイト)
「独習Linux専科」サーバ構築/運用/管理

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes