チュートリアル: Azure portal を使用して Azure プライベート エンドポイント経由で Azure SQL サーバーに接続する

Azure プライベート エンドポイントは、Azure における Private Link の基本的な構成要素です。 これにより、仮想マシン (VM) などの Azure リソースは、Azure SQL サーバーなどの Private Link リソースと非公開かつ安全に通信できます。

プライベート エンドポイントのクイックスタートで作成されたリソースの図。

このチュートリアルでは、次の作業を行う方法について説明します。

  • 仮想ネットワークと bastion ホストを作成します。
  • 仮想マシンを作成します。
  • Azure SQL サーバーとプライベート エンドポイントを作成します。
  • SQL サーバー プライベート エンドポイントへの接続をテストします。

Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。

前提条件

  • Azure サブスクリプション

Azure へのサインイン

Azure portal にサインインします。

仮想ネットワークと Azure Bastion ホストを作成する

次の手順では、リソース サブネット、Azure Bastion サブネット、Bastion ホストを含む仮想ネットワークを作成します。

  1. ポータルで、[仮想ネットワーク] を検索して選択します。

  2. [仮想ネットワーク] ページで、[+ 作成] を選択します。

  3. [仮想ネットワークの作成][基本] タブで、以下の情報を入力するか選択します。

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    Resource group [新規作成] を選択します。
    名前に「test-rg」と入力します。

    を選択します。
    インスタンスの詳細
    Name vnet-1」と入力します。
    リージョン [米国東部 2] を選択します。

    Azure portal で仮想ネットワークを作成するための [基本] タブのスクリーンショット。

  4. [次へ] を選択して、[セキュリティ] タブに進みます。

  5. [Azure Bastion] セクションで、[Azure Bastion の有効化] を選択します。

    Bastion では、ユーザーのブラウザーとプライベート IP アドレスを使って、Secure Shell (SSH) またはリモート デスクトップ プロトコル (RDP) 経由で仮想ネットワーク内の VM に接続します。 VM には、パブリック IP アドレス、クライアント ソフトウェア、または特別な構成は必要ありません。 詳細については、Azure Bastion に関するページを参照してください。

    Note

    時間単位の価格は、送信データの使用状況に関係なく、Bastion がデプロイされた時点から開始します。 詳しくは、「価格」および「SKU」を参照してください。 チュートリアルまたはテストの一環で Bastion をデプロイする場合は、使用終了後にこのリソースを削除することをお勧めします。

  6. [Azure Bastion] で、次の情報を入力するか選びます。

    設定
    Azure Bastion ホスト名 bastion」と入力します。
    Azure Bastion のパブリック IP アドレス [Create a public IP address] (パブリック IP アドレスを作成する) を選びます。
    [名前] に「public-ip-bastion」と入力します。

    を選択します。

    Azure portal で仮想ネットワークを作成する際に Azure Bastion ホストを有効にするためのオプションのスクリーンショット。

  7. [次へ] を選択して、[IP アドレス] タブに進みます。

  8. [サブネット] のアドレス空間ボックスで、既定のサブネットを選択します。

  9. [サブネットの編集] で次の情報を入力または選択します。

    設定 Value
    サブネットの目的 既定値の [既定値] のままにします。
    名前 subnet-1」と入力します。
    IPv4
    IPv4 アドレス範囲 既定値である 10.0.0.0/16 のままにします。
    開始アドレス 既定値の 10.0.0.0 のままにします。
    サイズ 既定値の [/24 (256 アドレス)] のままにします。

    サブネットの構成の詳細のスクリーンショット。

  10. [保存] を選択します。

  11. ウィンドウの下部にある [確認および作成] を選びます。 検証に合格した場合は、[作成] を選択します。

テスト用の仮想マシンを作成する

