Архив рубрики: Configuration/Orchestration

Вопросы, касающиеся установки, настройки и работы CMS (Configuration Manament System – система управления конфигурациями) Puppet, Ansible и Chef

Ansible: шифрование и копирование PEM-ключа

5 февраля 2019
 

 Задача – во время выполнения роли скопировать на удалённый хост PEM-ключ. Для этого используем ansible-vault. Идея состоит в том, что мы зашифруем содержимое ключа в переменную, а затем используем модуль copy – и создадим на удалённой системе новый файл. Создание сертификата Сначала создадим сам сертификат и приватный ключ с помощью openssl: [simterm] $ openssl req… Читать далее »

AWS: CloudFormation – S3 корзина для логов Application Load Balancer

27 ноября 2018
 

 Имеется уже созданный стек с Application Load Balancer, для которого требуется включить сбор логов в S3 корзину. Общая документация – тут>>>. CloudFormation стек и ресурсы уже созданы, поэтому тут просто пример добавления необходимых параметров и новых ресурсов для включения логгирования запросов балансировщика. Запуск CloudFormation выполняется из Ansible с помощью модуля cloudformation, и значения параметров будут заданы… Читать далее »

AWS: CloudFormation Drift – обнаружение изменений

14 ноября 2018
 

 Вчера в блоге AWS появилась преинтереснейшая новость: AWS CloudFormation обзавёлся поддержкой изменений в стеке, выполеннных вручную. Очень частовстречающая проблема при использовании CloudFormation заключается в том, что он не обращает внимание на внесённые изменения, которые не были добавлены в шаблон. В результате – это иногда приводило к проблемам при апдейте стека. Теперь появилась возможность перед апдейтом… Читать далее »

AWS: EC2 – ошибка “cannot open access to console”, инстансы T2 vs R5 и Ansible

19 октября 2018
 

 Имеется EC2 типа t2.large, которому через CloudFormation был изменён тип на r5.xlarge. К инстансу подключен дополнительный EBS-раздел, который монтируется в /data. Ирония ситуации ещё и в том, что “упал” сервер мониторинга, который должен сообщать о падениях всех остальных серверов 🙂 Проблема После смены типа – он запускается, но зависает на старте. Проверяем скриншот – правой… Читать далее »

Ansible: with_fileglob – копирование нескольких шаблонов из директории

10 сентября 2018
 

 Необходимо скопировать пачку файлов – задач для supervisord. В Ansible используем with_fileblob: … – name: “Copy supervisor tasks” template: src: “{{ item }}” dest: “/etc/supervisor/conf.d/{{ item | basename | regex_replace(‘.j2’,”) }}” owner: “root” group: “root” mode: 0644 with_fileglob: – templates/*.j2 … С помощью фильтра basename – получаем имя файла из {{ item }}, а с… Читать далее »

AWS: CloudFormation – ‘templateBody’ failed to satisfy constraint: Member must have length less than or equal to 51200

6 сентября 2018
 

 Имеется CloudFormation стек. Сначала создавался Dev-стек, к которому понемногу добавлялись новые ресурсы, всё это тестилось, и в конце-концов заработало. После этого – пришла пора выкатывать Production-стек, и вдруг… ‘templateBody’ failed to satisfy constraint: Member must have length less than or equal to 51200. Щито? 🙁 Проверяем лимиты CloudFormation: Template body size in a request Maximum… Читать далее »

AWS: CloudFormation – создание S3 Website hosting и CloudFront distribution

5 сентября 2018
 

 Пример создания хостинга статического сайта в AWS S3 и подключении к нему AWS CloudFront CDN, к которому подключается SSL сертификат из AWS ACM. Для сайта используем домен site.azinchenko.com. Получившийся шаблон доступен в репозитории тут>>>. AWS::S3::Bucket Начнём с создания корзины, используем ресурс AWS::S3::Bucket: { “AWSTemplateFormatVersion”: “2010-09-09”, “Description”: “AWS CloudFormation S3 website hosting with CloudFront CND stack”,… Читать далее »

AWS: Application Load Balancer – HTTP => HTTPS и host-header редиректы

30 августа 2018
 

 Имеется Application Load Balancer, за которым находятся три хоста: два фронтенда, и один master. Задачи следующие: добавить редиректы HTTP => HTTPS добавить редиректы доменов dev.admin.dme.example.com на master-хост, а остальных – на frontend-хосты добавить редиректы www <=> non-www Редирект HTTP на HTTPS Тут столкнулся с очередным “подарком” от AWS CloudFormation: After checking our internal information, the newly… Читать далее »

AWS: миграция RTFM 3.0 (final) – CloudFormation и Ansible роли

25 августа 2018
 

 Прошёл почти год, как я начал миграцию v2, закончил на посте Ansible: миграция RTFM 2.11 – хост Services – установка PHP, PHP-FPM. Основной её идеей на тот момент было максимально использовать возможности AWS и Ansible – чисто из интереса и для практики, т.к. на предыдущем месте работы её было совсем мало (там в основном был Azure… Читать далее »

RabbitMQ: Ansible и Hostname mismatch: node believes its host is different.

8 августа 2018
 

 Имеется Ansible плейбук, где среди прочего выполняется установка и настройка RabbitMQ. При запуске задачи с использованием плагина rabbitmq_vhost возникает ошибка: [simterm] TASK [rabbitmq : Add RabbitMQ vhosts] **** fatal: [dev.mobilebackend.domain.world]: FAILED! => {“changed”: false, “cmd”: “/usr/sbin/rabbitmqctl -q -n rabbit list_vhosts name tracing”, “msg”: “Error:********@localhost’\n- home dir: /var/lib/rabbitmq\n- cookie hash: cWvPHXMU4l0V3ALUhc3MbA==”, “rc”: 69, “stderr”: “Error: unable… Читать далее »