主厨 Windows AWS VPC

Chef Windows AWS VPC

我们在 AWS 上配置了整个基础设施,其中包括在 Public 个子网中配置的用于 Web 前端、AD、DC、ADFS 代理等的一堆 windows 服务器和少量数据库服务器配置为专用子网。私有子网可以通过 NAT 服务器访问 Internet。参考架构与此非常相似:

http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario2.html#Configuration-2

现在最好approach/strategy在所有这些 windows 机器上安装 Chef 客户端并在托管 Chef 上管理这些服务器?

我了解 "WinRC" 可用于 Public 子网上的所有服务器,以与 Chef 托管服务器通信。但是对于私有子网上的服务器来说,自动部署和维护 Chef 客户端的最佳策略是什么?

All communication between a Chef client and a Chef server, hosted or private, is a pull by the client from the server via ports 80 and 443。客户端使用出站流量每隔几分钟轮询一次;您可以更改轮询间隔。

在默认的 AWS NAT 子网中,有一个 出站 规则允许所有端口的所有流量流向 Internet 上的任何目的地,例如 0.0.0.0/0。如果您已将其锁定,则可以打开端口 80 和 443。

Chef Documents - Firewalls and Ports...

The following sections describe the ports that are required by the Chef server in a standalone configuration: ...

80, 443, ... nginx

The nginx service is used to manage traffic to the Chef server, including virtual hosts for internal and external API request/response routing, external add-on request routing, and routing between front- and back-end components.

One other thing——如果您在该子网中引导节点,例如,从干净的 AWS AMI 中执行 "bare metal" 构建,通常的方法是通过 knife 命令,即 not 运行 来自 Chef 服务器。它是 运行 由具有对新节点的入站访问权限的工作站的 sysop 手动完成的。要在自动缩放等场景中实现自动化,方法是使用您自己的自定义 AWS AMI,在节点启动时将 Chef 客户端安装到节点上。