>  > YOKOHAMA ヨコハマ エコス ECOS ES31 サマータイヤ 175/70R14 WEDS ウェッズ TEAD TRICK テッドトリック ホイールセット 4本 14インチ 14 X 5.5 +42 4穴 100

YOKOHAMA ヨコハマ エコス ECOS ES31 サマータイヤ 175/70R14 WEDS ウェッズ TEAD TRICK テッドトリック ホイールセット 4本 14インチ 14 X 5.5 +42 4穴 100

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

これから学ぶ人も、資格取得を目指す人も、最適なカリキュラムを選べます。

カートを見る
コース検索

YOKOHAMA NANOENERGY3PLUS225/55-17 ヨコハマ エコス ECOS ES31 サマータイヤ 175/70R14 WEDS H29/10~ ウェッズ TEAD TRICK テッドトリック ホイールセット 4本 14インチ 14 X 5.5 +42 4穴 100

CTC教育サービス・ホーム > コラム > クラウド時代のオープンソース実践活用 > 第22回 Puppet/Chefの動作原理を理解できていますか?

コラム

ECOS 14 WEDS YOKOHAMA X TEAD ES31 エコス ヨコハマ TRICK ホイールセット 5.5 YOKOHAMA テッドトリック ウェッズ 175/70R14 14インチ 100 WEDS 4穴 サマータイヤ 4本 +42

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  OpenStack  システムトラブルシュート 

第22回 Puppet/Chefの動作原理を理解できていますか? (中井悦司) 2013年6月
はじめに

 みなさんは、「VIOPS(Virtualized Infrastructure Operators group)」というコミュニティをご存知でしょうか? 主には、データセンターでサーバ/ネットワークの運用にあたるエンジニアが、最新の技術動向を学ぼうということで、5年前に設立されたコミュニティです。昨年のワークショップにおいて、GlusterFS/Red Hat Storageの紹介をさせていただいた事をきっかけに、筆者もその活動に協力させていただいています。
 今年は、7/19(金)の「VIOPS08 WORKSHOP」において、「System Automationパネル・セッション」に登壇することになりました。ハードウェア/ソフトウェアの両面での最新技術を扱う、めずらしい形態のワークショップです。興味のある方には、ぜひご参加いただければと思います。
 さて、今回は 15【スイフト(Z#21、11系)】MANARAY ユーロスピード G10 メタリックグレー 5.5Jx15エナセーブ RV504 185/60R15、アプリケーションの導入・設定を自動化するツール「Puppet」を紹介します。多数のサーバを扱うデータセンターでは、以前より広く使われてきたツールですが、最近、クラウド環境の構築に利用されるようになり、新しくPuppet(もしくは、類似のツールであるChef)を使い始める方も増えています。ところが、Puppet/Chefの解説書を読むと、「宣言型」「冪等性(べきとうせい)」と言った小難しい用語が登場するため、使いこなすのは難しいというイメージを持つ方も多いのではないでしょうか?
 ここでは、Puppetの動作原理をもとに、これらの用語の意味を噛み砕いて説明します。Puppetの根底にある「考え方」を理解した上で、解説書を読み進めれば、よりすっきりと理解できることでしょう。Puppetの入門には、(*1)の電子書籍がお勧めです。

Puppetの真価は「現状確認機能」

 アプリケーションの導入・設定を自動化する場合、規定のコマンドをシェルスクリプトから実行する方法があります。ところが、多数のサーバで同じシェルスクリプトを実行すると、サーバによっては想定外のエラーが発生することがあります。あるパッケージの導入コマンドを実行した場合、サーバによっては、古いバージョンのパッケージが導入されていたためにエラーになるといった例が考えられます。
 人間がコマンドを実行する場合は、エラーに気づいて適切な対応をとることができますが、スクリプトではそうは行きません。エラーを無視して次のコマンドに進んでしまい、最終的にサーバの状態がどうなったか分からなくなる恐れもあります。この問題の根本原因は、「現在の状態」を確認せずに機械的にコマンドを実行する部分にあります。仮に人間がコマンドを実行する場合でも、エラーが出てから対応を考えるのではなく 18インチ サマータイヤ セット【適応車種:ウィッシュ(20系 X・Gグレード)】HOT STUFF クロススピード ハイパーエディションRS9 グロスガンメタ 7.5Jx18エナセーブ RV504 225/40R18、導入済みパッケージを確認した上で、適切なコマンドを判断して実行するべきです。
 実は、ここにPuppetの真価があります。Puppetで設定処理を行う場合、利用者は、具体的なコマンドを指示する必要はありません。設定ファイル(マニフェスト)に、

、「希望する状態」を記載すると、Puppetは、現在の状態を確認した上で、希望する状態を実現するためのコマンドを自動的に判別します。
 次は、Puppetのマニフェストの最も単純な例で、「httpdパッケージの最新版が入っていて欲しい」という希望を表します。

package { 'httpd':
 ensure => latest,
}

 Red Hat Enterprise Linux(RHEL)の環境で、このマニフェストを適用したとします。Puppetは、RHELの環境では、yumコマンドで、導入済みパッケージの確認や新規パッケージの導入ができる事を知っています。まずは、yumコマンドでhttpdパッケージの導入状況を確認して SwageLine クラッチホースキット BLK/クリア CBR1000RR 06-07 《SWAGE-LINE BAC156》、すでに最新版が導入されている場合は何もしません。あるいは、古いバージョンが導入されている場合は、最新版にアップデートするためのyumコマンドを実行します。未導入の場合は、もちろん最新バージョンを導入します。これを図示すると シビック用 リールASSY.ケーブル(フルカワ)シビック4Dシビックハイブリッド 77900-SNA-J31、図1のようになります。

図1 Puppetの動作原理

 決して複雑な仕組みではありませんが、「現在の状態を確認する」という仕組みのおかげで、現在のサーバの状態を気にせずに、いつでも安心して自動設定の処理が行えることになります。

冪等性なんて怖くない?

 これで、Puppetが「宣言型」と呼ばれる理由が分かりました。希望する状態を「宣言」すると、現在の状態と希望する状態のギャップを埋める方法(コマンド)をPuppet自身が考えてくれるという仕組みに他なりません。実行するべきコマンドを明示的に指定できないので、シェルスクリプトに慣れた方は、逆に最初は不便に感じるかも知れません。しかしながら、毎回、現状確認の処理をシェルスクリプトで作りこむのは大変です。Puppetを信頼して、処理を任せることが大切です。
 もちろん、既存のPuppetの機能だけでは、希望する設定ができない場合もあります。そのような際は、Puppetを自分自身で機能拡張することも可能です。機能拡張の仕組みについては、(*2)の書籍が参考になります。
 それでは、もうひとつの用語、「冪等性」についてはどうでしょうか? これは、「同じ処理を繰り返しても結果が同じになる」という意味ですが、図1を見れば、その理由は明らかです。既に希望する状態になっていれば、Puppetは何もしませんので、設定済みの項目に対して、同じマニフェストを適用しても結果は同じです。
 たとえば、httpdパッケージを導入するマニフェストを作成・適用した後に、httpdサービスの起動処理をマニフェストに追加したとします。再度、このマニフェストを適用した場合、パッケージ導入部分は実行されずに、サービス起動処理だけが実行されることになります。つまり、「httpdパッケージ導入」という処理について、冪等性が実現されているわけです。
 冪等性というと、「ビール注文」の喩え話(「ビール3本!」という注文を何度も繰り返すと、大量のビールがテーブルに届いてしまう)がよく出てきます。喩え話としては面白いのですが、Puppetにおける冪等性については 【S633】パレット [H24/6-][MK21S] カジュアルG ライトグレー Bellezza ベレッツァ シートカバー、図1を見た方がすっきりと理解できるのではないでしょうか。
 なお、Puppetでは 、例外的に、利用者自身が設定コマンドを指定する方法(Execリソース)が用意されています。Execリソースを使用する場合は、図1の仕組みが成り立つように、「現在の状態」を確認する方法(コマンド)も利用者が指示する必要があります。つまり ブリッド スーパーシートレール ROタイプ 左側 ジェッタ 19#/16#系 G026RO BRIDE 左用【店頭受取対応商品】、Execリソースの冪等性は、利用者自身で担保する必要がありますので、この点は注意が必要です。

次回予告

 今回は、Puppetの根底となる考え方を紹介しました。Puppetを活用する上では、この他には、設定順序を指定する「依存関係」の記述方法、さらには、設定項目をグループ化する「クラス」の利用方法などをマスターする必要があります。これらについては、(*1)などの入門書に譲ることにしておきましょう。
 次回は、Puppetを利用したOpenStackのインストールツール「Packstack」について、解説したいと思います。

参考資料

*1)「入門Puppet - Automate Your Infrastructure」栗林 健太郎(著)
 Puppetの基本的な使い方を具体例で紹介した上で、本格的に利用する際のノウハウも分かりやすく説明した電子書籍です。

