Перейти к содержанию

Подключение Cloud.ru Advanced⚓︎

Содержание

Предварительные требования⚓︎

Для использования всех возможностей Cloudmaster будет необходимо:

  1. Создать и настроить доступ к бакету.
  2. Создать IAM пользователя в платформе Cloud.ru Advanced. Назначить роли и создать ключи доступа.
  3. Создать сервисный аккаунт в проекте в облаке Cloud.ru. Назначить роли и создать ключи доступа.
  4. Настроить подключение в платформе Cloudmaster.
  5. Создать виртуальную машину и установить сборщик метрик.

    Шаги 1 и 5 можно выполнить позже. Однако без выполнения этих шагов не будут формироваться рекомендации.

Настройки и права доступа в платформе Advanced⚓︎

Консоль платформы имеет URL: https://console.hc.sbercloud.ru/.

Звездочкой отмечены шаги, которые необходимы для создания рекомендаций по оптимизации. Шаги можно пропустить и выполнить позже.

  1. Создайте бакет, в который будут собираться метрики мониторинга. Например, cloudmaster-random number *.

    Далее в этой инструкции мы предлагаем cоздать политики/роли Cloud.ru Advanced с необходимым набором разрешений. Политики закрепить за группой и в группу добавить сервисный аккаунт.

  2. Настройте политики доступа. IAM → Permissions → Policies/Roles → Create Custom Policy

    Политика для бакета

    Создайте политику для доступа к бакету на запись и на чтение.* Например, CloudmasterReadWriteBucket. IAM → Permissions → Policies/Roles → Create Custom Policy → Select Existing Policy/Role → Выберите готовую роль OBS Operator → Вкладка Specific → Add Resource Path → Вставьте имя вашего бакета.

    {
        "Version": "1.1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "obs:object:PutObject",
                    "obs:object:GetObjectAcl",
                    "obs:bucket:GetBucketLocation",
                    "obs:object:DeleteObjectVersion",
                    "obs:object:GetObjectVersionAcl",
                    "obs:object:DeleteObject",
                    "obs:bucket:HeadBucket",
                    "obs:object:GetObjectVersion",
                    "obs:object:GetObject",
                    "obs:bucket:ListBucket",
                    "obs:object:AbortMultipartUpload",
                    "obs:object:ListMultipartUploadParts"
                ],
                "Resource": [
                    "OBS:*:*:object:*",
                    "OBS:*:*:bucket:[YOUR-BUCKET-NAME]"
                ]
            },
            {
                "Effect": "Allow",
                "Action": [
                    "obs:bucket:ListAllMyBuckets"
                ]
            }
        ]
    }  
    
    Политика для дескрайбинга и мониторинга

    Создайте еще одну политику для доступа на просмотр объектов инфраструктуры и мониторинга. Например, CloudmasterViewOnly. Скопируйте JSON содержание политики. Сохраните политику.

    {
       "Version": "1.1",
       "Statement": [
           {
               "Action": [
                   "aom:*:list",
                   "aom:*:get",
                   "apm:*:list",
                   "apm:*:get",
                   "ecs:*:get",
                   "ecs:*:list",
                   "ecs:*:get*",
                   "ecs:*:list*",
                   "ecs:serverVolumes:use",
                   "evs:*:get",
                   "evs:*:list",
                   "evs:*:get*",
                   "evs:*:list*",
                   "vpc:*:get",
                   "vpc:*:list",
                   "vpc:*:get*",
                   "vpc:*:list*",
                   "ims:*:get",
                   "ims:*:list",
                   "ims:*:get*",
                   "ims:*:list*",
                   "nat:*:get",
                   "nat:*:list",
                   "servicestage:*:get",
                   "servicestage:*:list",
                   "cse:*:get",
                   "cse:*:list",
                   "cse:registry:*",
                   "cse:config:*",
                   "cce:*:get",
                   "cce:*:list",
                   "cce:kubernetes:*",
                   "elb:*:get",
                   "elb:*:list",
                   "dcs:*:get",
                   "dcs:*:list",
                   "rds:instance:list",
                   "rds:backup:list",
                   "rds:param:list",
                   "dss:*:get",
                   "dss:*:list",
                   "as:*:list",
                   "as:*:get",
                   "cci:*:get",
                   "cci:*:list",
                   "sfs:*:get*"
               ],
               "Effect": "Allow"
           },
           {
               "Action": [
                   "vpc:*:get",
                   "vpc:*:list",
                   "ecs:*:get*",
                   "ecs:*:list*"
               ],
               "Effect": "Allow"
           },
           {
               "Action": [
                   "ces:*:get*",
                   "ces:*:list*",
                   "*:*:get*",
                   "*:*:list*"
               ],
               "Effect": "Allow"
           }
       ]
    }
    
  3. Создайте группу пользователей, например, cloudmaster-app. IAM → User Group → Create User Group.

  4. Назначьте на группу политики, созданные ранее. IAM → User Group → cloudmaster-app → Authorize → Выберите созданные ранее две политики. → Scope All resources → OK.
  5. Создайте сервисный аккаунт (IAM‑пользователя) с правом Programmatic access или Default. Например, cloudmaster_sa. IAM → Users → Create.
  6. Добавьте пользователя в ранее созданую группу cloudmaster-app. IAM → User → Add to User Group.
  7. Создайте ключ доступа. IAM → User → Security Settings → Create Access Key (Key ID + Secret Key).

