В случае использования групп автоматического масштабирования необходимо использовать динамические запасы.
Если вы запускаете ec2s временно как часть конвейеров сборки, используйте динамические инвентаризации. например вы просто хотите проверить развертывание своего программного обеспечения и завершить работу компьютера после этого теста.
Если вы хотите отключить ANSI-игры на некоторых машинах, вы можете создавать динамические списки на основе тегов ec2. например у вас есть игра безопасности, которая запускает весь веб-сервер каждый час, но разработчик хочет что-то протестировать на своем компьютере. Таким образом, он может пометить свою машину, чтобы пропустить. Ему не нужен доступ к файлу инвентаря (и вы можете запустить другую игру один раз в полночь, чтобы снова включить безопасную игру. Так что она не будет забыта).
Кстати: вы можете использовать ec2_instance_facts
с опциями фильтра и add_host
для создания динамических инвентаризаций во время выполнения playbooks.
например. у вас есть три типа серверов "веб", "приложение", "дБ". Вы отмечаете ec2s во время запуска с типом сервера: [web | app | db]. Вы можете отфильтровать эти ec2 с помощью:
- name: collect ec2s
ec2_instance_facts:
region: "{{ region }}"
filters:
"tag:servertype": "{{ servertype_list }}"
register: ec2_list
и выборочно запускайте игру на группе серверов с внешней переменной ansible-playbook test.yml -e servertype_list=['web','app']
или ansible-playbook test.yml -e servertype_list=['db']
.
Таким образом, помечая машину, вы избегаете статического инвентаря.