*2)「Puppet Types and Providers」Dan Bode, Nan Liu(著)
 Puppetが設定に必要なコマンドを自動判別する、背後の仕組みを解説した書籍です。自分自身で機能拡張を行う必要がない場合でも、Puppetの仕組みを理解して使いこなす上で有益な知識になります。

 

++ CTC教育サービスから一言 ++
このコラムでLinuxや周辺技術の技術概要や面白さが理解できたのではないかと思います。興味と面白さを仕事に変えるには、チューニングやトラブルシューティングの方法を実機を使用して多角的に学ぶことが有効であると考えます。CTC教育サービスでは、

YOKOHAMA ヨコハマ エコス ECOS ES31 サマータイヤ 175/70R14 WEDS ウェッズ TEAD TRICK テッドトリック ホイールセット 4本 14インチ 14 X 5.5 +42 4穴 100

、Linuxに関する実践力を鍛えられるコースを多数提供しています。興味がある方は以下のページもご覧ください。
 CTC教育サービス Linuxのページ
 http://www.school.ctc-g.co.jp/linux/
 


 

関連コース

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  OpenStack  システムトラブルシュート 

「クラウド時代のオープンソース実践活用」コラム一覧へ

コラム一覧へ

YOKOHAMA NANOENERGY3PLUS225/55-17 ヨコハマ エコス ECOS ES31 サマータイヤ 175/70R14 WEDS H29/10~ ウェッズ TEAD TRICK テッドトリック ホイールセット 4本 14インチ 14 X 5.5 +42 4穴 100

キャンペーン情報

キャンペーン一覧





YOKOHAMA NANOENERGY3PLUS225/55-17 ヨコハマ エコス ECOS ES31 サマータイヤ 175/70R14 WEDS H29/10~ ウェッズ TEAD TRICK テッドトリック ホイールセット 4本 14インチ 14 X 5.5 +42 4穴 100

{yahoojp} {school.ctc-g.co.jp}
筆者書籍紹介

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

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

中井悦司 著
B5変形判/384ページ
定価3,129円(本体2,980円)
ISBN 978-4-7741-5937-9
詳しくはこちら(出版社WEBサイト)

{yahoojp}jpprem01-zenjp40-wl-zd-29491