По первому пункту: к Bastion во время создания окружения подключается EBS раздел, который будет содержать конфиги виртуалхостов.
Сейчас этот раздел пустой — ещё ничего не делалось:
root@dev:/home/admin# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 8G 0 disk
└─xvda1 202:1 0 8G 0 part /
xvdb 202:16 0 8G 0 disk
/dev/xvdb — вот он.
Вообще хочется на Bastion использовать OpenBSD — люблю я *BSD ещё со времён FreeBSD 6.1, но пока закончить бы с настройкой вообще, а потом уже просто (угу…) обновить роли. Пока на всех хостах будет Debian.
Содержание
Создание раздела на /dev/xvdb
Начнём с диска.
Создаём раздел:
root@dev:/home/admin# echo ';' | sfdisk /dev/xvdb
Checking that no-one is using this disk right now ... OK
Disk /dev/xvdb: 8 GiB, 8589934592 bytes, 16777216 sectors
Наверно лучше будет сделать отдельные плейбуки для каждого из трёх хостов: в --limit будет передаваться Dev или Production, а в переменной ${ansiblePlaybookFile} — плейбук для Bastion, DB или Services.
Т.е., для выполнения на Dev Bastion — команда будет выглядеть так:
TASK [common : Mount data-volume "/dev/xvdb1" to "/data"] ****
changed: [dev.rtfm.co.ua]
...
Проверяем на хосте:
root@dev:/home/admin# ls -l /data/
total 20
drwxr-xr-x 2 root root 4096 Feb 3 14:38 data-nginx.d
drwx------ 2 root root 16384 Feb 3 13:44 lost+found
root@dev:/home/admin# ls -l /data/data-nginx.d/
total 4
-rw-r--r-- 1 root root 324 Feb 3 13:49 dev.rtfm.co.ua.conf
-rw-r--r-- 1 root root 0 Feb 3 14:38 test.file
ОК, всё работает.
Обновление Jenkins
Что бы не забыть — сразу обновим Jenkins.
Сейчас задача одна, называется rtfm-blog-dev-ansible-provision — переименуем в rtfm-blog-bastion-dev-ansible-provision.
Затем обновим ANSIBLE_HOST_LIMIT со старого значения rtfm-dev на rtfm-bastion-dev (как в обновлённом hosts), и обновим имя файла плейбука с rtfm-blog-ansible-provision.yml на rtfm-blog-ansible-bastion-provision.yml: