Цель: Разрешить публичный доступ на чтение для всех объектов в S3 корзине только используя VPN подключение, для подключения с мира объекты должны быть не публичными. В качестве сервиса VPN используется OpenVPN, который может быть развернут где угодно, поэтому разрешающие правило будем строить на проверки IP адреса. Для начала нужно узнать список сетей, которые относятся …
Продолжить читать "AWS — S3: Разрешить публичный доступ к объектам через VPN"
Данный скрипт ищет EBS в регионе "eu-west-1" с тегом, ключ которого "Application" и значение передается как аргумент, создает снапшот данного EBS. Так же по тому же принципу он ищет снапшот по тегу, и удаляет все, кроме последнего. Пример запуска для создания снапшота: Пример запуска для удаления старых снапшотов: main.py:
Для параметризованной сборки, понадобится плагин Active Choices Переходим в настройки Jenkins'а Раздел "Управление плагинами" Переходим к вкладке "Доступные" и в поиске указываем "Active Choices" Устанавливаем его. Создаем "New Item" — "Pipeline", указываем, что это будет параметризованная сборка, и добавляем параметр "Active Choices Parameter" Указываем, что это "Groovy Script" и …
Продолжить читать "Jenkins — Active Choice: SSH — Вернуть значения удаленной команды"
Для параметризованной сборки, понадобится плагин Active Choices Переходим в настройки Jenkins'а Раздел "Управление плагинами" Переходим к вкладке "Доступные" и в поиске указываем "Active Choices" Устанавливаем его. Создаем "New Item" — "Pipeline", указываем, что это будет параметризованная сборка, и добавляем параметр "Active Choices Parameter" Указываем, что это "Groovy Script" и …
Продолжить читать "Jenkins — Active Choice: S3 — Вернуть нужное значение ключа с JSON файла"
Цель: Есть директория "/opt/application", в которую скачивается архив с приложением и распаковывается в директорию, где в качестве имени используется короткая производная от HASH коммита (8 символов). И создается символическая ссылка на данную директорию. Необходимо хранить только 3 последних версии приложения, как директорий, так и архивов, а так же не удалять директории которые называются: logs media …
Продолжить читать "Ansible — Хранить N последних директорий и артефактов"
Данный скрипт получает список всех директорий в корзине и удаляет все объекты в каждой директории, кроме последних "N" указанных. Для запуска скрипта нужно передать два аргумента: Имя корзины Количество последних хранимых объектов Пример запуска: main.py:
За основу был взят ответ на gitmemory Для того, чтобы зашифровать уже созданный EBS Volume, нужно сделать из него снапшот. Затем из созданного снапшота создать диск в том же регионе, что и оригинальный, так же указать KMS ключ для шифрования. Затем сохраняем манифест текущего PV в файл: Редактируем файл, заменив ID оригинального диска на …
Продолжить читать "EKS — Зашифровать текущий PV (EBS Volume)"
Для параметризованной сборки с выбором результата на основе SQL запроса, понадобится плагин Active Choices Переходим в настройки Jenkins'а Раздел "Управление плагинами" Переходим к вкладке "Доступные" и в поиске указываем "Active Choices" Устанавливаем его. Так же необходим плагины: Database PostgreSQL Database Создаем "New Item" — "Pipeline", указываем, что это будет параметризованная сборка, и добавляем …
Продолжить читать "Jenkins — Active Choice: PostgeSQL — Вернуть результат SELECT запроса"
Для автоматического создания "Sign-in URL" в новый добавленный аккаунт Control Tower понадобится следующее: создать на мастер аккаунте Lambda функцию (регион обязательно us-east-1 — Virginia, так будем использовать CloudTrail как триггер); создать политику разрешающую асюмить роль и приатачиваем ее к Лямбда роли; создаем CloudWatch Event Rule и в качестве таргета указываем лямбду; на мастер аккаунте создать …
Продолжить читать "AWS Organization — Автоматическое добавление Sign-in URL для новых аккаунтов"
Для того, чтобы разрешить доступ на чтение с S3 корзины для всех аккаунтов входящих в организацию, на бакет нужно повесить следующую политику: Где "stackset-lambdas" имя S3 корзины, а "o-xxxxxxxxxx" — ваш Organization ID.