AWS EC2 – 已join域的克隆Windows Server计算机

首先 ,我使用这些作为基础指南: http : //docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ami-create-standard.html http://reduktor.net/2014/09/autoscale- EC2-实例-AD-AWS /

其次 ,我们的地区不支持AWS目录服务

脚本

我期待为我们拥有的一套应用程序服务器创build一个“基本AMI”。 我可能需要部署一个或多个基于此映像的新服务器。

这些实例最初是从EC2 Windows Server 2008 R2 Datacenter base AMI(由Amazon创build)创build的,

应用程序本身是静态的,授权是完全可再分发的,并且configuration不需要在一台机器上改变。

唯一不同于一台机器的是主机名和networkingconfiguration。 networkingconfiguration是由EC2处理的, 所以主机名实际上是唯一需要从一次实例改变到另一次实例的事情

这些机器是Active Directory的一部分,并且具有应用于机器的特定OU组策略规则。 他们都将join同一个OU。

目标:

我的目标是有一个基地的AMI。 当这个AMI启动时,它自动join域OR已经join到域中。

从计算机REQUIRE域帐户运行的应用程序运行Windows服务。 所以我不能有没有join到域的图像。

我有一个想法(明天会testing):

  • 创build一个默认/通用主机名“server-xy”,join域并创build我的AMI。 closures源虚拟机,然后从AMI进行部署。 一旦启动,将其重命名为最终的主机名“server-02”。 然后从AMI部署另一个,重新命名,冲洗并重复 – 声音可行? 编辑:这不起作用,因为重命名它在域级别使原始主机名无效。 好像我想做什么可能是不可行的。

我是AWS的noob,但代替任何其他答案,这是我想尝试。

  1. 使用适度的实例大小将您的实例设置为黄金映像。
  2. 在工作组images给它一个server-image的主机名或者明显的东西。
  3. 安装你需要的所有应用程序,修补它,安装任何你喜欢的工具(treesize,VNC,记事本++,winVI,wingrep等),并创build任何驱动器共享。 特别是不要joinAD域。
  4. closures此机器并从中创build一个AMI。

  5. 然后从该AMI创build实例。 您可以查看一个更便宜的保留实例,或者如果您的工作负载是这样的,服务器可以愉快地来来去去,您可能想要探索现货实例。

  6. 这是我在窗口前面模糊的位 )从AMI创build新实例时,可以自动执行“stuff”。 我们使用一个运行在linux“控制器”实例上的CLI命令。 例如:

./instance-new.py -a "ami-abc123xyz" -c "servers" -n "server-42" -t "t3.16xlarge"

  • -a是您想要从中获取的AMI名称
  • -c是帐单类别
  • -n是新机器的主机名
  • -t是实例大小
  • 有更多的命令行选项堆。

我不能在这里分享我们的定制版本,但原始来自http://docs.aws.amazon.com/cli/latest/reference/opsworks/create-instance.html

我们有这样的Linux机器的额外的节,得到盐,然后从盐主更新:

userdata = """#!/bin/bash /usr/bin/yum install -y https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm /usr/bin/yum install -y salt-minion hostnamectl set-hostname %s hostname > /etc/salt/minion_id systemctl start salt-minion sleep 5 /bin/salt-call state.highstate /bin/salt-call state.highstate /usr/bin/yum update -y """ % args.hostname

从脚本中join域名必须要有一些windows / AD的方法。

这个脚本还设置了监视和其他的东西。


另外,如果您使用自动拆卸,那么在删除实例之前,您将需要某种脚本来运行离开AD并清理旧帐户。

当你的服务器变得有点旧了,或者有关键的Windows补丁程序,然后启动你的黄金形象,并应用所有的更新/升级。 然后停下来,创build一个新的AMI。 将您的创build脚本指向新的AMI,一旦您感到满意,请删除旧的AMI以节省存储成本。 有一个很好的理由保持至less一个以前的金色形象AMI浮动作为一个已知的好备份 – 我们保持两个。