Просмотр Исходного

{toc}

h1. Ссылка на облачную платформу

https://cloud.yandex.ru/services/compute

h1. Общее описание

Yandex.Cloud не позволяет развернуть ОС со своего ISO образа и не предоставляет виртуальные машины с чистым CentOS 6, поэтому биллинг потребуется развернуть на локальной ВМ и потом перенести на облако Яндекса.

h1. Установка

h2. Подготовьте образ диска с установленным биллингом

h3. Установите биллинг по статье [CarbonBilling:Установка Carbon Billing 5]

Размер виртуального диска = место в облаке - 30Гб.

Например, если на Яндексе Вы приобрели дисковое хранилище на 500Гб, размер виртуального диска биллинга должен быть 470Гб.

h3. Выполните необходимые настройки для миграции в облако
# Добавьте пользователя с домашней директорией и возможностью логина, он сразу добавится в группу wheel, чтобы работала команда sudo
{code}useradd -m -G wheel -s /bin/bash billingadmin{code}
# Задайте пароль
{code}echo "servicemode" | passwd --stdin billingadmin{code}
# В файл *.ssh/authorized_keys* директории пользователя добавьте свой [публичный ключ|https://cloud.yandex.ru/docs/compute/operations/vm-connect/ssh]
{code}mkdir -p /home/billingadmin/.ssh
touch /home/billingadmin/.ssh/authorized_keys
chmod 660 /home/billingadmin/.ssh/authorized_keys
echo "публичный ключ" > /home/billingadmin/.ssh/authorized_keys
{code}
# Настройте сетевой интерфейс для получения адреса по DHCP:
{code:title=/etc/sysconfig/network-scripts/ifcfg-eth0}
DEVICE="eth0"
BOOTPROTO="dhcp"
DHCP_HOSTNAME="cb5-yandex"
IPV6INIT="no"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
{code}
# Настройте udev, чтобы он не переназначал имя сетевого интерфейса по mac-адресу:
{code}
rm -f /etc/udev/rules.d/70*
touch /etc/udev/rules.d/75-persistent-net-generator.rules
{code}
# Настройте доступ к серийной консоли
#* Измените *timeout*, поставьте "*1*"
#* Добавьте инициализацию серийной консоли: "*serial --unit=0 --speed=115200" и "terminal --timeout=1 serial console*"
#* Закоментируйте splashimage и hiddenmenu: "*#splashimage=(hd0,0)/boot/grub/splash.xpm.gz*"и "*#hiddenmenu*"
#* К параметрам ядра после rd_NO_MD добавьте *console=tty0 console=ttyS0,115200 чтобы при старте виртуальноц машины, лог загрузки было видно в консоли
{code:title=Приблизительно так будет выглядеть /boot/grub/grub.conf}
default=0
timeout=1
serial --unit=0 --speed=115200
terminal --timeout=1 serial console
#splashimage=(hd0,0)/boot/grub/splash.xpm.gz
#hiddenmenu
title CentOS 6 (2.6.32-754.el6.x86_64)
root (hd0,0)
kernel /boot/vmlinuz-2.6.32-754.el6.x86_64 ro root=UUID=... LANG=ru_RU.UTF-8 rd_NO_LUKS rd_NO_MD console=tty0 console=ttyS0,115200 ...
initrd /boot/initramfs-2.6.32-754.el6.x86_64.img
{code}
# Образ лучше сжать, чтобы быстрей передать в облако:
{code}sudo qemu-img convert -p -O qcow2 -o cluster_size=2M /var/lib/libvirt/images/CB5.qcow2 /var/lib/libvirt/images/CB5_compressed.qcow2{code}

h2. Что нужно сделать со стороны Yandex.Cloud

h3. Зарегистрируйтесь, настройте доступ и т.д.

# Зарегистрируйтесь на платформе https://cloud.yandex.ru
# [Создайте|https://cloud.yandex.ru/docs/storage/operations/buckets/create] бакет с хранилищем файлов
# [Настройте|https://cloud.yandex.ru/docs/iam/concepts/users/service-accounts] "Сервисный аккаунт"
# [Дайте ему роль|https://cloud.yandex.ru/docs/iam/concepts/access-control/roles описание ролей] *iam.serviceAccounts.user*
# [Создайте|https://cloud.yandex.ru/docs/iam/operations/sa/create-access-key] статический ключ доступа
{code:title=Вывод в интерфейсе}
Идентификатор ключа:
dsiopaASPOIPDSiopdsaiop
Ваш секретный ключ:
Kr-PR3as809dsiaoipASOPidops_-dsSdiopsaGjzOQJUg6LcA
Сохраните идентификатор и ключ. После закрытия диалога значение ключа будет недоступно.
{code}
# Настройте ACL бакета (открыть бакет -> верхний правый угол): для Authentificated Users дайте права на чтение на запись (READ+WRITE)
# [Настройте|https://cloud.yandex.ru/docs/storage/tools/aws-cli] AWS CLI
{code:title=Вывод будет примерно следующий}
aws configure
AWS Access Key ID [None]: dsiopaASPOIPDSiopdsaiop
AWS Secret Access Key [None]: Kr-PR3as809dsiaoipASOPidops_-dsSdiopsaGjzOQJUg6LcA
Default region name [None]: ru-central1
Default output format [None]:
{code}
{info:title=Можете проверить что данные доступа сохранены корректно}
{code:title=cat ~/.aws/config}
[default]
region = ru-central1
{code}
{code:title=cat ~/.aws/credentials}
[default]
aws_access_key_id = dsiopaASPOIPDSiopdsaiop
aws_secret_access_key = Kr-PR3as809dsiaoipASOPidops_-dsSdiopsaGjzOQJUg6LcA
{code}
{info}

h3. Загрузите в облако ранее подготовленный образ и создайте из него виртуальную машину
# Загрузите образ в облако, команда будет приблизительно такой:
{code}aws --endpoint-url=https://storage.yandexcloud.net s3 cp /var/lib/libvirt/images/CB5_compressed.qcow2 s3://my_bucket/CB5_compressed.qcow2{code}
# Получите ссылку: нажмите на выбранный объект, откроется страница с параметрами, там кнопка "Получить ссылку"
# [Создайте образ|https://cloud.yandex.ru/docs/compute/operations/image-create/upload] в Compute Cloud используя ссылку с прошлого шага
# [Создайте виртуальную машину|https://cloud.yandex.ru/docs/compute/quickstart/quick-create-linux], используя созданный образ
#* Нажмите "Добавить диск" - там нужно выбрать ранее добавленный образ и указать что диск загрузочный
{info:title=Для основного диска лучше выберите SSD!}Создавая диск, лучше сразу решить что использовать в основе - более дешевый, но медленный HDD, или быстрый и более дорогой SSD.
Для системного диска лучше выбрать SSD, или по крайней мере добавить ещё один диск SSD и перенести на него базу.{info}
#* В настройках сети автоматический выделенный IP-адрес можно будет сделать статическим.
#* Включите доступ к серийной консоли, на всякий случай
{note:title=А потом отключите!}Убедившись что сервер доступен при подключении по внешнему адресу, выключите его и отключите доступ к серийной консоли. Он может потребоваться только в экстренных случаях при авариях или отладке проблем с операционной системой.{note}

h1. Обеспечьте безопасность сервера!

При установке биллинга в стороннем облаке, во внешней инфраструктуре, правильная настройка доступа и аудит паролей становятся особенно важны.

Обязательно выполните все рекомендации из нашей статьи [CarbonBilling:Обзор безопасности]