У меня есть трехуровневое веб-приложение на базе Windows, объединенное в 3 AMI на Amazon EC2, которое я использую для нагрузочного тестирования.
- Веб-приложение ASP.NET на IIS
- Сервер приложений .NET
- SQL Server
После их запускафайлы конфигурации каждого уровня нуждаются в модификации для обновления IP-адресов.
В настоящее время я делаю это вручную: я подключаюсь к экземпляру веб-сервера через удаленный рабочий стол и изменяю файл конфигурации, чтобы указать новый IP-адресэкземпляр сервера приложений.Затем я делаю то же самое с сервером приложений, чтобы изменить IP-адрес в строке подключения.
Это должно быть общим требованием, и я должен упустить что-то очевидное.Должен быть лучший способ!
Я мог бы использовать Elastic IP-адреса, но эти машины предоставляются только на пару часов за раз, и я буду платить за адреса, когдаони НЕ использовались (что было бы большую часть времени).
Существует ли какой-либо способ постоянного именования машин?Могу ли я как-то получить все машины в одной сети и использовать имена машин вместо IP-адресов?
Я мог бы написать какой-нибудь изящный сценарий PowerShell, который бы выполнял изменения удаленно.Где-нибудь есть пример?
Я мог бы использовать сервис динамического IP-адреса .Я не уверен, окажет ли это какое-либо негативное влияние на производительность или доступность ... Есть ли недостатки этого подхода?
Я мог бы установить какую-то самоконфигурирующуюся службу на каждой машине (которая подключается к S3? SNS? SimpleDB?), Чтобы публиковать / получать адреса других машин и обновлять конфигурациюфайлы автоматически.Где-нибудь есть пример?
Что такое лучшая практика?