質問: ### 前提・実現したいこと Windows Serverサーバのソフトウェアインストールを簡単にしたく、私の環境に向いている構成管理手法、セットアップ手法を教えていただきたいです ### 発生している問題・エラーメッセージ 業務の一部作業にてWindows Serverのセットアップを行っております。 そのセットアップの手順書はあるのですが、15章にも及び、手順誤りによってはOSの再インストールからやり直さなければならないものがあります。 作業の確実化、均一化、高速化のため、構成管理ツールで自動セットアップができないか、そのためのモダンな手法がないか、その一般的な手段を教えていただきたいのです。 ### 検討していること * Ansible 近年Windowsにも対応したとのことで、利用できればと考えています。ただ、手元で少し試したところ、GUIの操作に向いていない?Windowsの設定が思うように変更できないのではと思っています。 * Windowsコンテナ サーバソフトウェアをWindowsコンテナであらかじめ準備しておけば、それをデプロイするだけで即座にセットアップができるのではと考えています。 * GUI自動化ソフトウェア 常に同じ結果が得られるか疑問。失敗を検知できるのか疑問 ### 補足情報(言語/FW/ツール等のバージョンなど) Windows Server2008(近いうちに2016への更新が予定されています) ### サーバにインストールするソフト・手順等 * Microsoft SQL Server * Office2016 * 独自のインストーラ(InstallSheildのような汎用インストーラではなく、.NETアプリケーションにて行う手順) * アンチウィルスソフト(全完了後にアンインストール) * 自社製ソフトウェア * 各種ネットワーク設定 * Windows設定(言語、ロケール、タイムゾーン、アップデート設定など) * Windows Update 以上、宜しくお願い致します。
回答: > > Ansible > > > 実体はWindows Remote Managementなので、これで実現できないものは構成管理の範囲外とするしかないです。 MS製品(ここで言うと、Office、MS SQL)であれば、コマンドによるインストールが可能だと思うので実現可能かと思いますが、「独自のインストーラ」、「自社製ソフトウェア」はコマンドインストールが可能な構成になっていないと実現不可と思います。 他、各種ネットワーク設定、Windows設定、Windows Updateはansibleでも実現可能だと思います。 GUIでの設定は難しく、CUIベースでの作業になるでしょう。 > > Windowsコンテナ > > > これは、Windows Server 2016 からの機能ではなかったでしょうか? 実績なしなので、詳しくは申し上げられませんが、MS SQLはホスト名との紐づけもあるので、テンプレートデプロイは出来ないと思います。 他、OSのユニークパラメータと紐づけしているソフトウェアについてはデプロイ不可だと思います。 また、ネットワーク設定は別途、個々に行う必要ありです。 > > GUI自動化ソフトウェア > > > これ知らなかったのでサラッと調べてみました。 結構便利なものありそうですね。 > > 常に同じ結果が得られるか疑問。失敗を検知できるのか疑問 > > > これは、ご自身の環境にマッチするか検証するしかないでしょう。 ただ、調べてみた感じであれば、「GUI操作」という点も満たすことも考えると一番有効な手段かもしれません。 プラットフォームが仮想化機構(Hyper-V、VMWareなど)であれば、ある程度の設定を行ったマシンをテンプレートとして作成し、デプロイとすれば構築が用意になります。 ご質問者様環境であれば・・・ ・Microsoft SQL Server → ホスト名との紐づけがあるので、テンプレートデプロイ後にインストール/設定 ホスト名との紐づけを解消できる手順が用意されているのであれば、インストールもテンプレートに含むでも可 ・Office2016 → ボリュームライセンス版であればテンプレートに含むでも可 OEM製品だった場合は不可。そもそも仮想化も不可。 ・独自のインストーラ(InstallSheildのような汎用インストーラではなく、.NETアプリケーションにて行う手順) → OSのユニークパラメータと紐づけされるようなソフトウェアであればテンプレートに含むのは不可。 ・アンチウィルスソフト(全完了後にアンインストール) → ライセンスの関係上、OSのユニークパラメータと紐づけされているものがほとんど。 ただ、どこのベンダでもそれを解消するようなツールが含まれているものがほとんどなので、該当ツールが含まれているソフトウェアであれば、テンプレートに含むでも可。 ・自社製ソフトウェア → OSのユニークパラメータと紐づけされるようなソフトウェアであればテンプレートに含むのは不可。 ・各種ネットワーク設定 → これは、どうしてもユニークなパラメータにする必要があり、デプロイ後に個々設定をする必要あり。 ・Windows設定(言語、ロケール、タイムゾーン、アップデート設定など) → テンプレートに含むで可。 ・Windows Update → 最新版のWindows Updateを行ったOSをテンプレート可する。