Tag Archives: CloudFormation

AWS: CloudFormation – создание EFS + Ansible роль

1 August 2018
 

 Задача – добавить ресурсы AWS Elastic File System в существующий CloudFormation стек. В CloudFormation для этого имеется ресурс AWS::EFS::FileSystem, который и используем. Шаблон для CloudFormation уже создан, и в примерах ниже будут отсылки к его ресурсам. Опции EFS Перед тем, как создавать EFS – немного рассмотрим доступные опции. EFS имеет два основных доступных параметра – Performance… Read More »

AWS: CloudFormation – UPDATE_ROLLBACK_FAILED

27 June 2018
 

 Ситуация: был стек, в котором создавался VPC peering (ресурс AWS::EC2::VPCPeeringConnection) с VPC в другом стеке. Потом первый стек был удалён, но во втором стеке осталась ссылка на этот пиринг. В результате во время апгрейда второго стека – он фейлится, и не может выполнить rollback-операцию: Решение нагугливается легко по запросу “UPDATE_ROLLBACK_FAILED fix“, см тут>>>, в первом… Read More »

AWS: CloudFormation – route table rtb-6ea6bd06 and network gateway pcx-48eaed21 belong to different networks

22 June 2018
 

 При создании нового стека с использованием VPC peering – CloudFormation сообщает об ошибке: route table rtb-6ea6bd06 and network gateway pcx-48eaed21 belong to different networks (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterValue; Request ID: d8c60294-5ea7-4407-9886-6459c16762b8) Причина не совсем очевидна, потому запишу её себе на будущее. Проверяем таблицу rtb-6ea6bd0: Обращаем внимание на сеть: subnet-8d0d41e5 | monitoring-production-public-net 10.0.1.0/28… Read More »

AWS: CloudFormation – VPC peering и Fn::ImportValue

13 June 2018
 

 В продолжение/дополнение постов Prometheus: AWS EC2 service discovery и AWS: настройка VPC peering – пример настройки VPC peering в шаблонах стеков CloudFormation. Идея следующая: создадим стек monitor – он будет имитировать стек мониторинга создадим стек application – он будет имитировать стек приложения application должен будет запросить пиринг с VPC из стека monitor, что бы Prometheus в стеке monitor смог… Read More »

Ansible: модуль cloudformation

25 May 2018
 

 Для Ansible существует интересный модуль cloudformation, который позволяет создавать и удалять AWS CloudFormation стеки. Его может быть полезно использовать, что бы удобно передавать различные параметрыдля стеков, например Dev и Production, через переменные самого Ansible. Для примера возьмём шаблон ec2_simple_stack.json. Подготовка проекта Создадим новые проект: Создаём плейбук, всего одна роль – cloudformation: – hosts: – all become:… Read More »

Ansible: теги, include_vars и приоритеты переменных

22 May 2018
 

 В процессе написания плейбука для создания стека с модулем cloudformation (про него позже) появился пример использования тегов для ограничения выполнения задач из различных ролей, и хороший пример важности учёта приоритетов при использовании переменных. Ansible теги К примеру, есть такой плейбук: – hosts: – all become: true gather_facts: false roles: – role: cloudformation tags: infra -… Read More »

AWS: GDPR и RDS – миграция на encrypted RDS

17 May 2018
 

 Наверняка уже все слышали про General Data Protection Regulation (GDPR),  который вступит в силу 25-го мая 2018 года. Если нет, то в двух словах – это набор правил, которым должны соответствовать компании, которые собирают и хранят данные, в которых содержится информация о жителях Евросоюза (впрочем – США готовятся принять аналогичный документ). В первую очередь эти правила… Read More »

AWS: создание стека в AWS – bash-скрипт и CloudFormation шаблон

10 May 2018
 

 Задача – развернуть мониторинг Prometehus + Grafana в AWS (в противоположность Azure на предыдущем проекте…). Весь стек будет состоять из одного EC2, на котором будет NGINX + Prometheus + Grafana. Из экспортёров на хосте мониторинга будут node_exporter и blackbox_exporter, скорее всего ещё mysql_exporter – собирать метрики с MariaDB бекенда нашего приложения, и какие-то ещё. Но это… Read More »

AWS: CloudFormation – пример создания S3 корзины, IAM пользователя, Glacier Lifecycle и SNS Notification

7 March 2018
 

 Ещё один пример работы с CloudFormation. Задача – добавить создание AWS S3 корзины, со следующими параметрами: AccessControl: полный доступ владельцу (документация тут>>>) и IAM пользователю LifecycleConfiguration: архивировать данные в AWS Glacier по истечении заданного кол-ва дней (документация тут>>>) Tags: само собой NotificationConfiguration: отправлять сообщения через AWS SNS при удалении объектов из корзины (документация тут>>>) VersioningConfiguration: вкусно, но… Read More »

BASH: скрипт создания AWS CloudFormation стека

1 February 2018
 

 На одном из проектов создавался CloudFormation шаблон для RDS (см. пример тут>>>). Что бы упростить создание и обновление стека разработчиками – набросал небольшой скрипт. Скрипт выполняет: валидацию файла шаблона проверит требуется ли создать, или обновить стек запросит подтверждение перед созданием выполнит create-stack или update-stack Чать параметров используется из файла шаблона или переменных скрипта, дефолтные, часть… Read More »