Архив рубрики: AWS CloudFormation

AWS CloudFormation provides a common language for you to describe and provision all the infrastructure resources in your cloud environment. CloudFormation allows you to use a simple text file to model and provision, in an automated and secure manner, all the resources needed for your applications across all regions and accounts. This file serves as the single source of truth for your cloud environment.

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

25 августа 2018
 

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

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

1 августа 2018
 

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

AWS: CloudFormation — UPDATE_ROLLBACK_FAILED

27 июня 2018
 

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

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

22 июня 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… Читать далее »

AWS: CloudFormation — VPC peering и Fn::ImportValue

13 июня 2018
 

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

Ansible: модуль cloudformation

25 мая 2018
 

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

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

17 мая 2018
 

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

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

10 мая 2018
 

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

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

7 марта 2018
 

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

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

1 февраля 2018
 

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