Linux/Windowsのパッチ適用自動化のポイント――基盤環境構築、単体試験の自動化で使える4つのOSSとはこっそり始めるパッチマネジメント自動化入門(2)

パッチ適用の時間を短縮する「自動化」について解説する連載。今回は、Linux/Windowsのパッチ適用の自動化と、OSSを使う基盤環境構築、単体試験の自動化について解説します。

» 2022年09月12日 05時00分 公開
[大久保次郎NTTデータ先端技術株式会社]

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

 パッチ適用の時間を短縮する「自動化」について解説する本連載「こっそり始めるパッチマネジメント自動化入門」。前回はパッチマネジメントの重要性について説明しました。今回はパッチ適用を円滑にするための自動化についてお話しします。

自動化のスコープ

 本稿のスコープ(範囲)は次の通りです。

  • 【前提】
    • 物理サーバにあるハイパーバイザーの上に
    • 仮想OSをインストールし、仮想OS上で
    • ミドルウェアおよびアプリケーションが動作する
  • 【スコープとするシステム構成】
    • 仮想OS(LinuxまたはWindows)
    • ミドルウェア
  • 【スコープとする作業工程】
    • 上記スコープとするシステム構成の
      • 構築
      • パッチ適用
      • 単体試験
(赤枠内が本稿のスコープ)

基盤環境構築、単体試験の自動化

 パッチマネジメントを正しく運用するには試験環境でのパッチ適用試験が必須です。パッチ適用試験環境をタイムリーに短時間で構築するには、基盤環境の構築および単体試験の自動化が欠かせません。

 ここではCI/CD(Continuous Integration/Continuous Delivery)ツールを組み合わせた基盤環境の自動化ソリューションを検討します。

基本になるのは構成管理ツール「Ansible」

 「Ansible」(アンシブル)は、Red Hatが開発するオープンソースソフトウェア(OSS)の構成管理ツールです。あらかじめ用意した設定ファイルに従ってOSやミドルウェアをインストール、設定し、サーバを自動的に構築したり、設定を変更したりできるので、作業時間の短縮や作業ミスの削減に有用です。

 Ansibleのシステム構成は管理サーバとターゲットとなる操作対象マシンからなり、管理サーバから操作対象マシンに対して、ネットワークを介してPush型で操作を指示します。

 Ansibleには次のような特長があります。

・エージェントレス

 Ansibleに先行していた構成管理ツールに「Chef」「Puppet」がありましたが、これらとAnsibleの大きな違いはエージェントレスです。エージェント型の構成管理ツールでは事前にOSにエージェントを配布する必要がありますが、エージェントレス型ならば、そのような前段の作業が不要になります。

 管理サーバから操作対象マシンへの操作指示はネットワークを介し、特別なプロトコルを使いません。操作対象マシンがLinuxならSSH(Secure Shell)、WindowsならWinRM(Windowsリモート管理)で接続します。

・簡易性

 Ansibleは設定情報を定義した「Playbook」という指示書を操作対象マシンに送ることで構成を管理します。PlaybookはYAML形式で表現され、最小限の構文を持っていますが、プログラミング言語やスクリプトではないので、プログラム作成技術は特に必要ありません。

・技術ノウハウ

 AnsibleはOSSコミュニティーの活動が活発です。さまざまな機器を操作するPlaybookのひな型が豊富にあり、誰でもコミュニティーで培われたベストプラクティスを利用できます。日本語化された技術文書も多くあるので、初心者の勉強を大いに助けます。

単体試験を行う「Serverspec」

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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