0

Существует стек AWS OpsWorks с двумя слоями. Первый уровень создает задачи и сохраняет их в очереди SQS, второй уровень выполняет эти задачи.AWS OpsWorks экземпляры нагрузки по показателям (например, автосканирование EC2)

Мне нужно создать экземпляры на основе нагрузки во втором слое, но я вижу только метрики cpu/ram/load_avg, это означает, что мне нужно сохранить хотя бы один экземпляр второго уровня в режиме «всегда включен», чтобы загрузить больше когда это необходимо.

Есть ли способ создать экземпляры по метрикам (длина очереди SQS), как в режиме автосканирования EC2?

Я понимаю, что я могу установить оба уровня в первый экземпляр, а первый уровень будет работать вторым, но мне нужно отделить процесс создания очереди и выполнения задач.

ответ

1

Отсутствует интеграция с частью автомасштабирования API AWS Opsworks. Для вашей конкретной ситуации вы можете использовать алгоритм, чтобы определить, является ли экземпляр первым компьютером, а затем запустить команды для отключения определенных служб в рецепте.

deploy/after_restart.rb/recipe name 

layer = "worker" ## change to whatever you need 
leader = node['opsworks']['layers'][layer]['instances'].keys.sort.first 
hostname = node['opsworks']['instance']['hostname'] 

if leader == hostname 
    ... 
    command to run and turn off the worker service 
    ... 
end 
Смежные вопросы