我们将在AWS / EC2 VPC上部署我们的应用程序基础架构(主要是Windows和一些Linux组件)。 我们将使用厨师来处理供应和pipe理。
但是,与Linux机器不同的是,Windows机器没有内置的SSH,并且被迫使用其他的身份validation方法来获得pipe理员权限。
自动授予我们的Chef服务器访问Windows的最佳方式是什么? 我发现的一些方法:
如果您准备好进行脚本编写,收集/提供Windows凭据的最佳方法是使用AWS API( http://docs.aws.amazon.com/AWSSDKforPHP/latest/index.html#m=AmazonEC2/get_password_data )将信息“转发”给您的同事,以创build任何新创build的Windows实例。
否则,可以通过作为使用pipe理服务的AWS IAM服务将一些读取权限委托给您的同事,以允许您希望通过客户aws凭证访问某些实例/组/function的人员。 有关IAM概念的一些有用信息: http : //docs.aws.amazon.com/IAM/latest/UserGuide/IAM_Concepts.html#ConceptsAWSEntities
推荐和本地的方式来控制Windows节点与厨师是使用WinRM例如
knife bootstrap windows winrm ...
这个问题有一些细节: 刀引导窗口winrm / ssh超时
准备Windows节点的tl; dr详细信息: https : //github.com/opscode/knife-windows#nodes
总结:对于Linux节点,使用ssh; 对于Windows节点,使用WinRM