CTC 教育サービス
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes
少々遅くなりましたが、新年あけましておめでとうございます。本年も本コラムをよろしくお願い致します。
と言いながら、昨年の話からはじめましょう。昨年の12月に、東京で「オープンソースカンファレンス 2012.Cloud」と題するイベントが開催され、私はオープンクラウドキャンパスのメンバとして発表させていただきました。
その名の通りクラウドがテーマのイベントで、OpenStackを筆頭に、クラウドを構築するオープンソースの話題が目白押しです。その中で何の話をしようかと迷ったのですが、あえて普通に、1台のLinux KVMサーバで、KickStartとPuppetを組み合わせて仮想マシンを自動構築する仕組みを紹介しました。
冗談半分に「パーソナルクラウド」と題してみたのですが、なんと!公開資料の閲覧数がすでに1000Viewを超えていました(*1)。「基礎技術の組み合わせがクラウド技術の本質」というのが私の持論ですが、多くの方に、このような基礎技術に興味をもっていただけるのは嬉しいことです。
それでは、OpenStack Quantumの解説に入りましょう。まずは、OpenStackの全体像のおさらいです。
OpenStackは、機能別にコンポーネントが分かれています。NovaとSwiftの2つから開発がスタートしましたが、その後、コンポーネントの分割が進み、現在では次のような構成になっています。
これらが連携して、クラウド基盤の機能を提供します。例えば、ユーザが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のAPIを利用すると、仮想ネットワークを構成する、次のような「パーツ」を用意することができます。
具体的には、図1のようなネットワークを仮想的に用意して、それぞれのプライベートネットワークにインスタンスを接続します。
図1 Quantumによる仮想ネットワークの例
図1にある「テナント」は、利用者のグループのことです。テナントごとに専用の仮想ルータを用意すると、その背後ではサブネット(IPアドレス)が自由に設定できます。テナント外と通信する際は、仮想ルータがNAT(IPアドレス変換)を行うので、他のテナントとIPアドレスが重複しても問題になりません。自宅LANをブロードバンドルータでインターネットに接続するような感覚です。
このようなマルチテナント対応の仮想ネットワーク機能が、Quantumの特徴の1つとなります。
図1を見て、「どうやってこれを物理サーバ内部で実現するの?」という疑問がわいた読者も多いことでしょう。インフラエンジニアの方には、具体的なサーバ配置を説明した方が分かりやすいかも知れません。
次回は、物理サーバ/物理ネットワークの典型構成を示しながら、図1の「パーツ」の実現方法を紹介したいと思います。Quantumの仮想ネットワークも基礎技術の組み合わせであることが分かるはずです。
*1)Linux KVMとKickStartとPuppetとGitHubで作るパーソナルクラウド
当日の発表資料です。
++ CTC教育サービスから一言 ++
このコラムでLinuxや周辺技術の技術概要や面白さが理解できたのではないかと思います。興味と面白さを仕事に変えるには、チューニングやトラブルシューティングの方法を実機を使用して多角的に学ぶことが有効であると考えます。CTC教育サービスでは、Linuxに関する実践力を鍛えられるコースを多数提供しています。興味がある方は以下のページもご覧ください。
CTC教育サービス Linuxのページ
http://www.school.ctc-g.co.jp/linux/
筆者書籍紹介 Software Design plusシリーズ 「独習Linux専科」サーバ構築/運用/管理 ――あなたに伝えたい技と知恵と鉄則 本物の基礎を学ぶ!新定番のLinux独習書 中井悦司 著 B5変形判/384ページ 定価3,129円(本体2,980円) ISBN 978-4-7741-5937-9 詳しくはこちら(出版社WEBサイト) |
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes