WSL上のUbuntuを使ったAnsibleの導入方法

こんにちは。株式会社SHIFT、自動化エンジニアの水谷です。
今日は、「Ansible」についてご紹介いたします。


主にサーバの構成管理に広く使われているツールに「Ansible」があります。何百台、何千台のサーバを同時にアップデートすることも可能であるなど、とても強力なツールですが、このツールは基本的にLinuxベースのOS上で動作するため、Windowsユーザーにとってはやや手を出しにくい(ハードルが高い)存在でもあります。

そこで、Windows 10に含まれるWindows上でLinuxを動作させる機能である、WSL(Windows Subsystem for Linux)とWSL用のUbuntuを使って、AnsibleをWindows 10 PCに導入する方法を説明します。

これにより、Windows PC上にAnsibleの実行環境が得られるだけでなく、(別途操作対象PCを用意することなく)そのWindows PCを操作対象PCとして、手軽にAnsibleに触れてみることができるようになります。

WSLの有効化

Ubuntuをインストールする前にWSLを有効にする必要があります。このためには、コントロールパネルの「プログラムと機能」にある「Windowsの機能」を開き、「Windows Subsystem for Linux」にチェックを入れ、「OK」ボタンを押します。これで、Ubuntuをインストールすることが可能になります。

図1

Ubuntu 16.04(for WSL)のインストール

WSL用のUbuntuのインストールは、「Microsoft Store」アプリから行うことができます。Microsoft Storeアプリを起動し、「Ubuntu」で検索を行えば、Ubuntuの18.04LTSや20.04LTSが見つかりますので、お好みのものをインストールしてください。

図2

また、手動でインストールするには、Powershellから以下のコマンドでインストールが可能です。Microsoft Storeからのインストールが禁止されている環境などでは、こちらでインストールしてください。なお、これは16.04をインストールする例です。

Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 -OutFile Ubuntu.appx -UseBasicParsing
Add-AppxPackage .\Ubuntu.appx

図3

以下の2コマンドを実行してOSを最新の状態にしておいてください(注:けっこう時間がかかります)。
sudo apt update
sudo apt upgrade

Ansibleのインストール

Ansibleのインストールは、以下のコマンドを実行することで行えます。
sudo apt-get update
sudo apt-get install software-properties-common
sudo apt-add-repository ppa:ansible/ansible
sudo apt-get update
sudo apt-get install ansible
インストールが終わった後、以下のコマンドでバージョン情報が表示されれば完了です。
ansible --version

また、AnsibleでWindows PCの構成管理を行う場合は、次の2つのコマンドを実行しておいてください。
curl -sL https://bootstrap.pypa.io/get-pip.py | python
pip install pywinrm
これでAnsibleのインストールは完了です。

Windows PC側の設定

AnsibleでLinux系OSの構成管理を行う場合は、その対象となるPCには何もインストールする必要はありませんが、Windows PCやWindows Serverの構成管理を行う場合は、WinRMを有効にする必要があります。これを行うには、Windows PC上のPowershellコンソールで、以下の2行を実行します。

> Invoke-WebRequest -Uri https://raw.githubusercontent.com/ansible/ansible/devel/examples/scripts/ConfigureRemotingForAnsible.ps1 -OutFile ConfigureRemotingForAnsible.ps1
> powershell -ExecutionPolicy RemoteSigned .\ConfigureRemotingForAnsible.ps1

以上でAnsibleでWindows PCを操作する準備が整いました。
AnsibleでWindows PCを動作させるPlaybookの作成方法については別途書きたいと思います。

――――――――――――――――――――――――――――――――――

執筆者プロフィール:水谷 裕一
大手外資系IT企業で15年間テストエンジニアとして、多数のプロジェクトでテストの自動化作業を経験。その後画像処理系ベンチャーを経てSHIFTに入社。
SHIFTでは、テストの自動化案件を2件こなした後、株式会社リアルグローブ・オートメーティッド(RGA)にPMとして出向中。RGAでは主にAnsibleに関する案件をプレーイングマネジャーとして担当している。

お問合せはお気軽に

SHIFTについて(コーポレートサイト)
https://www.shiftinc.jp/

SHIFTのサービスについて(サービスサイト)
https://service.shiftinc.jp/

SHIFTの導入事例
https://service.shiftinc.jp/case/

お役立ち資料はこちら
https://service.shiftinc.jp/resources/

SHIFTの採用情報はこちら
https://recruit.shiftinc.jp/career/