Архив метки: AWS CloudFormation

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

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:… Читать далее »

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

22 мая 2018
 

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

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

17 мая 2018
 

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