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

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

10 мая 2018
 

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

Tableau: установка на Linux

27 марта 2018
 

 Начиная с версии 10.5 (последняя актуальная на сегодня) — Tableau Server можно запускать не только на Windows, но и на Linux, чем мы займёмся сегодня. Пост достаточно кратенький, просто пошаговая инструкция. Запускать будем в AWS, на EC2 по управлением Ubuntu 16.04. Запуск AWS EC2 Требования к интансу: CPU RAM Free Disk Space Minimum Hardware Requirements… Читать далее »

Ansible: миграция RTFM 2.11 — хост Services — установка PHP, PHP-FPM

24 марта 2018
 

 Продолжаем миграцию. Предыдущие посты: AWS: миграция RTFM 2.1 – CloudFormation для EC2 c Jenkins Ansible: миграция RTFM 2.2 – RTFM Jenkins provision AWS: миграция RTFM 2.3 – инфраструктура для RTFM и создание CloudFormation шаблона – VPC, subnets, EC2 Jenkins: миграция RTFM 2.4 – Jenkins Pipeline для CloudFormation RTFM стека AWS: миграция RTFM 2.5 – настройка… Читать далее »

DNS: установка BIND, DNS Load Balancing и network-based routing через view

21 марта 2018
 

 Ниже описывается установка DNS сервера BIND (Berkeley Internet Name Domain) на AWS EC2 в VPC + два дополнительных инстанса в разных подсетях (А и В), после чего на нём реализуем следующее: DNS round-robin Load Balancer — будет распределять трафик по очереди на каждый из двух дополнительных интансов DNS network-based routing —  тут задача интереснее: если… Читать далее »

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

7 марта 2018
 

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

AWS: пример CloudFormation EC2 UserData — установка пакета, добавление задачи в cron и обновление UserData

6 марта 2018
 

 Задача: добавить в CloudFormation шаблон установку git и cron-задачу. Быстрый пример работы с UserData в CloudFormation шаблоне. Ресурс AWS::EC2::Instance сейчас выглядит так:   … «EC2Instance» : { «Type» : «AWS::EC2::Instance», «Properties» : { «Tags» : [ {«Key» : «Name», «Value» : { «Fn::Join» : [ «-«, [ {«Ref» : «AWS::StackName»}, «ec2»] ] } }, {«Key» :… Читать далее »

AWS: RDS — Connection refused и StorageFull

2 марта 2018
 

 Имеется AWS RDS инстанс PostgreSQL, который в какой-то момент перестал принимать подключения: $ psql —host=datascience-ops.cjonwt.us-west-2.rds.amazonaws.com —username=dsops —password —dbname=dsops Password for user dsops: psql: could not connect to server: Connection refused Is the server running on host «datascience-ops.cjonwt.us-west-2.rds.amazonaws.com» and accepting TCP/IP connections on port 5432? Проверяем статус: [simterm] $ aws —profile ads-mic rds describe-db-instances —db-instance-identifier datascience-ops… Читать далее »

Ansible: миграция RTFM 2.10 — Let’s Encrypt, NGINX SSL, hostname и exim

10 февраля 2018
 

 Предыдущий пост серии — Ansible: миграция RTFM 2.9 – монтирование EBS и настройка NGINX на Bastion. Сегодня надо выполнить установку и настройку: Let’s Encrypt SSL на NGINX и виртуалхоста (пока только dev.rtfm.co.ua) hostname exim Ссылки на коммиты файлов, получившиеся в результате написания этого поста: roles/letsencrypt/tasks/main.yml rtfm-blog-ansible-bastion-provision.yml roles/nginx/templates/nginx.conf hosts roles/common/tasks/main.yml roles/exim/templates/update-exim4.conf.conf.j2 roles/exim/templates/mailname.j2 roles/exim/tasks/main.yml

Ansible: миграция RTFM 2.9 — монтирование EBS и настройка NGINX на Bastion

3 февраля 2018
 

 Предыдущий пост серии — Ansible: миграция RTFM 2.8 – logrotate, unattended-upgrades и Let’s Encrypt для Bastion хоста. Сейчас Bastion запущен и настроен, сегодня надо выполнить настройку NGINX. Как и прежние посты этой серии — это скорее заметки для себя по выполненным обновлениям плюс примеры настроек и действий. План таков: обновить роль common и добавить монтирование диска… Читать далее »

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

1 февраля 2018
 

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