从本地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”
}
只要有回报,就可以类似这样。