Установка Carbon Billing 5 в облако Yandex.Cloud

Skip to end of metadata
Go to start of metadata

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

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

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

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

Установка

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

Установите биллинг по статье Установка Carbon Billing 5

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

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

Выполните необходимые настройки для миграции в облако

  1. Добавьте пользователя с домашней директорией и возможностью логина, он сразу добавится в группу wheel, чтобы работала команда sudo
    useradd -m -G wheel -s /bin/bash billingadmin
  2. Задайте пароль
    echo "servicemode" | passwd --stdin billingadmin
  3. В файл .ssh/authorized_keys директории пользователя добавьте свой публичный ключ
    mkdir -p /home/billingadmin/.ssh
    touch /home/billingadmin/.ssh/authorized_keys
    chmod 660 /home/billingadmin/.ssh/authorized_keys
    echo "публичный ключ" > /home/billingadmin/.ssh/authorized_keys
    
  4. Настройте сетевой интерфейс для получения адреса по DHCP:
    /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE="eth0"
    BOOTPROTO="dhcp"
    DHCP_HOSTNAME="cb5-yandex"
    IPV6INIT="no"
    NM_CONTROLLED="yes"
    ONBOOT="yes"
    TYPE="Ethernet"
    
  5. Настройте udev, чтобы он не переназначал имя сетевого интерфейса по mac-адресу:
    rm -f /etc/udev/rules.d/70*
    touch /etc/udev/rules.d/75-persistent-net-generator.rules
    
  6. Настройте доступ к серийной консоли
    • Измените 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 чтобы при старте виртуальноц машины, лог загрузки было видно в консоли
      Приблизительно так будет выглядеть /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
      
  7. Образ лучше сжать, чтобы быстрей передать в облако:
    sudo qemu-img convert -p -O qcow2 -o cluster_size=2M /var/lib/libvirt/images/CB5.qcow2 /var/lib/libvirt/images/CB5_compressed.qcow2

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

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

  1. Зарегистрируйтесь на платформе https://cloud.yandex.ru
  2. Создайте бакет с хранилищем файлов
  3. Настройте "Сервисный аккаунт"
  4. Дайте ему роль iam.serviceAccounts.user
  5. Создайте статический ключ доступа
    Вывод в интерфейсе
    Идентификатор ключа:
    dsiopaASPOIPDSiopdsaiop
    Ваш секретный ключ:
    Kr-PR3as809dsiaoipASOPidops_-dsSdiopsaGjzOQJUg6LcA
    Сохраните идентификатор и ключ. После закрытия диалога значение ключа будет недоступно.
    
  6. Настройте ACL бакета (открыть бакет -> верхний правый угол): для Authentificated Users дайте права на чтение на запись (READ+WRITE)
  7. Настройте AWS CLI
    Вывод будет примерно следующий
    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]:
    
    Можете проверить что данные доступа сохранены корректно
    cat ~/.aws/config
    [default]
    region = ru-central1
    
    cat ~/.aws/credentials
    [default]
    aws_access_key_id = dsiopaASPOIPDSiopdsaiop
    aws_secret_access_key = Kr-PR3as809dsiaoipASOPidops_-dsSdiopsaGjzOQJUg6LcA
    

Загрузите в облако ранее подготовленный образ и создайте из него виртуальную машину

  1. Загрузите образ в облако, команда будет приблизительно такой:
    aws --endpoint-url=https://storage.yandexcloud.net s3 cp /var/lib/libvirt/images/CB5_compressed.qcow2 s3://my_bucket/CB5_compressed.qcow2
  2. Получите ссылку: нажмите на выбранный объект, откроется страница с параметрами, там кнопка "Получить ссылку"
  3. Создайте образ в Compute Cloud используя ссылку с прошлого шага
  4. Создайте виртуальную машину, используя созданный образ
    • Нажмите "Добавить диск" - там нужно выбрать ранее добавленный образ и указать что диск загрузочный
      Для основного диска лучше выберите SSD!
      Создавая диск, лучше сразу решить что использовать в основе - более дешевый, но медленный HDD, или быстрый и более дорогой SSD.
      Для системного диска лучше выбрать SSD, или по крайней мере добавить ещё один диск SSD и перенести на него базу.
    • В настройках сети автоматический выделенный IP-адрес можно будет сделать статическим.
    • Включите доступ к серийной консоли, на всякий случай
      А потом отключите!
      Убедившись что сервер доступен при подключении по внешнему адресу, выключите его и отключите доступ к серийной консоли. Он может потребоваться только в экстренных случаях при авариях или отладке проблем с операционной системой.

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

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

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

Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.