#Ansible をつかって#Hyper-V で #Infrastructure as Codeを実現! / 企業でよくある#Windows , #M365 環境を構築してみるシリーズ Part4
AnsibleとHyper-VでInfrastructure as Codeを実現する この記事の内容 Hyper-V上でAnsibleを使ったInfrastructure as Code(IaC)の実現方法を解説します WindowsホストでAnsibleを動かすためにWSL(Windows Subsystem for Linux)を活用します YAMLファイルに仮想マシンの設定を記述するだけで、コマンド一発で自動展開できる仕組みを構築します Ansibleのべき等性により、同じプレイブックを複数回実行しても安全に運用できます 本シリーズのPart1〜3で作成したゴールデンイメージと組み合わせることで、完全自動のVM展開環境が完成します はじめに 本記事は「企業でよくあるWindows・M365環境を構築してみるシリーズ」のPart4です。前回までのPart1〜3では、ネステッドHyper-Vの基盤構築、Windows Server 2022のSysprep済みゴールデンイメージ作成、そして自動応答ファイルによるゼロタッチ展開の仕組みを整えました。 今回はその仕組みをさらに発展させ、Infrastructure as Code(IaC) を実現します。テキストファイルにVMの名前やIPアドレスなどの設定を書いておくだけで、コマンド一発で全自動的に環境が出来上がるという仕組みです。 自動化ツールには Ansible を使用します。Hyper-VでIaCを実現するための情報はインターネット上に非常に少なく、本記事の情報は希少性が高いものとなっています。 前提条件 本記事の手順を実施するにあたって、以下が完了していることを前提とします。 ネステッドHyper-Vの基盤構築済み Windows Server 2022のSysprep実行済みゴールデンイメージ作成済み 自動応答ファイルによるゼロタッチ展開の設定済み WSLのインストール AnsibleはWindows上では直接実行できないため、WSL(Windows Subsystem for Linux) を使用します。WSLを使うことで、Windows上でLinuxのコマンドが使えるようになります。 管理者権限でPowerShellを起動し、まずインストール可能なディストリビューション一覧を確認します。 wsl --list --online Ubuntuをインストールします。 wsl --install -d Ubuntu インストール後、再起動を求められますので再起動します。再起動後にログインすると、インストールが自動的に再開されます。UNIXユーザー名とパスワードを設定すれば完了です。 WSL(Ubuntu)環境のセットアップ WSLのUbuntu環境を最新の状態にします。 sudo apt update sudo apt upgrade -y 続いてAnsibleをインストールします。 sudo apt install ansible -y 次に、AnsibleからWindowsホストを管理するために必要な pywinrm もインストールします。 pip install pywinrm 最後にAnsible本体をインストールします。インストールが完了するとバージョン(例:2.9.6)が表示されます。 ...