во-первых, Я использую их как базовое руководство: http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ami-create-standard.html http://reduktor.net/2014/09/autoscale-ec2-instances-ad-aws/
Во-вторых, наш регион не поддерживает службу каталогов AWS
Сценарий
Я хочу создать «базовый AMI» для набора имеющихся у нас серверов приложений. Мне может потребоваться развернуть 1 или несколько новых серверов на основе этого образа.
Экземпляры изначально созданы на основе базового AMI EC2 Windows Server 2008 R2 Datacenter (создано Amazon)
Сами приложения статичны, лицензирование полностью распространяется, и конфигурацию не нужно менять на одной машине по сравнению с другой.
ЕДИНСТВЕННОЕ, что отличается от одного компьютера к другому, - это имя хоста и конфигурация сети. Конфигурация сети обрабатывается EC2, поэтому имя хоста - единственное, что нужно изменить с одного экземпляра на другой
Машины являются частью Active Directory, и к ним применяются определенные правила групповой политики OU. Все они присоединятся к одному OU.
Цель:
Моя цель - иметь базовый AMI. Когда этот AMI запускается, он автоматически присоединяется к домену ИЛИ уже присоединяется к домену.
Приложения, запускаемые с компьютера, ТРЕБУЮТ доменных учетных записей для запуска служб Windows. Поэтому у меня не может быть изображения, не присоединенного к домену.
У меня была идея (завтра проверим):
Я новичок в AWS, но вместо любого другого ответа я бы попробовал это.
server-image
в рабочей группе images
или что-то очевидное.Выключите этот компьютер и создайте на нем AMI.
Затем создайте экземпляры из этого AMI. Вы можете выбрать зарезервированный экземпляр, который дешевле, или, если ваша рабочая нагрузка такова, что серверы могут с радостью приходить и уходить, вы можете изучить спотовые экземпляры.
(это то немногое, что я расплывчато про окна) При создании нового экземпляра из AMI можно делать "вещи" автоматически. Мы используем команду CLI, выполняемую на экземпляре «контроллера» Linux, который всегда включен. Например:
./instance-new.py -a "ami-abc123xyz" -c "servers" -n "server-42" -t "t3.16xlarge"
Я не могу поделиться здесь нашей настроенной версией, но оригинал взят из 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
Должен быть какой-то способ Windows / AD для присоединения к домену из скрипта.
Этот скрипт также настраивает мониторинг и другие вещи.
Отдельно, если вы используете автоматическое удаление, вам понадобится запустить какой-то сценарий, чтобы выйти из AD и очистить старую учетную запись перед удалением экземпляра.
Когда ваши серверы устарели или есть критические исправления для Windows, загрузите золотой образ и примените все обновления / обновления. Затем остановите его и создайте новый AMI. Направьте свой сценарий создания на новый AMI, и как только вы будете довольны его работой, удалите старый AMI, чтобы сэкономить на хранении. Есть веская причина сохранить хотя бы один предыдущий золотой образ AMI в качестве заведомо хорошей резервной копии - мы сохраняем два.
Как правило, для машины Windows, присоединенной к домену, вы не должны клонировать ее как есть. Вы должны удалить его из домена и использовать sysprep. Затем вы можете использовать его как шаблон / базовый AMI. Каждый новый клон будет присоединен к домену с использованием нового идентификатора безопасности, имени и IP-адреса, создавая новую учетную запись компьютера в AD.