Infrastructure as Codeで変わる運用管理の現場【第2回】
人気のOSS構成管理ツール「Chef」「Ansible」を比較(2/2 ページ)
自由度が高く機能が豊富なChef
Chefは、Chef Softwareが開発したOSSの構成管理ツールで、プログラミング言語「Ruby」で実装されている。Chefの手順書は「Cookbook」やRecipeと呼ばれ、Rubyのスクリプトとして記述する。通常のRubyスクリプトを書くように条件分岐などの処理を記述できるため自由度は高いが、学習コストが高くなったり、トラブルシュートが難しくなったりする場合もある。
Chefは、Recipeなどの情報を集約する「Chef Server」や、各サーバで動作しChef ServerからRecipeを取得して構成管理をする「Chef Client」などで構成されている。Chef Clientには、Chef Serverを構築せずに利用できるローカルモードもある。
例えば、Webサーバのパッケージをインストールする場合は「package」モジュールを使用する。Linuxディストリビューションの種類によってパッケージ名が異なるため、ここでは「Debian」とRHELに対応する形式でRecipeを書いてみる。このように、少し複雑な処理でも簡単に書けてしまうのがChefの特徴である。
package 'Install Web Server' do # yumや「apt」(注3)を抽象化したモジュールを使用
case node[:platform] # 対象サーバのOSで条件分岐
when 'red hat' # OSがRHELを含むRed Hat系の場合
package_name 'httpd' # httpdパッケージをインストール
when 'debian' # OSがDebian系の場合
package_name 'apache2' # apache2パッケージをインストール
end
end
Chefを使ってWebサーバをインストール。パッケージ管理コマンドによってWebサーバの名前が異なるので、OSの種類によって条件分岐する
※注3 Debian系Linuxディストリビューションのパッケージ管理コマンド。
シンプルで初心者にも使いやすいAnsible
Ansibleは、Red Hatに買収されたことで話題を集めたOSSの構成管理ツールだ。プログラミング言語「Python」で実装されている。
手順書は「Playbook」といい、「YAML」という構造化テキストで記述する。プログラミング経験のない情報システム担当者でも使い始めることができるが、その半面、自由度が制限される場面があったり、複雑な処理を書きづらかったりするデメリットもある。
Ansibleは、Chefのように対象サーバにクライアントなどをインストールする必要がなく、SSHでログインできれば構成管理が可能なため、手軽に使い始めることができる。コンテナ管理ツールの「Docker」や、Dockerの周辺ツールを扱うためのモジュールが利用できる。
Chefと同様に、Webサーバのパッケージをインストールする例を示す。AnsibleではLinuxの種類に応じてパッケージ用のモジュールが用意されているため、「when」という条件分岐のパラメーターを使ってOSを判別する必要がある。自由度は少し制限されるが、簡単に利用できるのがAnsibleの特徴である。
- yum: # yumコマンドを抽象化したモジュールを使用
name: httpd # httpdパッケージを作業対象に指定
state: latest # 最新バージョンをインストール
when: ansible_os_family == 'Red Hat' # OSがRHELを含むRed Hat系の場合のみ実行する手順
- apt: # aptコマンドを抽象化したモジュールを使用
name: apache2 # apache2パッケージを作業対象に指定
state: latest # 最新バージョンをインストール
when: ansible_os_family == 'Debian' # OSがDebian系の場合のみ実行する手順
```
Ansibleを使ってWebサーバをインストール。Red Hat用とDebian用の手順を作成し、OSの種類によって実行する手順を区別する
今回は構成管理ツールの概要紹介と、Chef、Ansibleの比較をした。構成管理ツールはInfrastructure as Codeを実現するためには必要不可欠であり、手順書のコード化によって得られるメリットは大きい。ぜひ挑戦してみてほしい。その際には、プログラミングの知識も必要なく、簡単に使い始められるAnsibleを勧める。英語の公式のマニュアルが充実しているため、分からないことがあったときは助けになるだろう。
今回紹介した以外にも、構成管理ツールの火付け役である「Puppet」や、Chefの機能をシンプルにした日本製の「Itamae」といったツールもある。興味があれば調べてみてほしい。
次回は、より実践的な構成管理ツールの利用方法をチュートリアル形式で紹介する。
堀内晨彦(ほりうち・あきひこ)
生まれも育ちも香川県。香川大学大学院 情報科出身。学生時代は研究の傍ら、勉強会やコミュニティー活動に積極的に参加し、「Hubot×ChatOps勉強会」などを主催。2016年4月からは上京し、ICT企業でクラウドエンジニアの見習い中。趣味は料理とカメラ。
Copyright © ITmedia, Inc. All Rights Reserved.
Infrastructure as Codeで変わる運用管理の現場
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
2
「Microsoft 365のセキュリティ運用」に関するアンケート
-
3
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
4
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
5
221人調査で分かった「情シス最大のストレス」は?
-
6
「Salesforceのテスト自動化ツール」に関するアンケート
-
7
「データストレージの活用方法」に関するアンケート
-
8
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
9
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
10
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー