OSSの運用自動化ソフト 注目の7製品まとめ(Jenkins/Packer編)コードでインフラ構築、管理を実現するOSSたち(終)

「IaC(Infrastructure as Code)」を実現するソフトウェア製品を比較して紹介する本連載。今回はJenkinsとPackerを紹介します。ぜひ選ぶ際の参考にしてみてください。

» 2023年03月24日 05時00分 公開
[大喜多利哉@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 今日においてシステム構築、運用の自動化を担うIaC(Infrastructure as Code)を実現するソフトウェアは多くの種類が存在し、それぞれに担当する分野が異なったり、記述するコードの形式が異なったり、ツール間で連携することもあるなどの特徴を持っています。本記事ではそれらの製品を7製品ピックアップして紹介します。

製品名 ベンダー/コミュニティー 特徴
1 Ansible Red Hat サーバを立ち上げる際に、あらかじめ用意した設定ファイルに基づいて、ソフトウェアのインストールや設定を自動で実行できるソフトウェア。「Playbook」と呼ばれる設定ファイルはYAML形式で記述し比較的学習が容易であることと、管理対象サーバに管理用のソフトウェアをインストールしないエージェントレスな構成が特徴
2 Terraform HashiCorp 設定ファイルに基づいてサーバなどのインフラを管理できるソフトウェア。各種パブリッククラウドや仮想化環境に対応している。インフラの構成管理に特化しており、サーバ内部の設定などは別のIaCツールを用いることが一般的
3 Chef Chef Software Ansibleと同様に、サーバを立ち上げる際に、あらかじめ用意した設定ファイルに基づいて、ソフトウェアのインストールや設定を自動で実行できるソフトウェア。「レシピ」と呼ばれる設定ファイルはRubyをベースとしたDSL(ドメイン固有言語)で記述する。Chef Serverを用いた大規模管理にも対応している
4 Puppet Puppet AnsibleやChefと同様に、サーバを立ち上げる際に、あらかじめ用意した設定ファイルに基づいて、ソフトウェアのインストールや設定を自動で実行できるソフトウェア。「マニフェスト」と呼ばれる設定ファイルはRubyライクの独自DSLで記述する。スタンドアロン型とクライアントサーバ型の2種類の形態が存在する
5 Pulumi Pulumi Terraformと同様に設定ファイルに基づいてサーバなどのインフラを管理できるソフトウェア。各種パブリッククラウドや仮想化環境に対応している。インフラの構成管理に特化しており、サーバ内部の設定などは別のIaCツールを用いることが一般的。設定ファイルはJavaScript、TypeScript、Python、Goなど、複数の言語から選択して利用できる
6 Jenkins Jenkins ソフトウェア開発のビルド、テストおよびデプロイに関連する部分の自動化を支援し、継続的インテグレーション(CI)と継続的デリバリー(CD)を促進するソフトウェア。他のソフトウェアと異なり、インフラの管理ではなくソフトウェア開発を支援するソフトウェア
7 Packer HashiCorp マシンイメージの作成を自動化するツール。Amazon Web Services(AWS)なら「AMI」、Microsoft Azureなら「arm」を作成する。設定ファイルはjsonで記述する。AnsibleやChefなどと連携できる

 それぞれのソフトウェアをカテゴリーに分けたものが以下の表となります。

プロビジョニング Terraform/Pulumi
コンフィギュレーション Ansible/Chef/Puppet
イメージ作成 Packer
継続的インテグレーション Jenkins

 今回は上記ソフトウェアのうち、Jenkins、Packerを紹介していきます。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。