Azure CLI を使い、Azure Database for PostgreSQL - フレキシブル サーバーに対する Private Link を使用して仮想ネットワークの作成と管理を行う
適用対象: Azure Database for PostgreSQL - フレキシブル サーバー
Azure Database for PostgreSQL フレキシブル サーバーでは、Azure Database for PostgreSQL フレキシブル サーバー インスタンスに接続するために、相互に排他的な 2 種類のネットワーク接続方法がサポートされています。 次の 2 つのオプションがあります。
- 許可された IP アドレスを使用するパブリック アクセス。 Azure Database for PostgreSQL フレキシブル サーバーとの Azure Private Link ベースのネットワークを使って、その方法のセキュリティをさらに強化できます。 この機能はプレビュー段階にあります。
- 仮想ネットワーク統合によるプライベート アクセス。
この記事では、パブリック アクセス (許可された IP アドレス) を備えた Azure Database for PostgreSQL フレキシブル サーバー インスタンスの、Azure portal を使用した作成に焦点を当てます。 その後、Private Link テクノロジに基づくプライベート ネットワークを追加して、サーバーのセキュリティ保護を支援できます。
Private Link を使うと、仮想ネットワーク内のプライベート エンドポイント経由で次のサービスにアクセスできます。
- Azure Database for PostgreSQL フレキシブル サーバーなどの、Azure のサービスとしてのプラットフォーム (PaaS) サービス
- Azure でホストされている顧客所有またはパートナーのサービス
仮想ネットワークとサービスの間のトラフィックは、Microsoft のバックボーン ネットワークを経由するため、パブリック インターネットに露出しません。
前提条件
プライベート リンクを使用して仮想ネットワークに Azure Database for PostgreSQL フレキシブル サーバー インスタンスを追加するには、次のものが必要です。
仮想ネットワーク。 仮想ネットワークとサブネットは、ご利用の Azure Database for PostgreSQL フレキシブル サーバー インスタンスと同じリージョンおよびサブスクリプション内に存在する必要があります。
ロックはネットワークと DNS での操作を妨げる可能性があるため、サーバーを仮想ネットワークに追加する前に、仮想ネットワークとすべてのサブネットからすべてのロック (削除または読み取り専用) を必ず削除してください。 サーバーの作成後にロックをリセットできます。
az login コマンドを使用してアカウントにサインインする必要があります。 ID プロパティに注意してください。これは、お使いの Azure アカウントのサブスクリプション ID のことです。
az login
az account set コマンドを使用して、アカウントの特定のサブスクリプションを選択します。 az login 出力の ID の値をメモしておいて、このコマンドの subscription 引数の値として使用します。 複数のサブスクリプションをお持ちの場合は、リソースが課金の対象となる適切なサブスクリプションを選択してください。 すべてのサブスクリプションを取得するには、az account list を使用します。
az account set --subscription <subscription id>
プライベート エンドポイントを備えた Azure Database for PostgreSQL フレキシブル サーバー インスタンスを作成する
仮想ネットワーク、プライベート エンドポイント、プライベート DNS ゾーンを作成して、それをリンクします
Azure ネットワークに関するこちらのドキュメントに従って、これらの手順を完了できます。
パブリック アクセスなしで PostgreSQL フレキシブル サーバーを作成します
az postgres flexible-server create --resource-group <resource_group_name> --name <server_name> --public-access 'None'
最初のステップで作成した、PostgreSQL フレキシブル サーバーに関連付けられているプライベート エンドポイント接続を指定して承認します。
az postgres flexible-server private-endpoint-connection approve -g <resource_group> -s <server_name> -n <connection_name> --description "Approve connection"