Category Archives: Amazon web service

AWS – Amazon Web Services: облачные VPS и другие облачные услуги от Amazon

AWS: CloudFormation – route table rtb-6ea6bd06 and network gateway pcx-48eaed21 belong to different networks

22 June 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… Read More »

Prometheus: CloudWatch exporter – сбор метрик из AWS и графики в Grafana

21 June 2018
 

 Используем prometheus/cloudwatch_exporter. Клиент написан, внезапно, на Java, из минусов – не умеет экпортировать теги AWS в метки Prometheus (есть альтернативный клиент – technofy/cloudwatch_exporter, который вроде бы умеет). IAM пользователь Для IAM пользователя, доступы которого будет использовать експортёр требуются роли cloudwatch:ListMetrics и cloudwatch:GetMetricStatistics (надо проверить – сработает ли роль CloudWatchAgentServerPolicy, подключенная к EC2, что бы не использовать Access/Secret… Read More »

AWS: CloudFormation – VPC peering и Fn::ImportValue

13 June 2018
 

 В продолжение/дополнение постов Prometheus: AWS EC2 service discovery и AWS: настройка VPC peering – пример настройки VPC peering в шаблонах стеков CloudFormation. Идея следующая: создадим стек monitor – он будет имитировать стек мониторинга создадим стек application – он будет имитировать стек приложения application должен будет запросить пиринг с VPC из стека monitor, что бы Prometheus в стеке monitor смог… Read More »

AWS: настройка VPC peering

12 June 2018
 

 VPC peering – соединение между двумя VPC, позволяющее ресурсам в этих сетях обмениваться трафиком, используя приватные IP адреса из подсетей тих VPC, как если бы они были в пределах одной сети. VPC peering может быть установлен между вашими сетями, или между сетями из другого AWS аккаунта. Кроме того – можно создать подключение между VPC в… Read More »

Prometheus: AWS EC2 service discovery

11 June 2018
 

 Для чего нам нужен EC2 service discovery? В первую очередь – что бы избежать необходимости открывать порт на Application Load Balancer и гонять трафик “через мир”. Т.е. вместо того, что бы в конфиге Prometheus указывать статичный URL и URI, типа mainhost.domain.tld/metrics, который был бы направлен на AWS ALB, у которого было бы правило форвардить URI /metrics… Read More »

AWS: CloudWatch unified agent – сбор метрик и логов с EC2 и Ansible роль для него

7 June 2018
 

 В дополнение к посту AWS: CloudWatch logs – сбор и мониторинг логов, где сбор логов выполнялся старым агентом – пример использования нового агента, который собирать и метрики инстанса, и логи. Для работы агента – ЕС2 требуется подключенная роль CloudWatchAgentServerPolicy, создание описано тут>>>. Пост кратенький, просто пример установки и запуска. Установка CloudWatch unified агента Устанавливаем unzip: Загружаем архив… Read More »

AWS: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution и dnsmasq

31 May 2018
 

 Ночью в AWS регионе us-east-1 в приложении вылезла ошибка: PDOException: PDO::__construct(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution Приложение запущено на EC2, который расположен в VPC, а база данных – в MariaDB RDS, в той же VPC. Судя по тексту ошибки – “Temporary failure in name resolution” – возникла проблема с получением IP от… Read More »

MariaDB: AWS RDS – Lost connection to MySQL Server During Query

29 May 2018
 

 При выполнении запроса из Tableau сервера – он завершается ошибкой: [MySQL][ODBC 5.3(w) Driver][mysqld-5.5.5-10.2.11-MariaDB]Lost connection to MySQL server during query Unable to create extract Решение – изменить параметр net_read_timeout. Переходим к RDS > Parameter groups, находим net_read_timeout: Выбираем параметр, жмём Edit parameters, задаём новое значение, например 60 секунд: Проверяем: При использовании CloudFormation – параметр можно передать… Read More »

Ansible: модуль cloudformation

25 May 2018
 

 Для Ansible существует интересный модуль cloudformation, который позволяет создавать и удалять AWS CloudFormation стеки. Его может быть полезно использовать, что бы удобно передавать различные параметрыдля стеков, например Dev и Production, через переменные самого Ansible. Для примера возьмём шаблон ec2_simple_stack.json. Подготовка проекта Создадим новые проект: Создаём плейбук, всего одна роль – cloudformation: – hosts: – all become:… Read More »

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

22 May 2018
 

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