クイック スタート: Azure CLI を使用して Azure Database for PostgreSQL - フレキシブル サーバー インスタンスを作成する
適用対象: Azure Database for PostgreSQL - フレキシブル サーバー
このクイックスタートでは、Azure Cloud Shell で Azure CLI コマンドを使って、Azure Database for PostgreSQL フレキシブル サーバー インスタンスを 5 分で作成する方法について説明します。 Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
Azure Cloud Shell を起動する
Azure Cloud Shell は無料のインタラクティブ シェルです。この記事の手順は、Azure Cloud Shell を使って実行することができます。 一般的な Azure ツールが事前にインストールされており、アカウントで使用できるように構成されています。
Cloud Shell を開くには、コード ブロックの右上隅にある [使ってみる] を選択します。 https://shell.azure.com/bash に移動して、別のブラウザー タブで Cloud Shell を開くこともできます。 [コピー] を選択してコードのブロックをコピーし、Cloud Shell に貼り付けてから、 [入力] を選択して実行します。
CLI をローカルにインストールして使用する場合、このクイックスタートでは、Azure CLI バージョン 2.0 以降が必要です。 バージョンを確認するには、az --version
を実行します。 インストールまたはアップグレードする必要がある場合は、Azure CLI のインストールに関するページを参照してください。
前提条件
az login コマンドを使ってアカウントにログインする必要があります。 出力の id プロパティに注意してください。これは、Azure アカウントのサブスクリプション ID を示します。
az login
az account set コマンドを使用して、アカウントの特定のサブスクリプションを選択します。 az login の出力の id 値を、このコマンド内の subscription 引数の値として使用します。 複数のサブスクリプションをお持ちの場合は、リソースが課金の対象となる適切なサブスクリプションを選択してください。 すべてのサブスクリプションを取得するには、az account list を使用します。
az account set --subscription <subscription id>
フレキシブル サーバーを作成する
az group create
コマンドを使って Azure リソース グループを作成した後、このリソース グループ内に Azure Database for PostgreSQL フレキシブル サーバー インスタンスを作成します。 一意の名前を指定する必要があります。 次の例では、eastus
の場所に myresourcegroup
という名前のリソース グループを作成します。
az group create --name myresourcegroup --location eastus
az postgres flexible-server create
コマンドを使って、Azure Database for PostgreSQL フレキシブル サーバー インスタンスを作成します。 1 つのサーバーに複数のデータベースを含めることができます。 次のコマンドでは、今作成したリソース グループ内にサーバーを作成します。
az postgres flexible-server create --name mydemoserver --resource-group myresourcegroup
既定の接続方法は [パブリック アクセス (許可された IP アドレス)] であるため、コマンドでは、自分の IP アドレスとすべての IP (0.0.0.0 から 255.255.255.255 の範囲) を許可されたアドレスのリストに追加するかどうかの確認を求められます。
作成されたサーバーには、次の属性があります。
- リソース グループと同じ場所
- 自動生成された管理者ユーザー名と管理者パスワード (これは、セキュリティで保護された場所に保存する必要があります)
- "flexibleserverdb" という名前の既定のデータベース
- 残りのサーバー構成のためのサービスの既定値: コンピューティング レベル (汎用)、コンピューティング サイズ/SKU (
Standard_D2s_v3
- 2 仮想コア、8 GB RAM)、バックアップの保持期間 (7 日)、PostgreSQL のバージョン (13)
Note
サーバーの作成後に接続方法を変更することはできません。 たとえば、作成中に [プライベート アクセス (VNet 統合)] を選択した場合、作成後にそれを [パブリック アクセス (許可された IP アドレス)] に変更することはできません。 VNet 統合を使用してサーバーに安全にアクセスするには、プライベート アクセスを指定してサーバーを作成することを強くお勧めします。 プライベート アクセスの詳細については、概念に関する記事を参照してください。
いずれかの既定値を変更したい場合は、Azure CLI リファレンスの「az postgres flexible-server create」を参照してください。
Note
Azure Database for PostgreSQL フレキシブル サーバーとの接続では、ポート 5432 が通信に使われます。 企業ネットワーク内から接続を試みる場合、ポート 5432 でのアウトバウンド トラフィックが許可されていない場合があります。 その場合、会社の IT 部門によってポート 5432 が開放されない限り、サーバーに接続することはできません。 Azure Database for PostgreSQL フレキシブル サーバーのインスタンスで PgBouncer を有効にし、それを介して接続する場合、それはポート 6432 で実行するため、IT 部門ではアウトバウンド トラフィック用にそのポートを開く必要があることに注意してください。
接続情報の取得
サーバーに接続するには、ホスト情報とアクセス資格情報を提供する必要があります。
az postgres flexible-server show --name mydemoserver --resource-group myresourcegroup
結果は JSON 形式です。 fullyQualifiedDomainName と administratorLogin の値を書き留めておきます。 前の手順でパスワードが保存されている必要があります。
{
"administratorLogin": "myadmin",
"availabilityZone": "3",
"backup": {
"backupRetentionDays": 7,
"earliestRestoreDate": "2022-10-20T18:03:50.989428+00:00",
"geoRedundantBackup": "Disabled"
},
"earliestRestoreDate": null,
"fullyQualifiedDomainName": "mydemoserver.postgres.database.azure.com",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/mydemoserver",
"location": "eastus",
"name": "mydemoserver",
"network": {
"delegatedSubnetResourceId": null,
"privateDnsZoneArmResourceId": null,
"publicNetworkAccess": "Enabled"
},
"resourceGroup": "myresourcegroup",
"sku": {
"name": "Standard_D2s_v3",
"tier": "GeneralPurpose"
},
"state": "Ready",
"storage": {
"storageSizeGb": 128
},
"tags": null,
"type": "Microsoft.DBforPostgreSQL/flexibleServers",
"version": "13"
}
PostgreSQL コマンドライン クライアントを使用して接続する
まず、psql コマンド ライン ツールをインストールします。
psql で、次のコマンドを使って "flexibleserverdb" データベースに接続します。 次の値を自動生成されたドメイン名とユーザー名に置き換えます。
psql -h mydemoserver.postgres.database.azure.com -U myadmin flexibleserverdb
注意
The parameter PrivateDnsZoneArguments is required, and must be provided by customer
というエラーが発生した場合は、古いバージョンの Azure CLI が実行されている可能性があります。 Azure CLI をアップグレードしてから、操作をやり直してください。
リソースをクリーンアップする
これらのリソースが別のクイック スタート/チュートリアルで不要である場合、次のコマンドで削除することができます。
az group delete --name myresourcegroup
新しく作成されたサーバーだけを削除する場合は、az postgres flexible-server delete
コマンドを実行できます。
az postgres flexible-server delete --resource-group myresourcegroup --name mydemoserver