Настройки и права доступа к проекту Cloud.ru⚓︎

Консоль облака имеет URL: https://advanced.cloud.ru/.

  1. Создайте сервисный аккаунт.

    В разделе Пользователи создайте сервисный аккаунт во вкладке Сервисные аккаунты и назначьте ему роль Администратор проекта. Инструкция Cloud.ru по созданию сервисного аккаунта

    Роль Администратор проекта даёт права управления проектом в Cloud.ru, включая подключение сервисов и управление пользователями.

  2. Создайте ключ доступа сервисного аккаунта и сохраните его.
    В карточке аккаунта на вкладке Ключи доступа нажмите Создать ключи доступа, заполните форму и нажмите Создать, затем скопируйте Key ID и Key Secret.

    Скопируйте значения сразу после генерации — после закрытия окна Key Secret будет недоступен.

    Инструкция Cloud.ru по генерации ключа доступа

  3. Скопируйте ID Организации и ID проекта.

    Данные содержатся в адресной строке проекта: https://advanced.cloud.ru/spa/advanced? projectId =0d3aXXXX-XXXX-XXXX-XXXX-49baa6ddXXXX customerId =42a6XXXX-XXXX-XXXX-XXXX-bd7893fbXXXX

Настройка подключения в Cloudmaster⚓︎

  1. В Cloudmaster откройте подраздел Мои подключения .
  2. Нажмите Новое подключение и выберите карточку Cloud.ru Advanced, затем перейдите к шагу Настройки подключения.
    Форма содержит разделы Подключение данных биллинга (обязательные поля) и Подключение данных для рекомендаций (можно заполнить позже).

  3. Укажите параметры:

    • имя подключения (должно быть уникальным среди подключений Cloudmaster);
    • идентификаторы организации и проекта из консоли Cloud.ru;
    • ключ IAM‑пользователя из платформы Advanced: Access Key ID, Secret Access Key;
    • ключ сервисного аккаунта из консоли Cloud.ru: Key ID, Key Secret.

    При корректном Key ID, но двух неверных вводах Key Secret сервисный аккаунт в Cloud.ru блокируется на 600 секунд, и создание подключения будет недоступно.

  4. Заполните раздел Подключение данных для рекомендаций (можно пропустить и заполниить позже).
    Укажите S3‑эндпоинт (например, https://obs.ru-moscow-1.hc.sbercloud.ru), регион (например, ru-moscow-1, взять из эндпоинта), имя бакета и ключи сервисного аккаунта, который имеет доступ к бакету, (Access Key, Secret Access Key).

  5. После заполнения всех полей раздела Подключение данных биллинга нажмите Подключить.

  6. На последнем шаге мастер проверит введённые данные и создаст подключение при успешной авторизации.

    В ближайшие 10 минут после успешного подключения должны появиться данные по потреблению в отчетах. Если вы подключаете облако для получения рекомендаций, скопируйте номер подключения и переходите к установке сборщика метрик. Мои подключения → Карточка подключения → рядом с датой обновления — ID. Например, 1352.

Установка сборщика метрик⚓︎

После создания подключения в Cloudmaster выполните следующие шаги:

  1. Создайте виртуальную машину c Ubuntu 20.04 LTS. Сообщите команде поддержке IP-адрес ВМ, чтобы получить доступ к репозиторию. Проверить IP-адрес можно командой:

     curl -s https://2ip.ru/
    
  2. Загрузите скрипт для подключения необходимого репозитория Cloudmaster внутри целевой ВМ:

     curl https://io.cloudmaster.ru/setup_cloudmaster_repo.sh > setup_cloudmaster_repo.sh
    
  3. Запустите скрипт подключения командами от имени суперпользователя:

    chmod 775 setup_cloudmaster_repo.sh
    ./setup_cloudmaster_repo.sh
    
    CloudMaster repository setup complete.
    
    apt update
    
    apt install cloudmaster-cloudru-metric-collector
    
  4. В процессе мастер установки запросит следующие данные:

    Внимание! Если вы используете бакет в Cloud.ru Advanced и не создавали отдельных пользователей и ключей для бакета, ключи бакета и Access Key IAM пользователя в визарде будут совпадать.

    • CloudMaster customer ID — UUID, который передаст поддержка, ID аккаунта организации в Cloudmaster;
    • Endpoint S3 — URL объектного хранилища, где создан бакет. Например, https://obs.ru-moscow-1.hc.sbercloud.ru;
    • Регион — код региона, где расположен бакет. Например, ru-moscow-1;
    • Имя бакета — уникальное в пространстве провайдера имя бакета;
    • S3 bucket access key — Access Key ID для доступа к бакету;
    • S3 bucket secret key — Secret Access Key для доступа к бакету;
    • Cloud.Ru project ID — id проекта в Cloud.ru;
    • Cloudmaster connection ID — id подключения в Cloudmaster (например, 123). Можно найти в Cloudmaster на странице Мои подключения, ID на карточке созданного подключения;
    • Access Key IAM пользователя Cloud.Ru Advanced — Access Key ID аккаунта, созданного в IAM сервисе;
    • Secret Key IAM пользователя Cloud.Ru Advanced — Secret Key IAM аккаунта, созданного в IAM сервисе.
  5. После установки проверить, что сборщик данных о нагрузке запущен.

    service cloudmaster-cloudru-metric-collector status
    
  6. Проверьте, что сборщик приступил к сбору метрик. В бакете должны появиться вложенные папки:

    /CloudMaster customer ID/ load / cm-connection-Cloudmaster connection ID

    По этому пути будут загружаться csv-файлы с метриками по ВМ.

    Первые рекомендации стоит ожидать на следующий день после подключения.

Команды управления сборщиком

Остановить сборщик

service cloudmaster-cloudru-metric-collector stop

Запустить сборщик

service cloudmaster-cloudru-metric-collector start

Сборщик устанавливается в каталог /opt/cloudmaster/services/cloudru-metric-collector

Конфигурационный файл

/opt/cloudmaster/services/cloudru-metric-collector/application.properties

В конфигурационном файле можно отредактировать необходимые параметры подключений: к API Cloud.ru и к S3-бакету.

Удаление сборщика с ВМ

apt -y purge cloudmaster-cloudru-metric-collector

Читайте также⚓︎

Рекомендации Cloud.ru