В настоящее время мы настраиваем стек CloudFormation на основе шаблона, созданного AWS Toolkit для Visual Studio при развертывании с использованием «шаблона балансировки нагрузки». Нам нужно создать сценарий, который несколько настраивает экземпляры EC2. В частности, мы хотим: 1. Установить два сертификата в хранилище сертификатов. 2. Настройте IIS на использование одного из сертификатов. 3. Включите TLS 1.2 в IIS.
Нам нужно установить эти сертификаты в IIS вместо балансировщика нагрузки, потому что нам нужно поддерживать аутентификацию сертификата клиента.
Мы хотели бы достичь этого без необходимости создавать пользовательский AMI, потому что мы хотим иметь возможность легко обновлять AMI по мере поступления новых версий. Мы используем следующее: ami-f6803f9f (по умолчанию используется шаблоном).
Поэтому мы хотим сделать эти настройки как часть шаблона CloudFormation. Я попытался создать простой файл (просто чтобы убедиться, что скрипт работает), используя часть шаблона «AWS :: CloudFormation :: Init». Однако, когда я запускаю стек, файл никогда не создается. Часть шаблона, которая должна создать файл, выглядит так:
"Metadata" : {
"AWS::CloudFormation::Init" : {
"config" : {
"files" : {
"C:/ClientCA.pfx" : {
"content" : { "Fn::Join" : ["", [
"test1\n",
"test2\n"
]]}
}
}
}
}
}
Поэтому у меня следующие вопросы: 1. Почему файл не создается? Это потому, что что-то не так с шаблоном, или этот AMI не поддерживает эти типы, если скрипты инициализации? 2. Мы планируем загрузить сертификаты из S3 с помощью «AWS :: CloudFormation :: Init» и установить их с помощью сценария PowerShell, который мы добавляем в UserData. Это хороший подход или нужно действовать по-другому?