Архив рубрики: Virtualization

In computing, virtualization refers to the act of creating a virtual version of something, including virtual computer hardware platforms, storage devices, and computer network resources.

Debian: автоматические обновления с помощью unattended-upgrades и отправка почты через AWS SES

23 мая 2019
 

 Пакет unattended-upgrades выполняет автоматическую установку обновлений на Debian/Ubuntu. Представляет собой Python-скрипт (1500 строк), расположенный в /usr/bin/unattended-upgrade (при этом /usr/bin/unattended-upgrades является симлинком на /usr/bin/unattended-upgrade). Аналог для CentsOS/RHEL — yum-cron. Устанавливаем: Основной файл настроек — /etc/apt/apt.conf.d/50unattended-upgrades, в нём настраиваются тип обновлений, отправка почты и прочее. Настройки самих обновлений выполняются в файле /etc/apt/apt.conf.d/20auto-upgrades, который можно создать вручную, или… Читать далее »

Sentry: запуск self-hosted версии системы мониторинга ошибок на AWS EC2

18 мая 2019
 

 Для проекта мы пользовались Cloud-based версией Sentry, но в один прекрасный день исчерпали лимит на отправку сообщений, и бекенд-команда, по сути, осталась без мониторинга. Давно собирались запустить Sentry на своём сервере, появился повод. В посте описывается запуск Sentry с Docker Compose, настройка почты и пример перехвата ошибок в Python. Используем репозиторий Sentry. Запускаем AWS EC2,… Читать далее »

AWS: VPC peering DNS resolution и настройки DNS для OpenVPN AS

17 мая 2019
 

 Имеется VPC с OpenVPN. Эта VPC через VPC Peering объединена с другими VPC в нашем AWS-аккаунте. Проблема в том, что для разрешения DNS имён на приватные, а не публичные IP, сейчас используется dnsmasq на хосте с VPN-сервером, для которого создан файл /etc/dnsmasq.hosts, в котором вручную приходится вносить приватные IP для доменов. Подробнее см. в посте… Читать далее »

AWS: MariaDB RDS — kill: You are not owner of thread

14 мая 2019
 

 Имеется AWS RDS с MariaDB. Ошибка и решение не специфичны ни для AWS RDS, ни для MariaDB. При попытке убить процесс — RDS сообщает, что: Решение — использовать процедуру mysql.rds_kill(): Вызываем её: Для Azure MySQL имеется аналогичная процедура mysql.az_kill(). Готово.

Bitwarden: менеджер паролей организации — установка self-hosted версии на AWS EC2

1 мая 2019
 

 Мы рассматриваем Bitwarden как менеджер паролей для проекта, основная цель которого — разделение доступа к различным секретам по ролям и/или ACL. Т.е. Pass и/или KeePass — это хорошо для одного пользователя, но у них нет главного — нормального веб-интерфейса, и разделения доступа к секретам для пользователей, а всякие 1Password/LastPass не имеют возможности установки на свой… Читать далее »

Authy: настройка Multi-Factor Authentication для Github и AWS

17 апреля 2019
 

  Уверен, что необходмость использования MFA — Multi-Factor Authentication сегодня очевидна для всех. Для 2FA (2-Factor Authentication) наиболее используемым является TOTP — Time-based One-time Password, когда наряду с паролем для авторизации требуется ввести временный код, генерируемый устройством или утилитой. Самым известным является Google Authenticator, но кроме него существует множество других реализаций. Искал на днях решение… Читать далее »

Jenkins: проверка публичных репозиториев Github-организации

16 апреля 2019
 

 Продолжаем внедрение проверки списка публичных репозиториев организации. Напомню: идея состоит в том, что бы если кто-то из девелоперов случайно расшарит приватный репозиторий, или создаст новый репозиторий не приватным, а публичным — получить об этом уведомление в Slack. Написание самой утилиты на Go есть в посте Go: проверка списка публичных репозиториев в Github и уведомления в… Читать далее »

Redis: Sentinel — bind 0.0.0.0, проблема с localhost и announce-ip

10 апреля 2019
 

 Изначально в файлах настроек Sentinel я использовал bind 0.0.0.0, что бы инстансы были доступны по внешним IP. Из-за этого при развёртывании системы на реальном окружении возникла проблема при определении мастер-хоста и других инстансов Sentinel. В этом посте — пример такой проблемы и их решение. На самом деле проблем было больше, но получилось воспроизвести только одну,… Читать далее »

What is: chroot — системный вызов и утилита в Linux

23 марта 2019
 

 chroot() был добавлен в Version 7 Unix в 1979 году и используется для изоляции файловой системы. По сути, является предшественником вообще всей идеи нынешней контейнеризации, только в современных системах используются namespaces и cgroups, а раньше применяли chroot для создания изолированного от хоста рабочего окружения, которое могло использоваться для тестирования. Собственно, ch и root и является… Читать далее »

NextCloud: установка сервера на Debian с NGINX и PHP-FPM, и клиента на Arch Linux

17 марта 2019
 

 После новости о том, что Dropbox вводит ограничение на 3 устройства — я таки созрел для установки NextCloud. Огорчил не сам лимит — у меня три устройства и используются, плюс оно повлияет только на новых пользователей (старые будут ограничены их текущим количеством устройств, а вот за дополнительные — придётся платить), сколько вообще введение подобных ограничений.… Читать далее »