Краткое руководство. Создание сервера Базы данных Azure для PostgreSQL с помощью Azure CLI
Область применения: отдельный сервер Базы данных Azure для PostgreSQL
Внимание
База данных Azure для PostgreSQL — одиночный сервер находится на пути выхода на пенсию. Настоятельно рекомендуется выполнить обновление до База данных Azure для PostgreSQL — гибкий сервер. Дополнительные сведения о миграции на База данных Azure для PostgreSQL — гибкий сервер см. в статье "Что происходит с одним сервером База данных Azure для PostgreSQL?".
В этом кратком руководстве описывается, как с помощью команд Azure CLI в Azure Cloud Shell создать один сервер Базы данных Azure для PostgreSQL за пять минут.
Совет
Рассмотрите возможность использования более простой команды Azure CLI az postgres up. Ознакомьтесь с кратким руководством.
Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.
Необходимые компоненты
Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см . в кратком руководстве по Bash в Azure Cloud Shell.
Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.
Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.
Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.
Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.
Запуск Azure Cloud Shell
Azure Cloud Shell — это бесплатная интерактивная оболочка, с помощью которой можно выполнять действия, описанные в этой статье. Она включает предварительно установленные общие инструменты Azure и настроена для использования с вашей учетной записью.
Чтобы открыть Cloud Shell, просто выберите Попробовать в правом верхнем углу блока кода. Cloud Shell можно также запустить в отдельной вкладке браузера, перейдя на страницу https://shell.azure.com.
Когда откроется Cloud Shell, убедитесь, что для вашей среды выбран вариант Bash. В последующих сеансах в среде Bash будет использоваться Azure CLI. Нажмите кнопку Копировать, чтобы скопировать блоки кода. Вставьте код в Cloud Shell и нажмите клавишу ВВОД, чтобы выполнить его.
Вход в Azure
Проверка подлинности Cloud Shell автоматически производится с данными той учетной записи, с которой был осуществлен вход. Используйте следующий скрипт, чтобы войти с другой подпиской, указав вместо <Subscription ID>
идентификатор нужной подписки Azure. Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
Дополнительные сведения см. в разделах Настройка активной подписки и Интерактивный вход.
Установка значений параметра
Следующие значения используются в последующих командах для создания базы данных и требуемых ресурсов. Имена серверов должны быть глобально уникальными в Azure, поэтому для создания имени сервера используется функция $RANDOM.
Измените расположение на соответствующее вашей среде. Замените значения 0.0.0.0
в диапазоне IP-адресов в соответствии с конкретной средой. Воспользуйтесь общедоступным IP-адресом используемого компьютера, чтобы разрешить доступ к серверу только своему IP-адресу.
# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-postgresql-rg-$randomIdentifier"
tag="create-postgresql-server-and-firewall-rule"
server="msdocs-postgresql-server-$randomIdentifier"
sku="GP_Gen5_2"
login="azureuser"
password="Pa$$w0rD-$randomIdentifier"
# Specify appropriate IP address values for your environment
# to limit / allow access to the PostgreSQL server
startIp=0.0.0.0
endIp=0.0.0.0
echo "Using resource group $resourceGroup with login: $login, password: $password..."
Создание или изменение группы ресурсов
Создайте группу ресурсов с помощью команды az group create. Группа ресурсов Azure является логическим контейнером, в котором происходит развертывание ресурсов Azure и управление ими. В следующем примере создается группа ресурсов с именем myResourceGroup в расположении eastus.
# Create a resource group
echo "Creating $resourceGroup in $location..."
az group create --name $resourceGroup --location "$location" --tags $tag
Создание сервера
Создайте сервер с помощью команды az postgres server create.
# Create a PostgreSQL server in the resource group
# Name of a server maps to DNS name and is thus required to be globally unique in Azure.
echo "Creating $server in $location..."
az postgres server create --name $server --resource-group $resourceGroup --location "$location" --admin-user $login --admin-password $password --sku-name $sku
Примечание.
- Имя сервера может содержать только строчные буквы, цифры и знак дефиса (-). Длина должна составлять от 3 до 63 символов. Дополнительные сведения см. в статье Правила именования в службе "База данных Azure для PostgreSQL".
- В качестве имени пользователя для администратора нельзя использовать варианты azure_superuser, admin, administrator, root, guest или public.
- Пароль должен содержать от 8 до 128 знаков трех из следующих категорий: прописные латинские буквы, строчные латинские буквы, цифры и другие символы.
- Дополнительные сведения об SKU см. на странице Цены на Базу данных Azure для PostgreSQL.
Внимание
- Версия PostgreSQL на вашем сервере по умолчанию — 9.6. Чтобы просмотреть все поддерживаемые версии, см. статью Поддерживаемые основные номера версии PostgreSQL.
- Протокол SSL включен на сервере по умолчанию. Дополнительные сведения об SSL см. в статье Настройка SSL-подключения.
Настройка правила брандмауэра на уровне сервера
Создайте правило брандмауэра с помощью команды az postgres server firewall-rule create, чтобы предоставить вашей локальной среде доступ для подключения к серверу.
# Configure a firewall rule for the server
echo "Configuring a firewall rule for $server for the IP address range of $startIp to $endIp"
az postgres server firewall-rule create --resource-group $resourceGroup --server $server --name AllowIps --start-ip-address $startIp --end-ip-address $endIp
Совет
Если вы не знаете свой IP-адрес, перейдите на сайт WhatIsMyIPAddress.com, чтобы его получить.
Примечание.
Во избежание проблем с подключением убедитесь, что в брандмауэре сети разрешен порт 5432. Серверы службы "База данных Azure для PostgreSQL" используют этот порт.
Список правил брандмауэра на основе сервера
Чтобы вывести список имеющихся правил брандмауэра сервера, запустите команду az postgres server firewall-rule list.
# List firewall rules for the server
echo "List of server-based firewall rules for $server"
az postgres server firewall-rule list --resource-group $resourceGroup --server-name $server
# You may use the switch `--output table` for a more readable table format as the output.
Выходные данные будут содержать правила брандмауэра (если они имеются) в используемом по умолчанию формате JSON. Вы можете использовать --output table
, чтобы получить выходные данные в виде более удобной таблицы.
Получение сведений о подключении
Чтобы подключиться к серверу, укажите сведения об узле и учетные данные для доступа.
az postgres server show --resource-group $resourceGroup --name $server
Запишите значения administratorLogin и fullyQualifiedDomainName.
Подключение к Базе данных Azure для PostgreSQL с помощью psql
Клиент psql — популярное средство, используемое для подключения к серверам PostgreSQL. Вы можете подключиться к серверу, используя psql
в Azure Cloud Shell. Вы можете также использовать psql
в локальной среде, если она доступна. С новым сервером PostgreSQL автоматически создается пустая база данных postgres. Эту базу данных можно использовать для подключения к psql
, как показано в следующем коде.
psql --host=<server_name>.postgres.database.azure.com --port=5432 --username=<admin_user>@<server_name> --dbname=postgres
Совет
Если вы предпочитаете использовать URL-путь для подключения к Postgres, закодируйте с помощью URL-адреса знак @ в имени пользователя с использованием %40
. Например, строка подключения для psql будет выглядеть так:
psql postgresql://<admin_user>%40<server_name>@<server_name>.postgres.database.azure.com:5432/postgres
Очистка ресурсов
Если вам больше не нужны определенные ресурсы, вы можете удалить их и соответствующую группу ресурсов с помощью команды az group delete. Как создание, так и удаление определенных ресурсов может занять некоторое время.
az group delete --name $resourceGroup