Azure CLI を使用した Azure Database for PostgreSQL - フレキシブル サーバー ファイアウォール規則の作成と管理

適用対象: Azure Database for PostgreSQL - フレキシブル サーバー

Azure Database for PostgreSQL フレキシブル サーバーでは、Azure Database for PostgreSQL フレキシブル サーバー インスタンスに接続するために、相互に排他的な 2 種類のネットワーク接続方法がサポートされています。 次の 2 つのオプションがあります。

  • パブリック アクセス (許可された IP アドレス)。 このメソッドは、プレビュー段階の Azure Database for PostgreSQL フレキシブル サーバーを使用した Private Link ベースのネットワークを使うと、さらなるセキュリティ強化が可能です。
  • プライベート アクセス (VNet 統合)

この記事では、Azure CLI を使用してパブリック アクセス (許可された IP アドレス) を持つ Azure Database for PostgreSQL フレキシブル サーバー インスタンスの作成に焦点を当て、サーバーの作成後にファイアウォール規則の作成、更新、削除、一覧表示、表示に使用できる Azure CLI コマンドの概要について説明します。 パブリック アクセス (許可された IP アドレス) では、Azure Database for PostgreSQL フレキシブル サーバー インスタンスへの接続は許可された IP アドレスのみに制限されます。 クライアント IP アドレスは、ファイアウォール規則で許可されている必要があります。 詳細については、「パブリック アクセス (許可された IP アドレス)」をご覧ください。 ファイアウォール規則は、サーバーの作成時に定義できます (推奨) が、後で追加することもできます。

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>

Azure CLI を使用した Azure Database for PostgreSQL フレキシブル サーバー インスタンスの作成中にファイアウォール規則を作成する

az postgres flexible-server --public access コマンドを使用して、パブリック アクセス (許可された IP アドレス) で Azure Database for PostgreSQL フレキシブル サーバー インスタンスを作成し、Azure Database for PostgreSQL フレキシブル サーバー インスタンスの作成時にファイアウォール規則を構成できます。 --public-access スイッチを使用して、サーバーに接続できる許可された IP アドレスを指定できます。 IP アドレスの許可リストに含める 1 つの IP アドレス、または IP アドレスの範囲を指定できます。 IP アドレスの範囲はダッシュで区切る必要があり、スペースは含めません。 次の例に示すように、CLI を使用して Azure Database for PostgreSQL フレキシブル サーバー インスタンスを作成するには、さまざまなオプションがあります。

Azure CLI のリファレンス ドキュメント で、構成可能な CLI パラメーターの完全な一覧を参照してください。 たとえば、次のコマンドでは、必要に応じてリソース グループを指定できます。

  • パブリック アクセスによる Azure Database for PostgreSQL フレキシブル サーバー インスタンスを作成し、サーバーへのアクセスするためのクライアント IP アドレスを追加します:

    az postgres flexible-server create --public-access <my_client_ip>
    
  • パブリック アクセスによる Azure Database for PostgreSQL フレキシブル サーバー インスタンスを作成し、このサーバーにアクセスするための IP アドレスの範囲を追加します:

    az postgres flexible-server create --public-access <start_ip_address-end_ip_address>
    
  • パブリック アクセスを使用して Azure Database for PostgreSQL フレキシブル サーバー インスタンスを作成し、Azure IP アドレスからのアプリケーションが Azure Database for PostgreSQL フレキシブル サーバー インスタンスに接続できるようにします:

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

    重要

    このオプションによって、他のお客様のサブスクリプションからの接続を含む、Azure サービスおよび Azure 内のリソースからこのサーバーへのパブリック アクセスを許可するようにファイアウォールが構成されます。 このオプションを選択する場合は、ログインおよびユーザーのアクセス許可が、承認されたユーザーのみにアクセスを制限していることを確認してください。

    • パブリック アクセスによる Azure Database for PostgreSQL フレキシブル サーバー インスタンスを作成し、すべての IP アドレスを許可します:
      az postgres flexible-server create --public-access all
      

      Note

      前のコマンドにより、開始 IP アドレスが 0.0.0.0、終了 IP アドレスが 255.255.255.255 のファイアウォール規則が作成されます。ブロックされる IP アドレスはありません。 インターネット上にあるすべてのホストからこのサーバーにアクセスできます。 この規則は、機密データが含まれていないテスト サーバーに限定して、一時的にのみ使用することを強くお勧めします。

  • パブリック アクセスによる Azure Database for PostgreSQL フレキシブル サーバー インスタンスを、IP アドレスなしで作成します:

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

    Note

    ファイアウォール規則のないサーバーを作成することはお勧めしません。 ファイアウォール規則を追加しない場合、どのクライアントからもサーバーに接続できません。

サーバーを作成した後にファイアウォール規則を作成して管理する

Azure CLI の az postgres flexible-server firewall-rule コマンドで、ファイアウォール規則を作成、削除、一覧表示、表示、更新します。

コマンド:

  • create: Azure Database for PostgreSQL フレキシブル サーバーのファイアウォール規則を作成します。
  • list: Azure Database for PostgreSQL フレキシブル サーバーにおけるファイアウォール規則を一覧表示します。
  • update: Azure Database for PostgreSQL フレキシブル サーバーのファイアウォール規則を更新します。
  • show: Azure Database for PostgreSQL フレキシブル サーバーのファイアウォール規則の詳細を表示します。
  • delete: Azure Database for PostgreSQL フレキシブル サーバーのファイアウォール規則を削除します。

Azure CLI のリファレンス ドキュメント で、構成可能な CLI パラメーターの完全な一覧を参照してください。 たとえば、次のコマンドでは、必要に応じてリソース グループを指定できます。

ファイアウォール規則を作成する

az postgres flexible-server firewall-rule create コマンドを使用して、サーバーに新しいファイアウォール規則を作成します。 IP アドレスの範囲に対するアクセスを許可するには、次の例のように、開始 IP アドレスと終了 IP アドレスの IP アドレスを指定します。 このコマンドでは、パラメーターとして、サーバーが存在する Azure リソース グループの名前も必要です。

az postgres flexible-server firewall-rule create --name mydemoserver --resource-group testGroup --start-ip-address 13.83.152.0 --end-ip-address 13.83.152.15

1 つの IP アドレスに対するアクセスを許可するには、次の例のように、1 つだけ IP アドレスを指定します。

az postgres flexible-server firewall-rule create --name mydemoserver  --resource-group testGroup  --start-ip-address 1.1.1.1

アプリケーションに Azure IP アドレスからの Azure Database for PostgreSQL フレキシブル サーバー インスタンスへの接続を許可するには、次の例のように、開始 IP として IP アドレス 0.0.0.0 を指定します。

az postgres flexible-server firewall-rule create --name mydemoserver --resource-group testGroup --start-ip-address 0.0.0.0

重要

このオプションによって、他のお客様のサブスクリプションからの接続を含む、Azure サービスおよび Azure 内のリソースからこのサーバーへのパブリック アクセスを許可するようにファイアウォールが構成されます。 このオプションを選択する場合は、ログインおよびユーザーのアクセス許可が、承認されたユーザーのみにアクセスを制限していることを確認してください。

正常に完了すると、各 create コマンドの出力として、作成したファイアウォール規則の詳細が JSON 形式 (既定) で一覧表示されます。 失敗した場合は、代わりにエラー メッセージ テキストが出力されます。

ファイアウォール規則の一覧表示

az postgres flexible-server firewall-rule list コマンドを使用して、サーバー上の既存のサーバー ファイアウォール規則を一覧表示します。 サーバー名属性は、 --name スイッチで指定されることにご注意ください。

az postgres flexible-server firewall-rule list --name mydemoserver --resource-group testGroup

規則がある場合は、JSON 形式 (既定) で出力として一覧表示されます。 --output table** スイッチを使用すると、結果をよりわかりやすい表形式で出力できます。

az postgres flexible-server firewall-rule list --name mydemoserver --resource-group testGroup --output table

ファイアウォール規則の更新

az postgres flexible-server firewall-rule update コマンドを使用して、サーバーの既存のファイアウォール規則を更新します。 入力として既存のファイアウォール規則の名前に加え、更新する開始 IP アドレスと終了 IP アドレス属性を指定します。

az postgres flexible-server firewall-rule update --name mydemoserver --rule-name FirewallRule1 --resource-group testGroup --start-ip-address 13.83.152.0 --end-ip-address 13.83.152.1

正常に完了すると、コマンドの出力として、更新したファイアウォール規則の詳細が JSON 形式 (既定) で一覧表示されます。 失敗した場合は、代わりにエラー メッセージ テキストが出力されます。

Note

ファイアウォール規則が存在しない場合は、更新コマンドによって規則が作成されます。

ファイアウォール規則の詳細の表示

az postgres flexible-server firewall-rule show コマンドを使用して、サーバー上にある既存のファイアウォール規則の詳細を表示します。 既存のファイアウォール規則の名前を入力します。

az postgres flexible-server firewall-rule show --name mydemoserver --rule-name FirewallRule1 --resource-group testGroup

正常に完了すると、コマンドの出力として、指定したファイアウォール規則の詳細が JSON 形式 (既定) で一覧表示されます。 失敗した場合は、代わりにエラー メッセージ テキストが出力されます。

ファイアウォール規則の削除

az postgres flexible-server firewall-rule delete コマンドを使用して、サーバーから既存のファイアウォール規則を削除します。 既存のファイアウォール規則の名前を入力します。

az postgres flexible-server firewall-rule delete --name mydemoserver --rule-name FirewallRule1 --resource-group testGroup

正常に完了すると、出力はありません。 失敗した場合は、エラー メッセージ テキストが表示されます。

次のステップ