クイック スタート:Azure CLI を使用して Azure Database for PostgreSQL - 単一サーバーを作成するQuickstart: Create an Azure Database for PostgreSQL - Single Server using the Azure CLI

ヒント

よりシンプルな az postgres up Azure CLI コマンド (現在はプレビュー段階) の使用を検討してください。Consider using the simpler az postgres up Azure CLI command (currently in preview). こちらのクイック スタートをお試しください。Try out the quickstart.

Azure Database for PostgreSQL は、高可用性 PostgreSQL データベースをクラウドで実行、管理、および拡張することができる、管理されたサービスです。Azure Database for PostgreSQL is a managed service that enables you to run, manage, and scale highly available PostgreSQL databases in the cloud. Azure CLI は、コマンドラインやスクリプトで Azure リソースを作成および管理するために使用します。The Azure CLI is used to create and manage Azure resources from the command line or in scripts. このクイック スタートでは、Azure CLI を使用して、Azure Database for PostgreSQL サーバーを Azure リソース グループに作成する方法を説明します。This quickstart shows you how to create an Azure Database for PostgreSQL server in an Azure resource group using the Azure CLI.

Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。If you don't have an Azure subscription, create a free account before you begin.

Azure Cloud Shell を使用するUse Azure Cloud Shell

Azure では、ブラウザーを介して使用できる対話型のシェル環境、Azure Cloud Shell がホストされています。Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Cloud Shell では、bashPowerShell のいずれかを使用して Azure サービスを操作できます。Cloud Shell lets you use either bash or PowerShell to work with Azure services. ローカル環境に何もインストールしなくても、Cloud Shell にプレインストールされているコマンドを使用して、この記事のコードを実行できます。You can use the Cloud Shell pre-installed commands to run the code in this article without having to install anything on your local environment.

Azure Cloud Shell を起動するには:To launch Azure Cloud Shell:

オプションOption 例とリンクExample/Link
コード ブロックの右上隅にある [使ってみる] を選択します。Select Try It in the upper-right corner of a code block. [使ってみる] を選択しても、コードは Cloud Shell に自動的にコピーされません。Selecting Try It doesn't automatically copy the code to Cloud Shell. Azure Cloud Shell の [使ってみる] の例
https://shell.azure.com に移動するか、 [Cloud Shell を起動する] ボタンを選択して、ブラウザーで Cloud Shell を開きます。Go to https://shell.azure.com or select the Launch Cloud Shell button to open Cloud Shell in your browser. 新しいウィンドウで Cloud Shell を起動するLaunch Cloud Shell in a new window
Azure portal の右上にあるメニュー バーの [Cloud Shell] ボタンを選択します。Select the Cloud Shell button on the top-right menu bar in the Azure portal. Azure Portal の [Cloud Shell] ボタン

Azure Cloud Shell でこの記事のコードを実行するには:To run the code in this article in Azure Cloud Shell:

  1. Cloud Shell を起動します。Launch Cloud Shell.

  2. [コピー] ボタンを選択して、コード ブロックをコードにコピーします。Select the Copy button on a code block to copy the code.

  3. Windows と Linux では Ctrl + Shift + V キー、macOS では Cmd + Shift + V キーを使用して、コードを Cloud Shell セッションに貼り付けます。Paste the code into the Cloud Shell session with Ctrl+Shift+V on Windows and Linux, or Cmd+Shift+V on macOS.

  4. Enter キーを押して、コードを実行します。Press Enter to run the code.

CLI をローカルにインストールして使用する場合、この記事では、Azure CLI バージョン 2.0 以降を実行していることが要件です。If you choose to install and use the CLI locally, this article requires that you are running the Azure CLI version 2.0 or later. インストールされているバージョンを確認するには、az --version コマンドを実行します。To see the version installed, run the az --version command. インストールまたはアップグレードする必要がある場合は、Azure CLI のインストールに関するページを参照してください。If you need to install or upgrade, see Install Azure CLI.

CLI をローカルで実行している場合は、az login コマンドを使用してアカウントにサインインする必要があります。If you are running the CLI locally, you need to sign in to your account using the az login command. コマンド出力から、対応するサブスクリプション名の ID プロパティを書き留めておきます。Note the ID property from the command output for the corresponding subscription name.

az login

複数のサブスクリプションをお持ちの場合は、リソースが課金の対象となる適切なサブスクリプションを選択してください。If you have multiple subscriptions, choose the appropriate subscription in which the resource should be billed. az account set コマンドを使用して、アカウントの特定のサブスクリプション ID を選択します。Select the specific subscription ID under your account using az account set command. サブスクリプション ID プレースホルダーへのサブスクリプションを、az login 出力の ID プロパティに置き換えます。Substitute the ID property from the az login output for your subscription into the subscription ID placeholder.

az account set --subscription <subscription id>

リソース グループの作成Create a resource group

az group create コマンドで Azure リソース グループを作成します。Create an Azure resource group using the az group create command. リソース グループとは、複数の Azure リソースをまとめてデプロイ、管理する際の論理コンテナーです。A resource group is a logical container into which Azure resources are deployed and managed as a group. 一意の名前を指定する必要があります。You should provide a unique name. 次の例では、myresourcegroup という名前のリソース グループを westus の場所に作成します。The following example creates a resource group named myresourcegroup in the westus location.

az group create --name myresourcegroup --location westus

Azure Database for PostgreSQL サーバーの作成Create an Azure Database for PostgreSQL server

az postgres server create コマンドを使用して、Azure Database for PostgreSQL サーバーを作成します。Create an Azure Database for PostgreSQL server using the az postgres server create command. 1 つのサーバーに複数のデータベースを含めることができます。A server can contain multiple databases.

設定Setting 値の例Sample value 説明Description
名前name mydemoservermydemoserver Azure Database for PostgreSQL サーバーを識別する一意の名前を選択します。Choose a unique name that identifies your Azure Database for PostgreSQL server. サーバー名に含めることができるのは、英小文字、数字、およびハイフン (-) のみであり、The server name can contain only lowercase letters, numbers, and the hyphen (-) character. 3 ~ 63 文字にする必要があります。It must contain from 3 to 63 characters.
resource-groupresource-group myresourcegroupmyresourcegroup Azure リソース グループの名前を指定します。Provide the name of the Azure resource group.
sku-namesku-name GP_Gen5_2GP_Gen5_2 SKU の名前。The name of the sku. 省略表現の {価格レベル}_{コンピューティング世代}_{仮想コア} という規則に従います。Follows the convention {pricing tier}_{compute generation}_{vCores} in shorthand. sku-name パラメーターの詳細については、この表の下方を参照してください。See below this table for more information about the sku-name parameter.
backup-retentionbackup-retention 77 バックアップを保持する必要のある時間。How long a backup should be retained. 単位は日数です。Unit is days. 範囲は 7 ~ 35 です。Range is 7-35.
geo-redundant-backupgeo-redundant-backup DisabledDisabled このサーバーに対して geo 冗長バックアップを有効にする必要があるかどうかどうか。Whether geo-redundant backups should be enabled for this server or not. 使用できる値は以下の通りです。Enabled、DisabledAllowed values: Enabled, Disabled.
locationlocation westuswestus サーバーの Azure の場所。The Azure location for the server.
ssl-enforcementssl-enforcement EnabledEnabled このサーバーに対して ssl を有効にする必要があるかどうかどうか。Whether ssl should be enabled or not for this server. 使用できる値は以下の通りです。Enabled、DisabledAllowed values: Enabled, Disabled.
storage-sizestorage-size 5120051200 サーバーのストレージ容量 (単位はメガバイト)。The storage capacity of the server (unit is megabytes). 有効な storage-size は最小 5,120 MB で、1,024 MB ずつ増加します。Valid storage-size is minimum 5120MB and increases in 1024MB increments. ストレージ サイズの制限の詳細については、価格レベルについてのドキュメントを参照してください。See the pricing tiers document for more information about storage size limits.
versionversion 9.69.6 PostgreSQL のメジャー バージョン。The PostgreSQL major version.
admin-useradmin-user myadminmyadmin 管理者ログインのユーザー名。The username for the administrator login. これを azure_superuseradminadministratorrootguestpublic にすることはできません。It cannot be azure_superuser, admin, administrator, root, guest, or public.
admin-passwordadmin-password セキュリティで保護されたパスワードsecure password 管理者ユーザーのパスワード。The password of the administrator user. 8 ~ 128 文字にする必要があります。It must contain between 8 and 128 characters. パスワードには、英大文字、英小文字、数字、英数字以外の文字のうち、3 つのカテゴリの文字が含まれている必要があります。Your password must contain characters from three of the following categories: English uppercase letters, English lowercase letters, numbers, and non-alphanumeric characters.

sku-name パラメーターの値は、次の例のように、{価格レベル}_{コンピューティング世代}_{仮想コア数} という規約に従います。The sku-name parameter value follows the convention {pricing tier}_{compute generation}_{vCores} as in the examples below:

  • --sku-name B_Gen5_1 は、"Basic、Gen 5、および 1 個の仮想コア" にマップされます。--sku-name B_Gen5_1 maps to Basic, Gen 5, and 1 vCore. このオプションは、利用できる最小の SKU です。This option is the smallest SKU available.
  • --sku-name GP_Gen5_32 は、"汎用、Gen 5、および 32 個の仮想コア" にマップされます。--sku-name GP_Gen5_32 maps to General Purpose, Gen 5, and 32 vCores.
  • --sku-name MO_Gen5_2 は、"メモリ最適化、Gen 5、および 2 個の仮想コア" にマップされます。--sku-name MO_Gen5_2 maps to Memory Optimized, Gen 5, and 2 vCores.

リージョンごとおよびレベルごとに有効な値を理解するには、価格レベルのドキュメントを参照してください。Please see the pricing tiers documentation to understand the valid values per region and per tier.

次の例では、サーバー管理者ログイン myadmin を使用して、リソース グループ myresourcegroupmydemoserver という名前の PostgreSQL 9.6 サーバーを米国西部に作成します。The following example creates a PostgreSQL 9.6 server in West US named mydemoserver in your resource group myresourcegroup with server admin login myadmin. これは、2 つの仮想コアを備えた Gen 4 汎用サーバーです。This is a Gen 4 General Purpose server with 2 vCores. <server_admin_password> は独自の値に置き換えます。Substitute the <server_admin_password> with your own value.

az postgres server create --resource-group myresourcegroup --name mydemoserver  --location westus --admin-user myadmin --admin-password <server_admin_password> --sku-name GP_Gen4_2 --version 9.6

注意

低負荷なコンピューティングと I/O がワークロードに適している場合は、Basic 価格レベルの使用を検討してください。Consider using the Basic pricing tier if light compute and I/O are adequate for your workload. Basic 価格レベルで作成されたサーバーは後で General Purpose またはメモリ最適化にスケーリングできないことに注意してください。Note that servers created in the Basic pricing tier cannot later be scaled to General Purpose or Memory Optimized. 詳細については、価格に関するページを参照してください。See the pricing page for more information.

サーバーレベルのファイアウォール規則の構成Configure a server-level firewall rule

az postgres server firewall-rule create コマンドで、Azure PostgreSQL サーバーレベルのファイアウォール規則を作成します。Create an Azure PostgreSQL server-level firewall rule with the az postgres server firewall-rule create command. サーバーレベルのファイアウォール規則により、psqlPgAdmin などの外部アプリケーションが、Azure PostgreSQL サービスのファイアウォールを経由してサーバーに接続できるようになります。A server-level firewall rule allows an external application, such as psql or PgAdmin to connect to your server through the Azure PostgreSQL service firewall.

ネットワークからの接続が可能な IP 範囲を指定するファイアウォール規則を設定することができます。You can set a firewall rule that covers an IP range to be able to connect from your network. 次の例では、az postgres server firewall-rule create を使用して、単一の IP アドレスを指定するファイアウォール規則 AllowMyIP を作成します。The following example uses az postgres server firewall-rule create to create a firewall rule AllowMyIP for a single IP address.

az postgres server firewall-rule create --resource-group myresourcegroup --server mydemoserver --name AllowMyIP --start-ip-address 192.168.0.1 --end-ip-address 192.168.0.1

注意

Azure PostgreSQL サーバーはポート 5432 を介して通信します。Azure PostgreSQL server communicates over port 5432. 企業ネットワーク内から接続しようとしても、ポート 5432 での送信トラフィックがネットワークのファイアウォールで禁止されている場合があります。When connecting from within a corporate network, outbound traffic over port 5432 may not be allowed by your network's firewall. Azure PostgreSQL サーバーに接続するには、会社の IT 部門にポート 5432 を開放してもらう必要があります。Have your IT department open port 5432 to connect to your Azure PostgreSQL server.

接続情報の取得Get the connection information

サーバーに接続するには、ホスト情報とアクセス資格情報を提供する必要があります。To connect to your server, you need to provide host information and access credentials.

az postgres server show --resource-group myresourcegroup --name mydemoserver

結果は JSON 形式です。The result is in JSON format. administratorLoginfullyQualifiedDomainName の値を書き留めておきます。Make a note of the administratorLogin and fullyQualifiedDomainName.

{
  "administratorLogin": "myadmin",
  "earliestRestoreDate": null,
  "fullyQualifiedDomainName": "mydemoserver.postgres.database.azure.com",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.DBforPostgreSQL/servers/mydemoserver",
  "location": "westus",
  "name": "mydemoserver",
  "resourceGroup": "myresourcegroup",
  "sku": {
    "capacity": 2,
    "family": "Gen5",
    "name": "GP_Gen5_2",
    "size": null,
    "tier": "GeneralPurpose"
  },
  "sslEnforcement": "Enabled",
  "storageProfile": {
    "backupRetentionDays": 7,
    "geoRedundantBackup": "Disabled",
    "storageMb": 5120
  },
  "tags": null,
  "type": "Microsoft.DBforPostgreSQL/servers",
  "userVisibleState": "Ready",
  "version": "9.6"
}

psql を使用した PostgreSQL データベースへの接続Connect to PostgreSQL database using psql

クライアント コンピューターに PostgreSQL がインストールされている場合は、psql のローカル インスタンスを使用して Azure PostgreSQL サーバーに接続できます。If your client computer has PostgreSQL installed, you can use a local instance of psql to connect to an Azure PostgreSQL server. ここでは psql コマンド ライン ユーティリティを使用して、Azure PostgreSQL サーバーに接続しましょう。Let's now use the psql command-line utility to connect to the Azure PostgreSQL server.

  1. 次の psql コマンドを実行して Azure Database for PostgreSQL に接続します。Run the following psql command to connect to an Azure Database for PostgreSQL server

    psql --host=<servername> --port=<port> --username=<user@servername> --dbname=<dbname>
    

    たとえば次のコマンドは、アクセス資格情報を使用して、PostgreSQL サーバー mydemoserver.postgres.database.azure.com にある既定のデータベース postgres に接続します。For example, the following command connects to the default database called postgres on your PostgreSQL server mydemoserver.postgres.database.azure.com using access credentials. パスワードの入力を求められたら、選択した <server_admin_password> を入力します。Enter the <server_admin_password> you chose when prompted for password.

    psql --host=mydemoserver.postgres.database.azure.com --port=5432 --username=myadmin@mydemoserver --dbname=postgres
    

    ヒント

    Postgres への接続に URL パスを使用する場合は、%40 を使用してユーザー名の @ 記号を URL エンコードします。If you prefer to use a URL path to connect to Postgres, URL encode the @ sign in the username with %40. たとえば、psql の接続文字列は次のようになります。For example the connection string for psql would be,

    psql postgresql://myadmin%40mydemoserver@mydemoserver.postgres.database.azure.com:5432/postgres
    
  2. サーバーに接続したら、プロンプトで空のデータベースを作成します。Once you are connected to the server, create a blank database at the prompt.

    CREATE DATABASE mypgsqldb;
    
  3. プロンプトで次のコマンドを実行し、新しく作成したデータベース mypgsqldb に接続を切り替えます。At the prompt, execute the following command to switch connection to the newly created database mypgsqldb:

    \c mypgsqldb
    

pgAdmin を使用して PostgreSQL サーバーに接続するConnect to the PostgreSQL Server using pgAdmin

pgAdmin は PostgreSQL で使用されるオープンソース ツールです。pgAdmin is an open-source tool used with PostgreSQL. pgAdmin の Web サイトからインストールできます。You can install pgAdmin from the pgAdmin website. 使用する pgAdmin のバージョンは、このクイック スタートで使用されているものと異なる可能性があります。The pgAdmin version you're using may be different from what is used in this Quickstart. 追加のガイダンスが必要な場合は、pgAdmin のドキュメントをご覧ください。Read the pgAdmin documentation if you need additional guidance.

  1. クライアント コンピューターで pgAdmin アプリケーションを開きます。Open the pgAdmin application on your client computer.

  2. ツール バーから [オブジェクト] に移動し、 [作成] をポイントして、 [サーバー] を選択します。From the toolbar go to Object, hover over Create, and select Server.

  3. [作成 - サーバー] ダイアログ ボックスの [全般] タブに、サーバーの一意のフレンドリ名 (mydemoserver など) を入力します。In the Create - Server dialog box, on the General tab, enter a unique friendly name for the server, such as mydemoserver.

    [General](全般) タブ

  4. [作成 - サーバー] ダイアログ ボックスの [接続] タブで、設定テーブルに入力します。In the Create - Server dialog box, on the Connection tab, fill in the settings table.

    [接続] タブ

    pgAdmin パラメーターpgAdmin parameter Value 説明Description
    ホスト名/アドレスHost name/address サーバー名Server name 前の手順で Azure Database for PostgreSQL サーバーを作成したときに使用したサーバー名の値。The server name value that you used when you created the Azure Database for PostgreSQL server earlier. 例に示したサーバーは、mydemoserver.postgres.database.azure.com です。Our example server is mydemoserver.postgres.database.azure.com. Use the fully qualified domain name ( *.postgres.database.azure.com) as shown in the example.Use the fully qualified domain name (*.postgres.database.azure.com) as shown in the example. サーバー名を覚えていない場合は、前のセクションの手順に従って接続情報を取得してください。If you don't remember your server name, follow the steps in the previous section to get the connection information.
    PortPort 54325432 Azure Database for PostgreSQL サーバーに接続するときに使用するポート。The port to use when you connect to the Azure Database for PostgreSQL server.
    メンテナンス データベースMaintenance database postgrespostgres システムによって生成される既定のデータベース名。The default system-generated database name.
    ユーザー名Username サーバー管理者ログイン名Server admin login name 前の手順で Azure Database for PostgreSQL サーバーを作成したときに指定したサーバー管理者ログイン ユーザー名。The server admin login username that you supplied when you created the Azure Database for PostgreSQL server earlier. ユーザー名を覚えていない場合は、前のセクションの手順に従って接続情報を取得してください。If you don't remember the username, follow the steps in the previous section to get the connection information. 形式は username@servername です。The format is username@servername.
    パスワードPassword 管理者パスワードYour admin password このクイック スタートでサーバーを作成したときに選択したパスワードです。The password you chose when you created the server earlier in this Quickstart.
    RoleRole 空白Leave blank この時点でロール名を指定する必要はありません。There's no need to provide a role name at this point. このフィールドは空白にしてください。Leave the field blank.
    SSL モードSSL mode "必須"Require pgAdmin の [SSL] タブで、SSL モードを設定できます。既定では、すべての Azure Database for PostgreSQL サーバーは SSL の強制がオンの状態で作成されます。You can set the SSL mode in pgAdmin's SSL tab. By default, all Azure Database for PostgreSQL servers are created with SSL enforcing turned on. SSL の強制をオフにする方法については、SSL の強制に関する記事をご覧ください。To turn off SSL enforcing, see SSL Enforcing.
  5. [保存] を選択します。Select Save.

  6. 左側の [ブラウザー] ウィンドウで [サーバー] ノードを展開します。In the Browser pane on the left, expand the Servers node. mydemoserver など、ご利用のサーバーを選択します。Select your server, for example, mydemoserver. クリックして接続します。Click to connect to it.

  7. サーバー ノードを展開し、その下の [Databases](データベース) を展開します。Expand the server node, and then expand Databases under it. 一覧には既存の postgres データベースと、作成した他のデータベースすべてを含める必要があります。The list should include your existing postgres database and any other databases you've created. Azure Database for PostgreSQL では、サーバーごとに複数のデータベースを作成できます。You can create multiple databases per server with Azure Database for PostgreSQL.

  8. [データベース] を右クリックし、 [作成] メニューを選択して [データベース] を選択します。Right-click Databases, choose the Create menu, and then select Database.

  9. [データベース] フィールドに、任意のデータベース名 (mypgsqldb2 など) を入力します。Type a database name of your choice in the Database field, such as mypgsqldb2.

  10. データベースの所有者をリスト ボックスから選択します。Select the Owner for the database from the list box. サーバー管理者ログイン名 (例に示した my admin など) を選択します。Choose your server admin login name, such as the example, my admin.

    pgadmin でデータベースを作成する

  11. [保存] を選択して、新しい空のデータベースを作成します。Select Save to create a new blank database.

  12. [ブラウザー] ウィンドウで、該当するサーバー名のデータベースの一覧で、作成したデータベースを確認できます。In the Browser pane, you can see the database that you created in the list of databases under your server name.

リソースのクリーンアップClean up resources

Azure リソース グループを削除して、クイックスタートで作成したすべてのリソースをクリーンアップします。Clean up all resources you created in the quickstart by deleting the Azure resource group.

ヒント

このコレクションの他のクイックスタートは、このクイックスタートに基づいています。Other quickstarts in this collection build upon this quickstart. 引き続きクイックスタートの作業を行う場合は、このクイックスタートで作成したリソースをクリーンアップしないでください。If you plan to continue to work with subsequent quickstarts, do not clean up the resources created in this quickstart. これ以上作業を行わない場合は、以下の手順に従い、このクイック スタートで作成したすべてのリソースを Azure CLI で削除してください。If you do not plan to continue, use the following steps to delete all resources created by this quickstart in the Azure CLI.

az group delete --name myresourcegroup

新しく作成した 1 つのサーバーを削除するだけの場合は、az postgres server delete コマンドを実行してください。If you would just like to delete the one newly created server, you can run az postgres server delete command.

az postgres server delete --resource-group myresourcegroup --name mydemoserver

次の手順Next steps