Infrastructure as Codeで変わる運用管理の現場【第2回】
人気のOSS構成管理ツール「Chef」「Ansible」を比較(1/2 ページ)
構成管理ツールを用いることのメリットは「手順書のコード化」である。特にメジャーなツール「Chef」と「Ansible」の特徴を比較する。
第1回「いまさら聞けない『Infrastructure as Code』、一体どんなメリットが?」では、「Infrastructure as Code」(コードによるインフラの構成管理)の概要、実現するための技術やツールの基礎、「Immutable Infrastructure」(一度構築したサーバの構成を変更しないという考え方)との違い、業務に与えるメリットなどを説明した。第2回では、OSS(オープンソースソフトウェア)の構成管理ツールに焦点を当て、特にメジャーなツール「Chef」と「Ansible」の特徴を比較する。
関連記事
今さら聞けない「ITインフラ」
「Docker」とは何か
インフラ管理者が知っておきたい基礎知識
構成管理ツールとは
構成管理ツールとは、パッケージのインストールや設定ファイルの配置などの作業を自動化、コード化するソフトウェアである。これまでサーバを構築したり、パッチの適用で構成を変更したりする際には、インフラ管理者が手順書を作成し、手作業でコマンドを実行して設定ファイルを記述することが一般的だった。構成管理ツールは「Recipe」や「Playbook」といったコード化した手順書を読み込み、その内容に従ってSSH(リモートアクセスプロトコル)を使った暗号化通信でサーバへ接続し、必要な処理を実行する。
構成管理ツールを用いることのメリットは「手順書のコード化」である。まさにInfrastructure as Codeを実現するための重要なツールといえる。コード化することでバージョン管理ができるようになったり、複数のサーバに対して同時/並列に処理を実行できるようになったりする。
手順書の自動化、コード化といえば、シェルスクリプト(注1)を思い浮かべる人が多いかもしれない。構成管理ツールとシェルスクリプトの大きな違いは、構成管理ツールには「抽象化」と「べき等性」が確保されている点である。詳しくは次章で説明するが、この2つの要素によって、シェルスクリプトで実行していた複雑な処理を、可読性が高く、書いた人以外にも分かりやすい手順書にすることができる。
※注1 LinuxなどUNIX系OSのコマンド制御プログラム(コマンドインタプリタ)である「シェル」で使われるスクリプト。
構成管理における「抽象化」と「べき等性」
まずは抽象化について説明する。構成管理ツールで手順書に記述するのは、サーバに入力するコマンドではなく、「パッケージ」「ファイル」など抽象化された構成管理ツールのモジュール(注2)である。抽象化することによって、簡単かつ分かりやすく処理を記述できる。
例えば、「Red Hat Enterprise Linux」(RHEL)や「CentOS」といったRed Hat系Linuxディストリビューションでパッケージを管理する「yum」コマンドを使うとしよう。パッケージ情報を更新した後、Webサーバ「httpd」をインストールする場合、サーバに入力するコマンドの一例は下記のようになる。
$ yum -y update # パッケージの情報を更新
$ yum -y install httpd # httpdのインストール
Red Hat系のパッケージ管理コマンドであるyumを使ってWebサーバをインストール
同様の処理を構成管理ツールのAnsibleで記述すると下記のようになる。パラメーター名が「name」「state」などとなっていたり、「yes」「no」で答えられたりするなど、実際にコマンドを記述するよりも処理の内容が分かりやすい。
- yum: # yumコマンドを抽象化したモジュールを使用
name: httpd # httpdパッケージを作業対象に指定
state: latest # 最新バージョンをインストール
update_cache: yes # パッケージの情報を更新
Ansibleを使ってyumでWebサーバをインストール
もう1つの要素のべき等性。これは「同じ手順書を実行したとき、何度実行しても出来上がるサーバの状態は同じ」という、構成管理ツールにおいて非常に重要な考え方である。
例えば「最新のhttpdをインストールする」という手順があった場合、既に最新バージョンがインストールされていれば手順をスキップしたり、バージョンが古い場合は更新したりするなどして、最終的にどのサーバに対して構成管理ツールを実行しても、出来上がるサーバの状態は同じになる。
シェルスクリプトでべき等性を実現しようとすると、複雑な処理を記述する必要がある。構成管理ツールを使えば、インフラ管理者が意識しなくてもべき等性を担保できる。仮に手順の途中で失敗しても、最初から実行し直せばよいため、手順漏れを防ぐことができる(モジュールを使用せずコマンドを直接記述した際には、べき等性を意識する必要がある)。
注2 構成管理ツールにおけるモジュールとは、「パッケージをインストールする」「ファイルを転送する」などのひとまとまりの機能を持った部品のことである。このモジュールを組み合せてコード化された手順書を作成する。モジュールとコマンドは一対一で対応していることが多い(モジュールがコマンドを生成して実行するイメージ)。
次章では、メジャーな構成管理ツールであるChefとAnsibleを比較する。
Copyright © ITmedia, Inc. All Rights Reserved.
Infrastructure as Codeで変わる運用管理の現場
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[株式会社MatrixFlow] 「物流リソース最適化」ガイド:人員・配車・傭車を出庫依頼の確定前に決めきる -
製品資料
[株式会社キーエンス] なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは -
製品資料
[株式会社セールスフォース・ジャパン] 「CRMは設計と無関係」は本当か? PLMとの融合で実現する高速開発 -
事例
[日本ヒューレット・パッカード合同会社] AIエージェントの時代にどう備える? 「新たな働き手」を支える3要素とは -
製品資料
[日本ヒューレット・パッカード合同会社] “横並びの自動化”から脱却、AI活用で生産性と競争力を高める秘訣
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
2
法務と開発者で「言葉が通じない」問題 トヨタやソニーが語るOSS管理の真実
-
3
なぜ「Gemini 4 Argon」は出遅れたのか? Googleが狙う“逆転のシナリオ”
-
4
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
5
情シスの約8割が転職や退職を意識 調査で分かった“辞めたくなる最大の理由”
-
6
ChatGPTは“検索しまくり”でGeminiは“淡泊”? データが明かすAIの裏側
-
7
情報漏えいはなぜ繰り返されるのか 今すぐ見直すべき「境界」
-
8
「Wi-Fi 7」経由でWindowsが乗っ取られる? 最高権限奪取の恐怖
-
9
「結局使わなくなる」Microsoft 365 Copilotを半年で定着 キリンの3施策
-
10
「中堅・中小企業のネットワーク・セキュリティ運用実態」に関するアンケート
ホワイトペーパーランキング PR
-
1
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
2
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
3
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
-
4
財務部門がAIを最大限に活用する方法 無駄のない戦略的リーダーシップへの道
-
5
LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント
-
6
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
7
なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは
-
8
生成AIを開発に導入しても効果が見えない? 実証実験で分かった成果と課題
-
9
経産省DX指針から読み解く、受発注業務デジタル化ロードマップ
-
10
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー