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
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
2
「HDD終了」は本当か 巨大クラウド2社が下した大容量フラッシュへの決断
-
3
AIで人を減らした企業がもう心変わり 「AIブーメラン現象」の実態
-
4
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
5
レガシー基幹システムをSAPに統合 山善が突き止めた「標準化と個別最適」の境界線
-
6
10年かけてBIを再構築したアマノの一手 「権限がない」「予算がない」でもDXは動かせる
-
7
人気のプログラミング言語「Rust」と「Python」の違いは何か?
-
8
レビューで高評価だったAI生成コードが本番環境でエラーを多発する理由
-
9
LLMの「過学習」、正しく説明している文章はどれ?
-
10
【漫画付き】"RAG導入失敗3例"と処方箋 「入れても使われない」を終わらせる
ホワイトペーパーランキング PR
-
1
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
2
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
3
属人化や仕様バグはなぜ起きる? AI時代に必須のドキュメント文化の作り方
-
4
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
5
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
6
中小企業必見、Microsoft 365でゼロトラストセキュリティを実現する方法
-
7
5分で分かる「AI駆動開発エージェント」 要件定義から設計・実装・テストまで
-
8
動画で知るランサムウェア被害企業のリアル、会計データが無事だった理由とは
-
9
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
10
NTTドコモが実践したクラウド統合監視 業務量2倍でも残業削減を実現できた理由
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー