Ansibleは、タスクを自動化するためのオープンソースツールです。LinuxおよびWindowsサーバーの構成を管理します。プロキシなしで機能します。つまり、AnsibleはSSHと現在のユーザーのSSH認証を使用します。
Ansibleを使用して、次の3種類のタスクを自動化できます。
構成:インフラストラクチャーに必要なサーバーをいくつかセットアップします。
構成管理:アプリケーション、オペレーティングシステムまたはデバイスの構成の変更、サービスの開始と停止、アプリケーションのインストールまたは更新、セキュリティポリシーの実装、その他のさまざまな構成タスクの実行。
アプリケーションのデプロイメント:内部で開発されたアプリケーションの本番システムへのデプロイメントを自動化することにより、DevOpsはより簡単になります。
この記事では、CentOS 7でのAnsibleのインストールとインストールプロセス、およびWindowsサーバーで実行されているコンピューターの管理構成について説明します。
前提条件
sudoユーザー。
CentOS 7サーバーインスタンス。
インストールする
EPELリポジトリを追加します。
sudo yum install epel-release
パッケージを更新します。
sudo yum -y update
パッケージが更新されたら、yumを使用してAnsibleをインストールします。
sudo yum -y install ansible
Windowsサーバーを管理するには、次のパッケージをインストールする必要があります。
-
python-pip
-
ピップ
-
pywinrm
Pythonパッケージをインストールします。
sudo yum -y install python-pip pip
WinRM(Windowsリモート管理)をインストールします。
pip install pywinrm
次のコマンドを使用してバージョンを取得することにより、Ansibleインストールをテストします。
ansible --version
ansible 2.5.5
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.5 (default, Apr 11 2018, 07:36:10) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]
Windowsサーバー管理用にAnsibleを構成する
Ansibleディレクトリに移動します。
cd /etc/ansible
お好みのテキストエディタを使用して、hostsファイルを編集します。
nano hosts
Windowsグループの下部に次のコード行を追加します。
[windows]
server1.domain.local
server1.domain.local
WindowsサーバーのアクセスIDを含む暗号化されたボールトを作成する必要があります。このために、新しい暗号化されたymlファイルを作成します。ファイル名は、それが適用されるホストグループと一致する必要があります。この例では、作成されたグループはwindowsと呼ばれるため、ファイルはwindows.ymlになります。
mkdir group_vars
cd group_vars
ansible-vault create windows.yml
ymlファイルに、次のパラメーターを追加します。
ansible_ssh_user: _your_ssh_user_
ansible_ssh_pass: _your_ssh_pass_
ansible_ssh_port: 5986
ansible_connection: winrm
ansible_winrm_server_cert_validation: ignore
Windowsサーバーの構成
PowerShellスクリプトを使用して、コンピューターを自動的に構成できます。スクリプトは自動的にWinRM(Windowsリモート管理)を構成し、ファイアウォールを開きます。
GithubからPowerShellスクリプトをダウンロードします。
PowerShellスクリプトの実行ルールを変更して、スクリプトの実行を許可します。
Set-ExecutionPolicy RemoteSigned
スクリプトを実行します。
.\ConfigureRemotingForAnsible.ps1
これで、WindowsサーバーをAnsibleでリモート管理できます。