Создание правил брандмауэра для Гибкого сервера Базы данных Azure MySQL и управление ими с помощью Azure CLI

Важно!

Сейчас предоставляется общедоступная предварительная версия Гибкого сервера Базы данных Azure для MySQL.

Гибкий сервер Базы данных Azure для MySQL поддерживает два типа взаимоисключающих методов сетевого подключения к гибкому серверу. Эти два варианта указаны ниже:

  • Открытый доступ (разрешенные IP-адреса)
  • Закрытый доступ (интеграция виртуальной сети)

В этой статье мы рассмотрим создание сервера MySQL с открытым доступом (разрешенные IP-адреса) , используя Azure CLI и предоставим общие сведения о командах Azure CLI, которые можно использовать для создания, обновления, удаления, перечисления и отображения правил брандмауэра после создания сервера. При наличии параметра Открытый доступ (разрешенные IP-адреса) подключения к серверу MySQL ограничиваются только разрешенными IP-адресами. IP-адреса клиентов должны быть разрешены в правилах брандмауэра. Дополнительные сведения см. в разделе Открытый доступ (разрешенные IP-адреса). Правила брандмауэра могут быть определены во время создания сервера (рекомендуется), но их также можно добавить позже.

Запуск Azure Cloud Shell

Azure Cloud Shell — это бесплатная интерактивная оболочка, с помощью которой можно выполнять действия, описанные в этой статье. Она включает предварительно установленные общие инструменты Azure и настроена для использования с вашей учетной записью.

Чтобы открыть Cloud Shell, просто выберите Попробовать в правом верхнем углу блока кода. Кроме того, Cloud Shell можно открыть в отдельной вкладке браузера. Для этого перейдите на страницу https://shell.azure.com/bash. Нажмите кнопку Копировать, чтобы скопировать блоки кода. Вставьте код в Cloud Shell и нажмите клавишу ВВОД, чтобы выполнить его.

Если вы решили установить и использовать CLI локально, для выполнения инструкций, приведенных в этом кратком руководстве, вам потребуется Azure CLI 2.0 или более поздней версии. Чтобы узнать версию, выполните команду az --version. Если вам необходимо выполнить установку или обновление, см. статью Установка Azure CLI 2.0.

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

Вам потребуется войти в учетную запись с помощью команды az login. Обратите внимание на свойство ID, которое ссылается на Идентификатор подписки для вашей учетной записи Azure.

az login

Выберите конкретную подписку вашей учетной записи, выполнив команду az account set. Запишите значение идентификатора из выходных данных команды az login, чтобы использовать его в команде в качестве значения аргумента подписки. Если вы используете несколько подписок, выберите соответствующую, в которой за ресурс будет взиматься плата. Чтобы отобразить все ваши подписки, выполните команду az account list.

az account set --subscription <subscription id>

Настройка правила брандмауэра во время создания гибкого сервера с помощью Azure CLI

С помощью команды az mysql flexible-server --public access можно создать гибкий сервер с открытым доступом (разрешенные IP-адреса) и настроить правила брандмауэра во время создания гибкого сервера. Для предоставления разрешенных IP-адресов, которые смогут подключаться к серверу, можно использовать параметр --public-access. Можно указать один IP-адрес или диапазон IP-адресов, которые будут включаться в список разрешенных IP-адресов. Диапазон IP-адресов должен разделяться дефисом и не содержать пробелов. Есть несколько вариантов создания гибкого сервера с помощью CLI, как показано в примерах ниже.

Полный список настраиваемых параметров CLI см. в справочной документации по Azure CLI. Например, в приведенных ниже командах можно дополнительно указать группу ресурсов.

  • Создание гибкого сервера с открытым доступом и добавление IP-адреса клиента для доступа к серверу

    az mysql flexible-server create --public-access <my_client_ip>
    
  • Создание гибкого сервера с открытым доступом и добавление диапазона IP-адресов для доступа к серверу

    az mysql flexible-server create --public-access <start_ip_address-end_ip_address>
    
  • Создание гибкого сервера с открытым доступом и разрешение приложениям из IP-адресов Azure подключаться к нему

    az mysql flexible-server create --public-access 0.0.0.0
    

    Важно!

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

  • Создание гибкого сервера с открытым доступом и разрешение доступа со всех IP-адресов

    az mysql flexible-server create --public-access all
    

    Примечание

    Приведенная выше команда создаст правило брандмауэра с начальным IP-адресом 0.0.0.0 и конечным IP-адресом — 255.255.255.255. При этом IP-адреса не будут блокироваться. Любой узел в Интернете может получить доступ к этому серверу. Настоятельно рекомендуется использовать это правило только временно и только на тестовых серверах, которые не содержат конфиденциальные данные.

  • Создание гибкого сервера с открытым доступом и запрещение доступа со всех IP-адресов

    az mysql flexible-server create --public-access none
    

    Примечание

    Не рекомендуется создавать сервер без правил брандмауэра. Если не добавить ни одного правила брандмауэра, клиент не сможет подключиться к серверу.

Создание правила брандмауэра и управление им после создания сервера

Команда Azure CLI az postgres flexible-server firewall-rule используется для создания, удаления, вывода списка, отображения и обновления правил брандмауэра.

Команды:

  • create: создание правила брандмауэра гибкого сервера.
  • list: вывод списка правил брандмауэра гибкого сервера.
  • update: обновление правила брандмауэра гибкого сервера.
  • show: отображение сведений о правиле брандмауэра гибкого сервера.
  • delete: удаление правила брандмауэра гибкого сервера.

Полный список настраиваемых параметров CLI см. в справочной документации по Azure CLI. Например, в приведенных ниже командах можно дополнительно указать группу ресурсов.

Создание правила брандмауэра

Используйте команду az mysql flexible-server firewall-rule create, чтобы создать новое правило брандмауэра на сервере. Чтобы разрешить доступ к диапазону IP-адресов, укажите начальный и конечный IP-адреса, как показано в этом примере.

az mysql flexible-server firewall-rule create --name mydemoserver --start-ip-address 13.83.152.0 --end-ip-address 13.83.152.15

Чтобы разрешить доступ для одного IP-адреса, просто укажите один IP-адрес, как в этом примере.

az mysql flexible-server firewall-rule create --name mydemoserver --start-ip-address 1.1.1.1

Чтобы разрешить приложениям подключаться с IP-адресов Azure к гибкому серверу, укажите в качестве начального IP-адрес 0.0.0.0, как показано в примере.

az mysql flexible-server firewall-rule create --name mydemoserver --start-ip-address 0.0.0.0

Важно!

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

При успешном выполнении выходные данные каждой команды create будут содержать сведения о созданном правиле брандмауэра в формате JSON (по умолчанию). Если возникнет сбой, выходные данные будут содержать вместо этого текст сообщения об ошибке.

Вывод списка правил брандмауэра

Используйте команду az mysql flexible-server firewall-rule list для вывода списка существующих правил брандмауэра сервера. Обратите внимание, что атрибут имени сервера указан в параметре --name.

az mysql flexible-server firewall-rule list --name mydemoserver

Выходные данные будут содержать правила, если они имеются, в формате JSON (по умолчанию). Параметр --output table** позволяет вывести результаты в более удобном для чтения табличном формате.

az mysql flexible-server firewall-rule list --name mydemoserver --output table

Обновление правила брандмауэра

Используйте команду az mysql flexible-server firewall-rule update, чтобы обновить существующее правило брандмауэра на сервере. В качестве входных данных укажите имя существующего правила брандмауэра, а также атрибуты начального и конечного IP-адресов, которые нужно обновить.

az mysql flexible-server firewall-rule update --name mydemoserver --rule-name FirewallRule1 --start-ip-address 13.83.152.0 --end-ip-address 13.83.152.1

При успешном выполнении команды ее выходные данные будут содержать сведения об обновленном правиле брандмауэра в формате JSON (по умолчанию). Если возникнет сбой, выходные данные будут содержать вместо этого текст сообщения об ошибке.

Примечание

Если правило брандмауэра не существует, оно будет создано командой update.

Отображение сведений о правиле брандмауэра

Используйте команду az mysql flexible-server firewall-rule show, чтобы отобразить сведения о существующем на сервере правиле брандмауэра. Укажите имя существующего правила брандмауэра в качестве входных данных.

az mysql flexible-server firewall-rule show --name mydemoserver --rule-name FirewallRule1

При успешном выполнении команды ее выходные данные будут содержать сведения об указанном правиле брандмауэра в формате JSON (по умолчанию). Если возникнет сбой, выходные данные будут содержать вместо этого текст сообщения об ошибке.

Удаление правила брандмауэра

Используйте команду az mysql flexible-server firewall-rule delete, чтобы удалить существующее правило брандмауэра на сервере. Укажите имя существующего правила брандмауэра.

az mysql flexible-server firewall-rule delete --name mydemoserver --rule-name FirewallRule1

При успешном выполнении выходные данные отсутствуют. В случае сбоя отображается текст сообщения об ошибке.

Дальнейшие шаги