S3 — Монтирование в Linux

Для того, чтобы примонтировать S3 Bucket как файловую системой, необходимо установить s3fs Создадим директорию для монтирования:   И добавим следующее в "/etc/fstab":   Где: "artem-service-bucket:/upload/" — имя S3 корзины и директория, внутри корзины, которую нужно монтировать "url=https://s3.eu-central-1.amazonaws.com,endpoint=eu-central-1" — регион, в котором расположена S3 корзина "iam_role" — указываем, что будем использовать IAM Role для аутентификации   … Продолжить читать "S3 — Монтирование в Linux"

Terraform — AWS Secrets Manager: Извлечь логин/пароль RDS

Необходимо извлечь логин и пароль от RDS, которые хранятся в AWS Secret Manager и использовать их значения в Terraform коде. Для этого можно воспользоваться следующей конструкцией:   И использовать переменные:

Terraform — AWS SSM: Извлечь содержимое

В SSM Parameter Store содержится JSON следующего вида:   Необходимо извлечь логин и пароль, и использовать их значения в Terraform коде. Для этого можно воспользоваться следующей конструкцией:   И использовать переменные:

AWS — S3: Разрешить публичный доступ к объектам через VPN

Цель: Разрешить публичный доступ на чтение для всех объектов в S3 корзине только используя VPN подключение, для подключения с мира объекты должны быть не публичными. В качестве сервиса VPN используется OpenVPN, который может быть развернут где угодно, поэтому разрешающие правило будем строить на проверки IP адреса.   Для начала нужно узнать список сетей, которые относятся … Продолжить читать "AWS — S3: Разрешить публичный доступ к объектам через VPN"

Python — AWS EBS создание снапшотов на основе тега и хранение только одной последней версии

Данный скрипт ищет EBS в регионе "eu-west-1" с тегом, ключ которого "Application" и значение передается как аргумент, создает снапшот данного EBS. Так же по тому же принципу он ищет снапшот по тегу, и удаляет все, кроме последнего. Пример запуска для создания снапшота:   Пример запуска для удаления старых снапшотов:   main.py:    

Python — AWS S3 хранить N последних артефактов

Данный скрипт получает список всех директорий в корзине и удаляет все объекты в каждой директории, кроме последних "N" указанных. Для запуска скрипта нужно передать два аргумента: Имя корзины Количество последних хранимых объектов Пример запуска:   main.py:

EKS — Зашифровать текущий PV (EBS Volume)

За основу был взят ответ на gitmemory Для того, чтобы зашифровать уже созданный EBS Volume, нужно сделать из него снапшот. Затем из созданного снапшота создать диск в том же регионе, что и оригинальный, так же указать KMS ключ для шифрования. Затем сохраняем манифест текущего PV в файл:   Редактируем файл, заменив ID оригинального диска на … Продолжить читать "EKS — Зашифровать текущий PV (EBS Volume)"

Lambda — Для остановки EC2 инстансов, RDS инстансов и сдувания ASG во всех регионах

Данный Python скрипт получает список всех регионов, находит в них EC2 инстансы, RDS инстансы и ASG, и если на ресурсе нет тега "prevent_stop" равного значению "true", то останавливает данный ресурс, а в случае с ASG сжимает его до 0. main.py:   Список нужных разрешений для запуска (помимо "AWSLambdaExecute" политики): ec2:DescribeRegions ec2:DescribeInstances ec2:StopInstances rds:ListTagsForResource rds:DescribeDBInstances rds:StopDBInstance … Продолжить читать "Lambda — Для остановки EC2 инстансов, RDS инстансов и сдувания ASG во всех регионах"