クラウドでの設定管理ツールPuppet

2010年7月21日(水)
金野 諭Mark Maglana(マーク・マグラナ)

マニフェストのmCloudシリーズでの活用例

ここまで簡単なサンプル・マニフェストを紹介してきました。しかしながら、システム管理はそれ程単純ではありません。より複雑な条件設定や設定がないと一貫性を管理できないシステムも少なくありません。モーフ・ラボ社mCloudシリーズでは、高度にモジュール化されたフレームワークとして複数のマニフェストを簡単に組み合わせし、管理者のニーズに対応するなど、Puppetの潜在能力を100%引き出す仕様となっております。

以下に、その一例を紹介してみます。

マニフェスト3:Javaアプリケーションサーバーのマニフェスト例

上のスクリプトは、Javaのアプリケーションサーバー用のマニフェストの例です。最初に、mpackageとmserviceという2つのアイテムを宣言しています。これは、クロスプラットフォーム環境下でOSごとにパッケージ名やサービス名が異なっていてもその差異を吸収できるよう抽象化するために使われています。

次に、Puppetが後のusersクラスにてmcloudユーザー作成時に必要な$java_dirsに対して配列宣言をしています。

残りの部分では、Puppetが利用する別の配列を宣言しています。この変数も、OSごとの名称の違いを吸収するために利用されています。最後に、配列内のパッケージを参照し、yumクラスがrepoファイルをインストールするよう指示されています。

上記マニフェストに加え、その他モーフ・ラボ社の提供するアプライアンスmCloudシリーズの、コア内の各種機能を活用することで、システム管理者は、WEBユーザーインターフェースからパッケージやサービスを選択し、新たなCompute(mCloudにおける各種設定済み仮想マシンのこと)を定義することができます。以下の図が、Java 1.5サービス設定例です(最新版では日本語UI対応済み)。

図2:新たなComputeの定義(Java1.5設定例)

なお、Puppetに関するより詳しい情報に関しては、こちらを参照してください。

まとめ

ここまで見てきたように、設定情報管理ツールを利用することで、システム管理者の管理作業や開発者のインフラへの関与を軽減することが可能になります。特に、必要なサーバーが1、2台でなく大規模なシステムになればよりその設定が複雑になるため、そのような管理システムは必須になってきます。モーフ・ラボ社では、社内設定ポリシーの施行管理は、ツールによる自動化以外、その本来の価値を引き出す方法はないと考えています。

反復して利用する典型的な設定や、ミスを犯しやすい設定などは、一度システムに任せる作業を完了すればあとは、システムがより迅速に、より確実にこなしてくれるため、開発チームは、本来集中すべき作業に全精力を注ぐことが可能になるのです。そして、その結果として、短時間でより優れたソフトウエア開発が実現できるようになると考えています。

株式会社モーフ・ラボ 代表取締役社長 米国Morphlabs, Inc. 副社長

大学卒業後、システムエンジニアとして、データベースやネットワークなどインフラ設計・構築に携わった後、2年間の米国留学を経て、ベンチャー・キャピタリストに。クラウド黎明期の2006年からクラウド関連の投資や事業支援を行う中、この分野の将来性に魅力を感じ、2010年に株式会社モーフ・ラボを立ち上げる。

著者
Mark Maglana(マーク・マグラナ)
米国Morphlabs, Inc. mCloud担当マネージャ

米国Morphlabs, Inc.では、mCloudシリーズのプロダクト・マネージャとしてその製品開発とサービス企画を担当。時間があるときには、趣味の範囲で、色々なオープンソース・プロジェクトに首を突っ込む日々を過ごす。最近は、小規模な開発チーム向けのアジャイル開発マネージメントツールのRedmine Backlogsプロジェクトなどに携わる。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています