連載
OSSの運用自動化ソフト 注目の7製品まとめ(Jenkins/Packer編):コードでインフラ構築、管理を実現するOSSたち(終)
「IaC(Infrastructure as Code)」を実現するソフトウェア製品を比較して紹介する本連載。今回はJenkinsとPackerを紹介します。ぜひ選ぶ際の参考にしてみてください。
今日においてシステム構築、運用の自動化を担う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.
関連記事
- ITインフラをコードではなくSQLとして管理する「IaSQL」のβ版が公開
OSSの「IaSQL」(Infrastructure as SQL)プロジェクトは2023年2月16日、IaSQLのβ版をリリースした。IaSQLを使用すると、開発者はクラウドにあるITインフラを「PostgreSQL」のSQLとして管理できる。 - 検索API量産環境の短期構築、改善事例で分かる、「AWS Codeシリーズ」によるCI/CDパイプライン自動化のコツ
リクルートの情報検索組織において検索APIの基盤をどうやってPaaS中心のシステムに移行したかを紹介する連載。今回は、API開発システムの全体構成と構築の流れについて解説する。 - 上司ブロックを回避、Red Hatが教える「運用自動化に理解のある上司」の作り方とは
Cloud Operator Days Tokyo 2022のセッション「IaCやCIに理解のある上司になる(なってもらう)には」にてRed Hatの中島倫明氏は、運用自動化に理解のない上長に“運用自動化の重要さ”を理解してもらうコツについて紹介した。