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

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

研修コース検索

コラム

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

CTC 教育サービス

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

第70回 OpenStackのポリシーエンジン「Congress」を解説 (中井悦司) 2015年7月

はじめに

 先週、「2nd Tokyo OpenStack Meetup」に参加してきました。これは、Midokura社で「MidoNet Community Manager」を務めるSandroが主催するイベントで、英語でOpenStackの情報を交換しようという趣旨のユーザー会です。

 今回は、このイベントのセッションで紹介されていた「OpenStack Congress」を紹介したいと思います(*1)。あまり聞き慣れないコンポーネントですが、OpenStackの環境からさまざまなデータを取得して、事前に定義した「ポリシー」に適合した環境であることを検査するというツールです。プライグイン形式のドライバーによって取得する情報を追加することができるので、原理的には、あらゆる構成についての検査が可能です。プロジェクトのWikiでは、次のような設定例が紹介されています。

  • アプリケーションAは、アプリケーションBのみと通信可能であること。
  • グループBに属するテナントAの仮想マシンは、必ずパブリックネットワークに接続されていること。
  • 仮想マシンAは、ストレージBが存在するリージョンで起動すること。

 また、検査結果に応じて、APIリクエストを発行して環境を変更することも可能です。ポリシーに適合しない仮想マシンは強制停止するなどの使い方が考えられるでしょう。

Congressのアーキテクチャー

 まずはじめに、Congressの仕組みについて、その全体像を示しておきます(図1)。Congressは開発途上のため、アーキテクチャーに関するドキュメントがまだあまり見当たりません。これ以降の内容は、筆者自身で、ソースコードを読み解いて確認した内容になります。不正確な部分があるかも知れませんので、その点はご了承ください。

fig01

図1 Congressの全体像

 図1にある、「データソースドライバー」と「ポリシーエンジン」がCongressの中心的な役割を果たします。まず、データソースドライバーは、OpenStackのAPIを用いて、各種コンポーネントから定期的に情報を取得します。Novaの情報を取得する「novaドライバー」、Neutronの情報を取得する「neutronドライバー」などに分かれます。そして、収集した情報がポリシーに合致するかを判定するのがポリシーエンジンです。ポリシーエンジンは、ポリシーに違反する情報を発見すると、事前に定義されたアクションを実行します。この際、データソースドライバーを通して、OpenStackの各コンポーネントにAPIリクエストを送信することができます。これにより、OpenStackの環境をポリシーに合致するように管理していくことが可能になるわけです。

 また、データソースドライバーは、自分で作成して追加することもできますので、場合によっては、OpenStack以外の環境をCongressで管理することも考えられます。APIによるデータの取得と環境の操作ができればよいわけですので、Amazon Web Services(AWS)を管理するデータソースドライバーを作成することもそれほど難しくはないでしょう。

ポリシー記述言語「Datalog」

 Congressの最大の特徴は、ポリシーの記述方法にあります。図1において、ポリシーエンジンに受け渡すポリシーは、「Datalog」という特別な言語で記述します(*2)。これは、論理型言語と言われる「Prolog」のサブセットになっており、与えられたデータについて、事前に定義した条件を満たすかどうかを自動判別する機能を持ちます。つまり、ポリシーを定義する際は、「満たして欲しい条件」を記述するだけで、具体的な判別方法は気にしなくてよいことになります。

 ただし、実際のDatalogは、かなり特殊な文法を持っているので、誰でも簡単にポリシーが書けるというわけではなさそうです。今後は、Datalogの文法を知らなくてもポリシーが書ける変換ツールを用意したり、あるいは、よく利用されるポリシーを共有して利用するなどの活動が広がることが期待されます。

次回予告

 今週は、日本OpenStackユーザ会による「5周年特別企画:OpenStack Summitの歩き方」に参加してきます。最近は、Dockerに関連するネタが続いていましたが、日本でのOpsnSatck Summitの開催を目前に控えて、OpenStackの話題が再び盛り上がってきたようです。次回は、こちらのイベントからの話題をお届けしたいと思います。

参考資料

*1OpenStack Congress and Datalog

*2OpenStack Congress - Policy

 

++ 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