Tag Archives: AWS

Grafana: добавление CloudWatch data-sorce

18 July 2018
 

 Для получения метрик из AWS CloudWatch для связки Grafana/Prometheus можно использовать два подхода: собирать метрики в Prometheus с помощью cloudwatch_exporter добавить новый data-source в Grafana, и рисовать графики используя его Ниже описывается процесс добавления data-source в Grafana и графиков AWS Load Balancer. IAM пользователь Добавляем IAM пользователя с Programmatic access: В Permissions выбираем Attach existing policies… Read More »

NGINX: реальный IP в логах при работе за AWS Load Balancer

9 July 2018
 

 Есть NGINX, который работает за AWS Application Load Balancer-ом (ALB). Проблема заключается в том, что в логах NGINX пишется IP самого ALB, а не клиента: 10.0.2.26 – – [06/Jul/2018:10:30:50 +0300] “GET /debug/ HTTP/1.1” 404 133 “-” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36” Что бы исправить это – добавляем… Read More »

Terraform: создание проекта с EC2, VPC и AWS cross-region VPC peering

28 June 2018
 

 Одной из неприятных неожиданностей в использовании CloudFormation оказался факт того, что он не умеет создавать VPC peering между VPC в разных регионах. Т.е., сама возможность создания cross-region peering была анонсирована>>> AWS в ноябре 2017, но по состоянию на июнь 2018 – AWS CloudFormation просто не имеет опции region. В результате он пытается выполнить пиринг между… Read More »

AWS: CloudFormation – UPDATE_ROLLBACK_FAILED

27 June 2018
 

 Ситуация: был стек, в котором создавался VPC peering (ресурс AWS::EC2::VPCPeeringConnection) с VPC в другом стеке. Потом первый стек был удалён, но во втором стеке осталась ссылка на этот пиринг. В результате во время апгрейда второго стека – он фейлится, и не может выполнить rollback-операцию: Решение нагугливается легко по запросу “UPDATE_ROLLBACK_FAILED fix“, см тут>>>, в первом… Read More »

Terraform: пример работы – основные команды, state-файлы, бекенды, модули

25 June 2018
 

 Пример использования Terraform, его основные команды, работа с бекенда и модулями. Достаточно кратко, но со ссылками на документацию. Устанавливаем на Arch Linux: Для авторизации используем созданный AWS профиль setevoy-root. main.tf Создаём файл main.tf, в котором указываем использование AWS provider, регион, и имя AWS профиля: provider “aws” { region = “${var.aws-region}” profile = “setevoy-root” } Тут… Read More »

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 »

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 »