次の手順では、仮想ネットワークに vm-1 という名前のテスト仮想マシン (VM) を作成します。

  1. ポータルで、[仮想マシン] を検索して選択します。

  2. [仮想マシン][+ 作成][Azure 仮想マシン] の順に選択します。

  3. [仮想マシンの作成][基本] タブで、次の情報を入力または選択します。

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    Resource group test-rg を選択します。
    インスタンスの詳細
    仮想マシン名 vm-1」と入力します。
    リージョン [米国東部 2] を選択します。
    可用性のオプション [インフラストラクチャ冗長は必要ありません] を選択します。
    セキュリティの種類 規定値である [標準] のままにします。
    Image [Ubuntu Server 22.04 LTS - x64 Gen2] を選びます。
    VMアーキテクチャ 既定値の [x64] のままにします。
    サイズ サイズを選択します。
    管理者アカウント
    認証の種類 [パスワード] を選択します。
    ユーザー名 azureuser」と入力します。
    Password パスワードを入力します。
    パスワードの確認 パスワードを再入力します。
    受信ポートの規則
    パブリック受信ポート [なし] を選択します。
  4. ページの上部にある [ネットワーク] タブを選択します。

  5. [ネットワーク] タブで、次の情報を入力または選択します。

    設定
    ネットワーク インターフェイス
    仮想ネットワーク [vnet-1] を選択します。
    Subnet subnet-1 (10.0.0.0/24) を選択します。
    パブリック IP [なし] を選択します。
    NIC ネットワーク セキュリティ グループ [Advanced] \(詳細設定) を選択します。
    ネットワーク セキュリティ グループを構成する [新規作成] を選択します。
    名前として「nsg-1」を入力します。
    残りの部分は既定値のままにし、[OK] を選択します。
  6. 残りの設定は既定値のままにし、[確認と作成] を選択します。

  7. 設定を確認し、 [作成] を選択します。

Note

Bastion ホストがある仮想ネットワーク内の仮想マシンには、パブリック IP アドレスが必要ありません。 Bastion がパブリック IP を提供し、VM はプライベート IP を使用してネットワーク内で通信します。 bastion ホストがある仮想ネットワーク内のいずれの VM からも、パブリック IP を削除できます。 詳細については、「パブリック IP アドレスの関連付けを Azure VM から解除する」を参照してください。

Note

パブリック IP が割り当てられていない VM、または内部の Basic Azure Load Balancer のバックエンド プール内にある VM に対しては、Azure によって既定のアウトバウンド アクセス IP が提供されます。 デフォルト送信アクセス IP メカニズムは、構成できないアウトバウンド IP アドレスを提供します。

次のいずれかのイベントが発生すると、既定のアウトバウンド アクセス IP は無効になります。

  • パブリック IP アドレスが VM に割り当てられます。
  • アウトバウンド規則の有無にかかわらず、VM は標準ロード バランサーのバックエンド プール内に配置されます。
  • Azure NAT Gateway リソースが VM のサブネットに割り当てられている。

フレキシブル オーケストレーション モードの仮想マシン スケール セットによって作成された VM には、既定のアウトバウンド アクセスがありません。

Azure のアウトバウンド接続の詳細については、「Azure での既定の送信アクセス」および「送信接続での送信元ネットワーク アドレス変換 (SNAT)を使用する」を参照してください。

Azure SQL サーバーとプライベート エンドポイントを作成する

このセクションでは、Azure に SQL サーバーを作成します。

  1. ポータルの上部にある検索ボックスに、「SQL」と入力します。 検索結果で [SQL データベース] を選択します。

  2. [SQL データベース][+ 作成] を選択します。

  3. [SQL データベースの作成][基本] タブで、次の情報を入力または選択します。

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    Resource group test-rg を選択します。
    データベースの詳細
    データベース名 sql-db」と入力します。
    サーバー [新規作成] を選択します。
    [サーバー名] に「sql-server-1」と入力します (サーバー名は一意である必要があります。sql-server-1 を一意の値に置き換えてください)。
    [場所][(米国) 米国東部 2] を選択します。
    [SQL 認証を使用する] を選択します。
    サーバー管理者のサインインとパスワードを入力します。

    を選択します。
    SQL エラスティック プールを使用しますか? このため、 [いいえ] を選択します。
    ワークロード環境 既定値である [運用] のままにします。
    バックアップ ストレージの冗長性
    バックアップ ストレージの冗長性 [ローカル冗長バックアップ ストレージ] を選択します。
  4. [次へ: ネットワーク] を選択します。

  5. [SQL データベースの作成][ネットワーク] タブで、次の情報を入力または選択します。

    設定
    ネットワーク接続
    接続方法 [プライベート エンドポイント] を選択します。
    プライベート エンドポイント
    [+ プライベート エンドポイントの追加] を選択します。
    プライベート エンドポイントの作成
    サブスクリプション サブスクリプションを選択します。
    Resource group test-rg を選択します。
    場所 [米国東部 2] を選択します。
    名前 private-endpoint-sql」と入力します。
    ターゲット サブリソース [SqlServer] を選択します。
    ネットワーク
    仮想ネットワーク [vnet-1] を選択します。
    Subnet subnet-1 を選択します。
    プライベート DNS の統合
    プライベート DNS ゾーンとの統合 [はい] を選択します。
    プライベート DNS ゾーン 既定値である [privatelink.database.windows.net] のままにします。
  6. [OK] を選択します。

  7. [Review + create](レビュー + 作成) を選択します。

  8. [作成] を選択します

