Создание высокодоступных баз данных MySQL

Важно!

Начиная со сборки Azure Stack Hub 2108, поставщики ресурсов SQL и MySQL предлагаются для подписок, которым предоставлен доступ. Если вы хотите начать использовать эту функцию или вам нужно выполнить обновление с предыдущей версии, отправьте обращение в службу поддержки , и наши инженеры службы поддержки помогут вам выполнить процесс развертывания или обновления.

Оператор Azure Stack Hub может настроить размещение баз данных MySQL Server на серверных виртуальных машинах. После успешного создания кластера MySQL, которым управляет Azure Stack Hub, пользователи с подпиской на службы MySQL могут легко создавать высокодоступные базы данных MySQL.

В этой статье показано, как использовать компоненты Azure Stack Marketplace для создания MySQL с кластером репликации. Это решение использует несколько виртуальных машин для репликации баз данных из узла уровня управления в настраиваемое количество реплик. После создания этот кластер можно добавить в качестве сервера размещения MySQL Azure Stack Hub, и пользователи смогут создавать высокодоступные базы данных MySQL.

Важно!

Элемент Azure Stack Marketplace MySQL с репликацией может быть доступен не для всех сред облачной подписки Azure. Прежде чем переходить к оставшейся части руководства, убедитесь, что элемент Marketplace доступен для вашей подписки.

Из этого руководства вы узнаете, как выполнять такие задачи:

  • создание кластера сервера MySQL из элементов Marketplace;
  • Настройте кластер Сервера MySQL в качестве сервера размещения MySQL Azure Stack Hub.
  • создание высокодоступной базы данных MySQL.

Вы создадите и настроите кластер сервера MySQL с тремя виртуальными машинами на основе доступных компонентов Azure Stack Marketplace.

Прежде чем начать, убедитесь, что поставщик ресурсов сервера MySQL успешно установлен и что указанные ниже компоненты доступны в Azure Stack Marketplace.

Важно!

Все следующие элементы необходимы для создания кластера MySQL.

  • MySQL с репликацией. Это шаблон решения Bitnami, который будет использоваться для развертывания кластера MySQL.
  • Debian 8 "Jessie": Debian 8 "Jessie" с ядром backports для Microsoft Azure, предоставляемым credativ. Debian GNU/Linux является одним из наиболее распространенных дистрибутивов Linux.
  • Пользовательский скрипт для Linux 2.0. Расширение пользовательских скриптов — это средство для выполнения задач настройки виртуальной машины после подготовки виртуальной машины. Это расширение после добавления к виртуальной машине может скачивать скрипты из службы хранилища Azure и запускать их на виртуальной машине. Задачи расширения пользовательских сценариев можно автоматизировать с помощью командлетов Azure PowerShell и кроссплатформенного интерфейса командной строки Azure.
  • Расширение "Доступ к виртуальной машине для Linux" 1.4.7. Расширение "Доступ к виртуальной машине" позволяет сбросить пароль, ключ SSH или конфигурации SSH, чтобы восстановить доступ к виртуальной машине. Вы также можете добавить или удалить пользователя с помощью пароля или ключа SSH, используя это расширение. Оно предназначено для виртуальных машин Linux.

Чтобы узнать, как добавлять элементы в Azure Stack Marketplace, см. статью с общими сведениями об Azure Stack Marketplace.

Кроме того, вам потребуется клиент SSH, например PuTTY, чтобы войти в системы виртуальных машин Linux после их развертывания.

Создание кластера сервера MySQL

Используйте инструкции, описанные в этом разделе, чтобы развернуть кластер сервера MySQL с помощью элемента Marketplace MySQL с репликацией. Этот шаблон развертывает три экземпляра сервера MySQL, настроенные в высокодоступном кластере MySQL. По умолчанию он создает перечисленные ниже ресурсы:

  • Виртуальная сеть
  • группу безопасности сети;
  • Учетная запись хранения
  • группа доступности;
  • три сетевых интерфейса (по одному для каждой виртуальной машины по умолчанию);
  • общедоступный IP-адрес (для основной виртуальной машины кластера MySQL);
  • три виртуальные машины Linux для размещения кластера MySQL.
  1. Войдите на пользовательский портал.

    • Для интегрированного развертывания системы адрес портала может отличаться в зависимости от региона, в котором находится решение, и имени внешнего домена. Он должен быть в формате https://portal.<region>.<FQDN>.
    • Если вы используете Пакет средств разработки Azure Stack, адрес портала будет таким: https://portal.local.azurestack.external.
  2. Если подписки еще не назначены, выберите Получить подписку на панели мониторинга. В колонке введите имя подписки, а затем выберите предложение. Рекомендуется сохранить развертывание кластера MySQL в собственной подписке, чтобы предотвратить случайное удаление.

  3. Выберите +Создать ресурс>Вычисление, а затем — MySQL with Replication (MySQL с репликацией).

    Развертывание пользовательского шаблона в Azure Stack Hub

  4. Укажите основные сведения о развертывании на странице Основные. Просмотрите значения по умолчанию. При необходимости внесите изменения и нажмите кнопку ОК.

    Как минимум укажите следующие сведения.

    • Имя развертывания (по умолчанию — mymysql).

    • Пароль корневого каталога приложения. Укажите буквенно-цифровой пароль длиной 12 знаков без специальных символов.

    • Имя базы данных приложения (по умолчанию — bitnami).

    • Число создаваемых виртуальных машин реплик базы данных MySQL (по умолчанию — 2).

    • Выберите подписку, которую необходимо использовать.

    • Выберите группу ресурсов или создайте новую.

    • Выберите расположение (по умолчанию используется локально для ASDK до версии 2107).

      Основы развертывания — создание MySQL с репликацией

  5. На странице Environment Configuration (Настройка среды) предоставьте указанные ниже сведения и щелкните ОК.

    • Пароль или открытый ключ SSH, который будет использоваться для аутентификации Secure Shell (SSH). Если используется пароль, он должен содержать буквы и цифры, а также может включать специальные символы.

    • Размер виртуальной машины (по умолчанию — Standard D1 v2).

    • Размер диска данных в ГБ

      Конфигурация среды — создание MySQL с репликацией

  6. Просмотрите сводные сведения о развертывании. При необходимости вы можете скачать настроенный шаблон и параметры, а затем щелкнуть ОК.

    Сводка. Создание MySQL с репликацией

  7. Щелкните Создать на странице Купить, чтобы начать развертывание.

    Страница покупки — создание MySQL с репликацией

    Примечание

    Развертывание займет около часа. Перед продолжением убедитесь, что развертывание завершено и кластер MySQL полностью настроен.

  8. После успешного выполнения всех развертываний ознакомьтесь с элементами группы ресурсов и выберите элемент общедоступного IP-адреса mysqlip. Запишите общедоступный IP-адрес и его полное доменное имя для кластера.

    Этот IP-адрес необходимо предоставить оператору Azure Stack Hub, чтобы он мог создать сервер размещения MySQL, использующий этот кластер MySQL.

Создание правила группы безопасности сети

По умолчанию на виртуальной машине узла не настроен открытый доступ к MySQL. Поставщику ресурсов MySQL Azure Stack Hub для подключения к кластеру MySQL и управления им необходимо создать правило входящего трафика для группы безопасности сети.

  1. На портале администратора перейдите к группе ресурсов, созданной при развертывании кластера MySQL, и выберите группу безопасности сети (default-subnet-sg):

    Выбор группы безопасности сети на портале администрирования Azure Stack Hub

  2. Щелкните Правила безопасности для входящего трафика, а затем выберите Добавить.

    Введите значение 3306 в поле Диапазон портов назначения и при желании добавьте описание в поля Имя и Описание.

    открыт

  3. Щелкните Добавить, чтобы закрыть диалоговое окно с правилом безопасности для входящего трафика.

Настройка внешнего доступа к кластеру MySQL

