AWS: RDS – Connection refused и StorageFull

2 March 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? Проверяем статус: И в логах: Бекап сейчас выполнить тоже нельзя: Увеличим… Read More »

What is: Load Balancing – алгоритмы

27 February 2018
 

 Основной задачей балансировщика является определение того, какой из серверов из бекенд-пула может наиболее эффективно обработать входящий пакет данных. Для этого у балансировщика (Load Balancer, LB) имеется несколько алгоритмов, наличие и возможность применения которых зависит от типа LB и его настроек. Основное различие алгоритмов – это уровень их применения: 7-ой, Application (уровень приложения), 4-ый, Транспортный уровень… Read More »

SSH: пример туннеля для радио

19 February 2018
 

 Пример использования SSH туннеля для обхода офисного фаервола, что бы послушать радио. Во время работы нравится слушать https://hirschmilch.de, но есть проблема: их радио-сервер работает на порту 7000, доступ к которому из офиса закрыт. Содержимое playlist-файла: NumberOfEntries=1 File1=http://hirschmilch.de:7000/prog-house.mp3 Title1=Hirschmilch prog-house Length1=-1 Version=2 Решение: поднимем SSH-туннель, который локально будет слушать порт 7000, и пробрасывать трафик через удалённый сервер… Read More »

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

10 February 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

Exim: Mailing to remote domains not supported

4 February 2018
 

 UPD Уже после того, как решил проблему и набросал черновик поста – нашёл это же решение в своём же блоге тут>>>, но этот пост получился более полный. Проблема При отправке письма с нового EC2 в AWS – письмо не доставляется, а в логе появляется собщение “Mailing to remote domains not supported“. Отправляем письмо: Проверяем лог:… Read More »

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

3 February 2018
 

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

PowerShell: проверка сервисов – аналоги curl и telnet

2 February 2018
 

 Т.к. в Windows Server 2012 нет привычных утилит, таких как curl и telnet – используем PowerShell. Краткая заметка себе на будущее. a-la curl Проверить ответ сервиса можно с помощью модуля Invoke-WebRequest: StatusCode : 200 a-la telnet А что бы проверить принимает ли сервис подключения на порт – используем TcpClient Class: Connected : True Готово.

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

1 February 2018
 

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

Ansible: подключение в приватную сеть через Bastion хост

31 January 2018
 

 Примеры подключения Ansible через Bastion хост (или jump-host) в публичной сети к EC2 в приватной сети. По теме – SSH: подключение в приватную сеть через Bastion и немного про Multiplexing (только тут для .ssh/config используем ProxyJump вместо ProxyCommand, доступна в OpenSSH 7.3 и выше). Для примера используем Bastion хост в публичной сети и DB хост в приватной… Read More »

Ansible: миграция RTFM 2.8 – logrotate, unattended-upgrades и Let’s Encrypt для Bastion хоста

29 January 2018
 

 Прыдущая часть – AWS: миграция RTFM 2.7 – CloudFormation и Ansible – наcтройка NAT (там же ссылки на предыдущие посты). В этой части продолжим настройку Bastion хоста. Задача – добавить: роль logrotate: ротация логов NGINX (в дальнейшем логи будут сбрасываться через CloudWatch Logs агента) роль unattended-upgrades: автоапдейты системы роль Let’s Encrypt: получение и обновление сертификатов для сайтов роль… Read More »