Архив за год: 2018

Python: Duplicate Encoder — решение задачки с Codewars

5 марта 2018
 

 Задача Ссылка на задачу Оригинал: The goal of this exercise is to convert a string to a new string where each character in the new string is ‘(‘ if that character appears only once in the original string, or ‘)’ if that character appears more than once in the original string. Ignore capitalization when determining… Читать далее »

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

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

27 февраля 2018
 

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

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

19 февраля 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, и пробрасывать трафик через удалённый сервер… Читать далее »

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

Exim: Mailing to remote domains not supported

4 февраля 2018
 

 UPD Уже после того, как решил проблему и набросал черновик поста — нашёл это же решение в своём же блоге тут>>>, но этот пост получился более полный. Проблема При отправке письма с нового EC2 в AWS — письмо не доставляется, а в логе появляется собщение «Mailing to remote domains not supported«. Отправляем письмо: [simterm] root@ip-10-0-1-155:/home/admin#… Читать далее »

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

3 февраля 2018
 

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

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

2 февраля 2018
 

 Т.к. в Windows Server 2012 нет привычных утилит, таких как curl и telnet — используем PowerShell. Краткая заметка себе на будущее. a-la curl Проверить ответ сервиса можно с помощью модуля Invoke-WebRequest: [simterm] PS D:\Tableau\Tableau Server\10.4\bin> invoke-webrequest http://google.com StatusCode : 200 StatusDescription : OK Content : <!doctype html><html itemscope=»» itemtype=»http://schema.org/WebPage» lang=»en»><head><meta content=»Search the world’s information, including… Читать далее »

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

1 февраля 2018
 

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

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

31 января 2018
 

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