重要

プライベート エンドポイント接続を追加する場合、Azure SQL サーバーへのパブリック ルーティングは既定ではブロックされません。 [ファイアウォールと仮想ネットワーク] ブレードの [パブリック ネットワーク アクセスの拒否] 設定は、既定ではオフのままになっています。 パブリック ネットワーク アクセスを無効にするには、これがオンになっている必要があります。

Azure SQL 論理サーバーへのパブリック アクセスを無効にする

このシナリオでは、Azure SQL サーバーへのすべてのパブリック アクセスを無効にして、自分の仮想ネットワークからの接続のみを許可するとします。

  1. ポータルの上部にある検索ボックスに、「SQL サーバー」 と入力します。 検索結果で [SQL サーバー] を選択します。

  2. sql-server-1 を選択します。

  3. [ネットワーク] ページで、[パブリック アクセス] タブを選択し、[パブリック ネットワーク アクセス] に対して [無効] を選択します。

  4. [保存] を選択します。

プライベート エンドポイントへの接続のテスト

このセクションでは、前の手順で作成した仮想マシンを使用して、プライベート エンドポイントを通じて SQL サーバーに接続します。

  1. ポータルの上部にある検索ボックスに、「仮想マシン」と入力します。 検索結果から [仮想マシン] を選択します。

  2. vm-1 を選択します。

  3. [操作][Bastion] を選択します。

  4. 仮想マシンのユーザー名とパスワードを入力します。

  5. 接続を選択します。

  6. プライベート エンドポイントの名前解決を確認するには、ターミナル ウィンドウで次のコマンドを入力します。

    nslookup server-name.database.windows.net
    

    次の例のようなメッセージが返されます。 返された IP アドレスは、プライベート エンドポイントのプライベート IP アドレスです。

    Server:    127.0.0.53
    Address:   127.0.0.53#53
    
    Non-authoritative answer:
    sql-server-8675.database.windows.netcanonical name = sql-server-8675.privatelink.database.windows.net.
    Name:sql-server-8675.privatelink.database.windows.net
    Address: 10.1.0.4
    
  7. Linux に SQL Server コマンド ライン ツール sqlcmd と bcp をインストールする」から SQL Server コマンド ライン ツールをインストールします。 インストールが完了したら、次の手順に進みます。

  8. 次のコマンドを使用して、前の手順で作成した SQL Server に接続します。

    • <server-admin> を、SQL Server 作成中に入力した管理者ユーザー名に置き換えてください。

    • <admin-password> を、SQL Server 作成中に入力した管理者パスワードに置き換えてください。

    • sql-server-1 をご使用の SQL Server の名前に置き換えてください。

    sqlcmd -S server-name.database.windows.net -U '<server-admin>' -P '<admin-password>'
    
  9. サインインに成功すると、SQL コマンド プロンプトが表示されます。 「exit」と入力して sqlcmd ツールを終了します。

作成したリソースを使い終えたら、リソース グループとそのすべてのリソースを削除できます。

  1. Azure portal で、「リソース グループ」を検索して選択します。

  2. [リソース グループ] ページで、test-rg リソース グループを選択します。

  3. [test-rg] ページで、[リソース グループの削除] を選択します。

  4. [削除を確認するために、リソース グループの名前を入力してください] に「test-rg」と入力して、[削除] を選びます。

次のステップ

このチュートリアルでは、以下の作成の仕方を学習しました:

  • 仮想ネットワークと bastion ホスト。

  • 仮想マシン。

  • Azure SQL サーバーとプライベート エンドポイント。

仮想マシンを使用して、プライベート エンドポイントを介した SQL サーバーへの接続を非公開かつ安全にテストしました。

次のステップとして、Azure SQL Database へのプライベート接続を使用する Web アプリのアーキテクチャ シナリオを確認します。このシナリオでは、仮想ネットワークの外部にある Web アプリケーションをデータベースのプライベート エンドポイントに接続します。