Архив рубрики: Amazon web services

Amazon Web Services is a subsidiary of Amazon that provides on-demand cloud computing platforms to individuals, companies and governments, on a paid subscription basis.

AWS RDS: PDOException: SQLSTATE[08004] [1040] Too many connections

26 декабря 2018
 

 В Sentry начали сыпаться ошибки вида: PDOException: SQLSTATE[08004] [1040] Too many connections in /data/projects/project/vendor/yiisoft/yii2/db/Connection.php:687 Stack trace: #0 /data/projects/project/vendor/yiisoft/yii2/db/Connection.php(687): PDO->__construct(‘mysql:host=stag…’, ‘user’, ‘pass’, NULL) Для всех инстансов RDS MariaDB максимальное кол-во подключений считается по формуле {DBInstanceClassMemory/12582880}. Т.е. в нашем случае это тип db.m4.xlarge с 16ГБ памяти, следовательно: [simterm] $ echo «(16*1024*1024*1024)/12582880» | bc 1365 [/simterm] Для указания значения лимита… Читать далее »

Linux: добавить swap-file

25 декабря 2018
 

 На AWS EC2 AMI-образ Debian 9 идёт без активного swap. При желании и необходимости — его можно легко добавить самому. Создаём файл: [simterm] root@bttrm-stage-app-1:/home/admin# fallocate -l 1G /data/swapfile [/simterm] Задаём права доступа: [simterm] root@bttrm-stage-app-1:/home/admin# chmod 600 /data/swapfile [/simterm] Выполняем mkswap: [simterm] root@bttrm-stage-app-1:/home/admin# mkswap /data/swapfile Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)… Читать далее »

DNS: dnsmasq и порядок разрешения домён из resolv.conf

11 декабря 2018
 

 Имеется AWS EC2 инстанс, на котором запущен dnsmasq. Имеется AWS RDS-инстанс, для которого разрешён публичный доступ, и у домена которого, соответственно, есть два IP — публичный, если запрашивать публичные DNS, и приватный, который отдаётся DNS самого Amazon, с DNS VPC, в котором запущены инстансы. См начало поста AWS: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution… Читать далее »

AWS: CloudFormation — S3 корзина для логов Application Load Balancer

27 ноября 2018
 

 Имеется уже созданный стек с Application Load Balancer, для которого требуется включить сбор логов в S3 корзину. Общая документация — тут>>>. CloudFormation стек и ресурсы уже созданы, поэтому тут просто пример добавления необходимых параметров и новых ресурсов для включения логгирования запросов балансировщика. Запуск CloudFormation выполняется из Ansible с помощью модуля cloudformation, и значения параметров будут заданы… Читать далее »

AWS: s3fs — Permission denied

22 ноября 2018
 

 После начала использования s3fs — выяснилась одна деталь. Файлы загружаются с помощью boto3. Но после того, как корзина смонтирована к системе — получить доступ к файлам нельзя: [simterm] $ cp /mnt/projectname-idfa/projectname\ android\ purchase\ idfa.csv /tmp/ cp: cannot open ‘/mnt/projectname-idfa/projectname android purchase idfa.csv’ for reading: Permission denied [/simterm] Проверяем права на файлы — и ой: [simterm]… Читать далее »

AWS: s3fs-fuse — монтирование S3 локальным диском на Linux && macOS

19 ноября 2018
 

 Задача — смонтировать AWS S3 корзину к локальной системе, отдельным диском. Используем s3fs. Документация — тут>>>. На Arch Linux устанавливаем из репозитория: [simterm] $ sudo pacman -S s3fs-fuse [/simterm] На macOS — через homebrew: [simterm] $ brew cask install osxfuse $ brew install s3fs [/simterm] osxfuse сообщил: ==> Caveats To install and/or use osxfuse you… Читать далее »

AWS: CloudFormation Drift — обнаружение изменений

14 ноября 2018
 

 Вчера в блоге AWS появилась преинтереснейшая новость: AWS CloudFormation обзавёлся поддержкой изменений в стеке, выполеннных вручную. Очень частовстречающая проблема при использовании CloudFormation заключается в том, что он не обращает внимание на внесённые изменения, которые не были добавлены в шаблон. В результате — это иногда приводило к проблемам при апдейте стека. Теперь появилась возможность перед апдейтом… Читать далее »

DigitalOcean: знакомство — Droplet, Floating IP, Firewall

4 ноября 2018
 

 За октябрь месяц от Амазона мне пришёл счёт в 71 USD, что уже начало несколько утомлять. Впрочем — я не слишком следил за расходами, и сумма, как для AWS, вполне оправдана. Например — у меня в S3 накопилось 370 ГБ бекапов, потому что было лень настроить S3 Lifecycle. Трафика за месяц ушло 1.5ТБ — потому… Читать далее »

AWS: EC2 — ошибка «cannot open access to console», инстансы T2 vs R5 и Ansible

19 октября 2018
 

 Имеется EC2 типа t2.large, которому через CloudFormation был изменён тип на r5.xlarge. К инстансу подключен дополнительный EBS-раздел, который монтируется в /data. Ирония ситуации ещё и в том, что «упал» сервер мониторинга, который должен сообщать о падениях всех остальных серверов 🙂 Проблема После смены типа — он запускается, но зависает на старте. Проверяем скриншот — правой… Читать далее »

Nexus: установка, запуск, деплой в репозиторий + NGINX и SSL

27 сентября 2018
 

 У Android-команды поломался «деплой» через отправку письма с вложением на Gmail (было сделано ещё до меня), и появилась необходимость быстренько «накостылить» репозиторий. Планировался он давно, но сейчас будет без всякой автоматизации — просто руками поднять, запустить, что бы они могли деплоить. Использовать будем free-версию Sonatype Nexus, запускать будем на AWS EC2, из Docker-образа, бекенд будет… Читать далее »