从本地mac上执行ansible命令到部署在AWS上的Windows Server

我想在本地的Mac上执行Ansible命令,用于与部署在AWS上的Windows Server进行通信。

环境

ローカル(mac)

python -> 3.6.4
ansible -> 2.7.10

リモート(Windows Server 2019)

本地准备

首先,使用pip安装ansible和pywinrm。

pip install ansible
pip install pywinrm

另外,准备用于连接的hosts文件。我创建了一个ansible目录,然后在其中创建了hosts文件。

[windows]
AWSのパブリックDNS名

[windows:vars]
ansible_user=管理者ユーザ
ansible_password=管理者ユーザのパスワード
ansible_port=5986
ansible_connection=winrm
ansible_winrm_server_cert_validation=ignore

远程工作的准备

由于提供了一个用于配置Windows环境的Ansible脚本,故需下载。

Invoke-WebRequest -Uri https://raw.githubusercontent.com/ansible/ansible/devel/examples/scripts/ConfigureRemotingForAnsible.ps1 -OutFile ConfigureRemotingForAnsible.ps1

所以,执行已经下载的脚本。由于我的网络是公共网络,我进行了如下操作。

powershell -ExecutionPolicy RemoteSigned .\ConfigureRemotingForAnsible.ps1 -SkipNetworkProfileCheck

AWS的准备

在安全组中,允许入站规则来允许端口5986。

确认操作

ansible windows -i ansible/hosts -m win_ping -vvvv

ANS的公共DNS名称 | 成功 => {
“已更改”: false,
“ping”: “pong”
}

只要有回报,就可以类似这样。

bannerAds