Ansbile+AWS专用主机配置



我正试图使用Ansible剧本在专用子网上提供2个ec2实例。我的基础设施包括:

  • 公用子网上的堡垒主机
  • 2个私有子网上的2个EC2实例
  • 用于传出连接的NAT门
  • 应用程序负载平衡器

我的问题是如何从localhost运行Ansible剧本来影响私有实例。我可以SSH转发剧本吗?还是剧本必须驻留在堡垒主机中,然后使用私有IP作为主机?

创建ssh配置文件~/.ssh/config,然后将以下行添加到配置文件

host bastion
HostName bastion_ip
User bastion_user
identityFile ~/.ssh/mykey.pem
host private_instance
HostName  10.0.0.11
user  private_ec2_user
ProxyCommand ssh bastion -W %h:%p
identityFile ~/.ssh/mykey.pem

我的问题是如何从localhost到影响私有实例。

现在您已经配置了ssh config文件,键入所需的全部内容

ssh private_instance

这将创建到您的私有实例的SSH隧道,您不需要每次都键入复杂或冗长的命令。

Ansible允许使用SSH配置选项,当尝试将命令从堡垒转发到私有子网主机时,ProxyCommand可以进行救援。以下是的示例

ssh -o ProxyCommand="ssh ubuntu@52.50.10.5 'nc 192.168.0.20 22'" ubuntu@nothing

例如,上面的命令将首先通过SSH连接到52.50.10.5,然后在端口22上打开一个到192.168.0.20的套接字。套接字连接(连接到远程SSH服务器(然后传递给原始SSH客户端命令调用以使用。

来源:https://spin.atomicobject.com/2016/05/16/ansible-aws-ec2-vpc/

相关内容

  • 没有找到相关文章

最新更新