Linux/Windowsのパッチ適用自動化のポイント――基盤環境構築、単体試験の自動化で使える4つのOSSとは:こっそり始めるパッチマネジメント自動化入門(2)
パッチ適用の時間を短縮する「自動化」について解説する連載。今回は、Linux/Windowsのパッチ適用の自動化と、OSSを使う基盤環境構築、単体試験の自動化について解説します。
パッチ適用の時間を短縮する「自動化」について解説する本連載「こっそり始めるパッチマネジメント自動化入門」。前回はパッチマネジメントの重要性について説明しました。今回はパッチ適用を円滑にするための自動化についてお話しします。
自動化のスコープ
本稿のスコープ(範囲)は次の通りです。
- 【前提】
- 物理サーバにあるハイパーバイザーの上に
- 仮想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」
関連記事
- Log4j問題は大したことなかった? 脆弱性対応はスプリント&マラソン? SBOMで解決?――piyokango氏に聞いた
いまの時代に即した脆弱性管理/対策の在り方を探る特集「Log4j 2、クラウド設定ミスだけじゃない―1P情シスのための脆弱性管理/対策の現実解」。初回は、インシデント情報をまとめて記録する「piyolog」を運営するpiyokango氏に、昨今のインシデントを基に、いまそこにある問題点や「企業がどう対策すべきか」について聞いた。 - 「Windows Autopatch」はMicrosoftに“丸投げ”できる更新管理の新たなカタチ
Microsoftは2022年7月から、Windows 10/11 EnterpriseのE3/E5ライセンスを持つ企業や組織に向けて、WindowsやMicrosoft 365 Apps、Microsoft Edgeなどの更新を管理する新サービス「Windows Autopatch」の一般提供を開始します。 - 「仮想パッチ」は通常のパッチと何が異なるのか
仮想パッチは脆弱性パッチの一種だが、脆弱性のあるソフトウェアへ直接パッチを当てるのではなく、ネットワークレベルで脆弱性に対応する。Compritech.comによれば、ネットワークやシステムの管理者は業務の一環として仮想パッチに取り組むべきだという。
Copyright © ITmedia, Inc. All Rights Reserved.