4.3. 私有部署
如果在 Microsoft Azure 上部署 Ansible Automation Platform 时选择了私有访问权限,则向 Microsoft Azure 应用的 Red Hat Ansible Automation Platform 发出的 DNS 记录指向部署受管集群时选择的 CIDR 块中的私有地址。您必须在创建网络 peering 后配置对此地址的访问。
选择连接到 Microsoft Azure 上的 Ansible Automation Platform 的配置和访问方法取决于您的组织如何管理 Azure 基础架构。您的 Azure 管理员必须决定您所在机构的正确模型,并为您配置设置。
以下是最常见的选项:
4.3.1. Azure 托管的虚拟机 复制链接链接已复制到粘贴板!
为少数用户访问 Azure 网络上的私有网络资源(DMZ VNet)配置访问权限是,用户可以从公共互联网远程登录到公共互联网上创建一个跳过虚拟机。jumpbox 虚拟机需要 GUI 和浏览器等 workstation 功能。
用户可以通过 VNC、RDP 或其他屏幕共享协议从内部机器远程登录公开访问的虚拟机。
要在 Azure 专用网络上访问 Ansible Automation Platform Web UI,用户可使用 jumpbox 虚拟机上的浏览器导航到 URL。
DMZ VNet 通过网络 peering 连接到其他 Azure VNets,并创建了路由规则,将网络流量发送到 Ansible Automation Platform VNet。
下图显示了通过 Azure 虚拟机配置私有网络访问示例的拓扑。
- 有关 perimeter(DMZ)网络的更多信息,请参阅 Microsoft Azure Cloud Adoption Framework 文档中的 Perimenter Networks 部分。
- 有关 jumpboxs 的更多信息,请参阅 Microsoft Azure Cloud Adoption Framework 文档中的关于 Azure 堡垒主机和 jumpboxes。
4.3.2. VPN 复制链接链接已复制到粘贴板!
如果您的组织要求许多用户通过专用连接访问 Ansible Automation Platform,或者如果您的组织已使用 VPN 或与 Azure 直接连接,则这个方法可能适合。
在这种配置中,您的内部基础架构通过网络应用程序网关连接到 Azure,并且具有可启用对本地网络上任何连接计算机的访问权限的路由规则。连接到虚拟网络网关的 VNet 通过网络 peering 连接到其他 Azure VNets,并创建了路由规则,将网络流量发送到 Ansible Automation Platform VNet。
使用这个配置,用户可以通过应用程序 URL 访问 Ansible Automation Platform,就像使用公共访问方法一样。
4.3.3. SSH 隧道 复制链接链接已复制到粘贴板!
当 VPN 不是一个选项且您的本地用户更为技术时,SSH 隧道方法是一个安全的替代方案,允许用户从本地机器上浏览器访问 Ansible Automation Platform。
要实现此访问模型,请在 DMZ 网络中创建一个基于 Linux 的轻量级 SSH 服务器,类似于 Azure 托管的虚拟机方法。SSH 服务器不需要任何工作站功能,因为它只是作为 Microsoft Azure 上用户本地机器和 Ansible Automation Platform 之间的代理。
每一用户必须在服务器中配置为 SSH 用户。然后,用户可以从本地机器建立 SSH 隧道到 SSH 服务器,以路由 Microsoft Azure 上的 Ansible Automation Platform 的流量。
这种方法更易于在 Linux 和 macOS 主机中实施,但可以在 Windows 上完成。
更新本地主机文件,以便 Ansible Automation Platform URL 将流量路由到您的本地机器,而不是 DNS 记录配置的专用 IP。在您的主机文件中添加以下行:
127.0.0.1 controller.<your_AAPonAzure_instance>.az.ansiblecloud.com以下示例显示了主机文件中的行:
## # Host Database # # localhost is used to configure the loopback interface # when the system is booting. Do not change this entry. # 127.0.0.1 localhost 255.255.255.255 broadcasthost ::1 localhost 127.0.0.1 controller.<your_AAPonAzure_instance>.az.ansiblecloud.com以具有 root 特权的用户身份,运行
ssh命令建立 SSH 隧道。在以下示例中,
SSH_server_IP代表 DMZ 中的 SSH 服务器的 IP 地址。sudo ssh azureuser@<SSH_server_IP> -i ~/.ssh/id_ssh_key -N -f -L 443:controller.<your_AAPonAzure_instance>.az.ansiblecloud.com:443-L标志使自动化控制器 URL 的本地系统路由流量通过端口 443(HTTPs)进行。注意您必须在路由路径两端使用端口 443。在本地机器上使用不同的端口会导致一些 Ansible Automation Platform 功能无法正常工作。
当建立 SSH 隧道并配置了 Azure 路由时,您可以从本地浏览器中通过 https://controller.<your_AAPonAzure_instance>.az.ansiblecloud.com 访问自动化控制器 URL。