Прежде чем добавлять кластер MySQL в качестве узла размещения сервера MySQL для Azure Stack Hub, необходимо включить внешний доступ.

  1. Выполните вход на главный компьютер MySQL с компьютера, который имеет доступ к общедоступному IP-адресу, используя любой SSH-клиент (в нашем примере это PuTTY). Имя основной виртуальной машины MySQL обычно заканчивается на 0, и у него есть назначенный общедоступный IP-адрес.

    По общедоступному IP-адресу войдите на виртуальную машину с именем пользователя bitnami и созданным ранее паролем приложения без специальных символов.

    LinuxLogin

  2. Используйте следующую команду в окне клиента SSH, чтобы убедиться, что служба bitnami включена и запущена. При появлении запроса введите пароль bitnami снова:

    sudo service bitnami status

    Проверка службы bitnami

  3. Создайте учетную запись удаленного доступа, которая будет использоваться сервером размещения MySQL Azure Stack Hub для подключения к MySQL, затем выйдите из клиента SSH.

    Выполните приведенные ниже команды, чтобы войти в MySQL с правами привилегированного пользователя, используя созданный ранее пароль. Создайте нового пользователя с правами администратора и укажите для него <имя_пользователя> и <пароль> , соответствующие требованиям для вашей среды. В нашем примере создается пользователь с именем sqlsa и паролем высокой надежности:

    mysql -u root -p
    create user <username>@'%' identified by '<password>';
    grant all privileges on *.* to <username>@'%' with grant option;
    flush privileges;
    

    Создание пользователя-администратора

  4. Запишите новые сведения о пользователе MySQL.

    Вам нужно предоставить эти имя пользователя и пароль, а также общедоступный IP-адрес или полное доменное имя кластера оператору Azure Stack Hub, чтобы он мог создать сервер размещения MySQL с использованием этого кластера MySQL.

Настройка сервера размещения MySQL в Azure Stack Hub

После создания и правильной настройки кластера MySQL Server оператор Azure Stack Hub должен добавить его в качестве сервера размещения MySQL Azure Stack Hub.

Обязательно используйте общедоступный IP-адрес или полное доменное имя для общедоступного IP-адреса основной виртуальной машины кластера MySQL, которые были записаны ранее при создании группы ресурсов кластера MySQL (mysqlip). Кроме того, оператору необходимо знать учетные данные аутентификации MySQL Server, которые вы создали для удаленного доступа к базе данных кластера MySQL.

Примечание

Оператор Azure Stack Hub должен выполнить этот шаг на портале администрирования Azure Stack Hub.

Используя общедоступный IP-адрес кластера MySQL и информацию для аутентификации MySQL, оператор Azure Stack Hub теперь может создать сервер размещения MySQL с использованием нового кластера MySQL.

Не забудьте также создать планы и предложения, чтобы пользователи могли создавать базы данных MySQL. Оператору необходимо добавить службу Microsoft.MySqlAdapter к плану и создать квоту специально для высокодоступных баз данных. Дополнительные сведения о создании планов см. в статье Service, plan, offer, subscription overview (Обзор служб, планов, предложений и подписок).

Совет

Служба Microsoft.MySqlAdapter не будет доступна для добавления в планы, пока не завершится развертывание поставщика ресурсов MySQL Server.

создание высокодоступной базы данных MySQL.

Когда оператор Azure Stack Hub создаст кластер MySQL, а затем настроит и добавит его в качестве сервера размещения MySQL Azure Stack Hub, пользователь клиента с подпиской, поддерживающей возможности базы данных сервера MySQL, сможет создавать высокодоступные базы данных MySQL по инструкциям из этого раздела.

Примечание

Выполните эти шаги с пользовательского портала Azure Stack Hub в качестве пользователя клиента с подпиской, предоставляющей возможности сервера MySQL (службу Microsoft.MySQLAdapter).

  1. Войдите на пользовательский портал.

    • Для интегрированного развертывания системы адрес портала может отличаться в зависимости от региона, в котором находится решение, и имени внешнего домена. Он должен быть в формате https://portal.<region>.<FQDN>.
    • Если вы используете Пакет средств разработки Azure Stack, адрес портала будет таким: https://portal.local.azurestack.external.
  2. Выберите +Создать ресурс>Данные и хранилище, а затем База данных MySQL.

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

    Создание базы данных MySQL на портале пользователя Azure Stack Hub

  3. Выберите SKU, а затем соответствующий номер SKU сервера размещения MySQL. В этом примере оператор Azure Stack Hub создал ценовую категорию MySQL-HA с поддержкой высокого уровня доступности для баз данных кластера MySQL.

    Выбор SKU на пользовательском портале Azure Stack Hub

  4. Выберите Имя входа>Создать новое имя входа и укажите учетные данные для проверки подлинности MySQL, которые будут использоваться для новой базы данных. По завершении щелкните ОК, а затем выберите Создать, чтобы запустить развертывание базы данных.

    Добавление имени входа на пользовательском портале Azure Stack Hub

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

    Просмотр строки подключения на пользовательском портале Azure Stack Hub

Дальнейшие действия

Обновление поставщика ресурсов MySQL