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

9 июля 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» Что бы исправить это — добавляем… Читать далее »

Jenkins: It appears that your reverse proxy set up is broken / Есть подозрение, что настройки вашего обратного прокси некорректны.

6 июля 2018
 

 Перед Jenkins запущен NGINX + SSL. После запуска — Jenkins сообщает, что «Есть подозрение, что настройки вашего обратного прокси некорректны.«: Описание ошибки есть на Jenkins Wiki. Настройки виртуалхоста сейчас выглядят так: upstream jenkins { server 127.0.0.1:8080; } … server { listen 443 ssl; server_name ci.domain.world; … location / { proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP… Читать далее »

Jenkins: Simple Theme Plugin — настройка внешнего вида UI

5 июля 2018
 

 Jenkins — прекрасная система, но вот внешний вид — просто «привет из 90-х». К счастью — Jenkins поддерживает самую различную кастомизацию, в т.ч. — возможность настройки своего интерфейса. Для этого можно установить плагин Simple Theme Plugin: Далее — в Configure System > Theme либо настроить вид самому, либо использовать готовый набор, например — jenkins-material-theme. Выбираем цветовую схему, например… Читать далее »

AWS: RDS — сбросить пароль администратора

4 июля 2018
 

 Имеется инстанс, развёрнутый из снапшота, пароль утерян. Что бы сменить пароль — выбираем инстанс, выбираем Modify: И в Settings — задаём новый пароль: Выбираем Apply immediately: Внимательно читаем предупреждение, что в таком случае будут применены все текущие изменения, который ждут maintatnce window. Например — мажорный/минорные апдейты версии, что может инициировать рестарт инстанса: Potential unexpected downtime… Читать далее »

Jenkins: Credentials Binding Plugin и использование нескольких Secret file в Jenkins pipeline

3 июля 2018
 

 Задача — запустить ansible-playbook, которому необходимо передать RSA ключ для EC2 и файл с паролем для ansible-vault, т.к. в задачах плейбука используются зашифрованные переменные. Для этого используем Jenkins credentials, где сохраним два файла, а потом через Credentials Binding Plugin — передадим их в контейнер с задачей. Secret file в Credentials Сначала добавляем файлы в Jenkins. Переходим… Читать далее »

Ansible: jenkins_plugin Connection refused и Cannot get CSRF

30 июня 2018
 

 Для Ansible имеется плагин, позволяющий выполнить установку плагинов для Jenkins jenkins_plugin_module. Достаточно интересный модуль, ниже пример его использования и решение ошибки «Connection refused«. При попытке установить плагин с его помощью: … — name: Start Jenkins service   service:     name=jenkins     state=restarted     enabled=yes — name: Install Jenkins plugins jenkins_plugin: name: «{{ item }}» url_username: «{{ jenkins_ui_admin_user }}» url_password: «{{ jenkins_ui_admin_pass }}» state: present… Читать далее »

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

28 июня 2018
 

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

AWS: CloudFormation — UPDATE_ROLLBACK_FAILED

27 июня 2018
 

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

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

25 июня 2018
 

 Пример использования Terraform, его основные команды, работа с бекенда и модулями. Достаточно кратко, но со ссылками на документацию. Устанавливаем на Arch Linux: [simterm] $ sudo pacman -S terraform [/simterm] Для авторизации используем созданный AWS профиль setevoy-root. main.tf Создаём файл main.tf, в котором указываем использование AWS provider, регион, и имя AWS профиля: provider «aws» { region… Читать далее »

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

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