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

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

このチュートリアルでは、以下の内容を学習します。

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

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

前提条件

  • Azure サブスクリプション

Azure へのサインイン

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

仮想ネットワークと bastion ホストの作成

このセクションでは、仮想ネットワーク、サブネット、bastion ホストを作成します。

bastion ホストは、プライベート エンドポイントをテストする目的で、仮想マシンに安全に接続するために使用されます。

  1. 画面の左上で、[リソースの作成] [ネットワーク] > [仮想ネットワーク] の順に選択するか、検索ボックスで>を検索します。

  2. [仮想ネットワークの作成][基本] タブで次の情報を入力または選択します。

    設定
    プロジェクトの詳細
    サブスクリプション Azure サブスクリプションを選択します。
    リソース グループ [新規作成] を選択します。
    [名前] に「CreateSQLEndpointTutorial」と入力します。

    を選択します。
    インスタンスの詳細
    名前 myVNet」と入力します。
    リージョン [米国東部] を選択します。
  3. [IP アドレス] タブを選択するか、ページの下部にある [Next: IP Addresses](次へ: IP アドレス) ボタンを選択します。

  4. [IP アドレス] タブで、次の情報を入力します。

    設定
    IPv4 アドレス空間 10.1.0.0/16」を入力します。
  5. [サブネット名] で、 [default](既定) という単語を選択します。

  6. [サブネットの編集] に次の情報を入力します。

    設定
    サブネット名 mySubnet」と入力します。
    サブネットのアドレス範囲 10.1.0.0/24」と入力します。
  7. [保存] を選択します。

  8. [セキュリティ] タブをクリックします。

  9. [BastionHost][有効にする] を選択します。 この情報を入力します。

    設定
    要塞名 myBastionHost」と入力します
    AzureBastionSubnet のアドレス空間 10.1.1.0/24」と入力します。
    パブリック IP アドレス [新規作成] を選択します。
    [名前] に「myBastionIP」と入力します。

    を選択します。
  10. [確認と作成] タブを選択するか、 [確認と作成] ボタンを選択します。

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

仮想マシンの作成

このセクションでは、プライベート エンドポイントのテストに使用する仮想マシンを作成します。

  1. ポータルの左上で、 [リソースの作成]>[Compute]>[仮想マシン] の順に選択するか、検索ボックスで「仮想マシン」を検索します。

  2. [仮想マシンの作成][基本] タブに、値を入力するか選択します。

    設定
    プロジェクトの詳細
    サブスクリプション Azure サブスクリプションを選択します。
    リソース グループ [CreateSQLEndpointTutorial] を選択します。
    インスタンスの詳細
    仮想マシン名 myVM」と入力します。
    リージョン [(米国) 米国東部] を選択します。
    可用性オプション [インフラストラクチャ冗長は必要ありません] を選択します。
    セキュリティの種類 [Standard] を選択します。
    Image [Windows Server 2019 Datacenter - Gen2] を選択します。
    Azure Spot インスタンス このため、 [いいえ] を選択します。
    サイズ VM サイズを選択するか、既定の設定を使用します。
    管理者アカウント
    ユーザー名 ユーザー名を入力します。
    Password パスワードを入力します。
    パスワードの確認 パスワードを再入力します。
  3. [ネットワーク] タブまたは [次へ: ディスク] を選択してから [次へ: ネットワーク] を選択します。

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

    設定
    ネットワーク インターフェイス
    仮想ネットワーク [myVNet] を選択します。
    Subnet [mySubnet] を選択します。
    パブリック IP [なし] を選択します。
    NIC ネットワーク セキュリティ グループ [Basic] を選択します。
    パブリック受信ポート [なし] を選択します。
  5. [Review + create](レビュー + 作成) を選択します。

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

Note

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

パブリック IP アドレスが VM に割り当てられている場合、アウトバウンド規則の有無にかかわらず VM が Standard Load Balancer のバックエンド プールに配置されている場合、または VM のサブネットに Azure Virtual Network NAT ゲートウェイ リソースが割り当てられている場合、既定の送信アクセス IP は無効になります。

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

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

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

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

  1. Azure portal の画面の左上で、 [リソースの作成]>[データベース]>[SQL データベース] を選択します。

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

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    Resource group [CreateSQLEndpointTutorial] を選択します。 このリソース グループは、前のセクションで作成しました。
    データベースの詳細
    データベース名 mysqldatabase」と入力します。
    サーバー [新規作成] を選択します。
  3. [SQL データベース サーバーの作成] で、次の情報を入力または選択します。

    設定
    サーバーの詳細
    サーバー名 mysqlserver」と入力します。 この名前を取得する場合は、一意の名前を作成します。
    場所 [(米国) 米国東部] を選択します。
    認証
    認証方法 [SQL 認証を使用する] を選択します。
    サーバー管理者のログイン 任意の管理者名を入力します。
    Password 任意のパスワードを入力します。 パスワードは 8 文字以上で、定義された要件を満たす必要があります。
    パスワードの確認 パスワードを再入力します。
  4. [OK] を選択します。

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

    設定
    データベースの詳細
    SQL エラスティック プールを使用しますか? このため、 [いいえ] を選択します。
    コンピューティングとストレージ 既定の設定を使用するか、[データベースを構成する] を選択してコンピューティングとストレージの設定を構成します。
    バックアップ ストレージの冗長性
    バックアップ ストレージの冗長性 [ローカル冗長バックアップ ストレージ] を選択します。

    使われている設定を示す [SQL データベースの作成] ページのスクリーンショット。

  6. [ネットワーク] タブまたは [次へ: ネットワーク] ボタンをクリックします。

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

    設定
    ネットワーク接続
    接続方法 [プライベート エンドポイント] を選択します。
  8. [プライベート エンドポイント][+ プライベート エンドポイントの追加] を選択します。

  9. [プライベート エンドポイントの作成] で、次の情報を入力または選択します。

    設定
    サブスクリプション サブスクリプションを選択します。
    Resource group [CreateSQLEndpointTutorial] を選択します。
    場所 [米国東部] を選択します。
    名前 myPrivateSQLendpoint」と入力します。
    ターゲット サブリソース [SqlServer] を選択します。
    ネットワーク
    仮想ネットワーク [myVNet] を選択します。
    Subnet [mySubnet] を選択します。
    プライベート DNS の統合
    プライベート DNS ゾーンとの統合 既定値 [はい] のままにします。
    プライベート DNS ゾーン 既定値の [(新規) privatelink.database.windows.net] のままにします。
  10. [OK] を選択します。

    使われている設定を示す [プライベート エンドポイントの作成] ページのスクリーンショット。

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

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

重要

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

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

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

  1. Azure portal の検索ボックスに、「mysqlserver」または前の手順で入力したサーバー名を入力します。

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

    パブリック アクセスを無効にする方法を示す SQL サーバーの [ネットワーク] ページのスクリーンショット。

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

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

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

  1. 左側のナビゲーション ペインで [リソース グループ] を選択します。

  2. [CreateSQLEndpointTutorial] を選択します。

  3. [myVM] を選択します。

  4. myVM の [概要] ページで [接続][Bastion] の順に選択します。

  5. 仮想マシンの作成時に入力したユーザー名とパスワードを入力します。

  6. [接続] ボタンを選択します。

  7. 接続後にサーバーで Windows PowerShell を開きます。

  8. nslookup <sqlserver-name>.database.windows.net」と入力します。 <sqlserver-name> を、前の手順で作成した SQL サーバーの名前に置き換えます。 以下に表示されるようなメッセージが返されます。

    Server:  UnKnown
    Address:  168.63.129.16
    
    Non-authoritative answer:
    Name:    mysqlserver.privatelink.database.windows.net
    Address:  10.1.0.5
    Aliases:  mysqlserver.database.windows.net
    

    SQL サーバー名に対応する 10.1.0.5 というプライベート IP アドレスが返されます。 このアドレスは、前に作成した myVNet 仮想ネットワークの mySubnet サブネットにあります。

  9. SQL Server Management StudiomyVM にインストールします。

  10. SQL Server Management Studio を開きます。

  11. [サーバーに接続] で、次の情報を入力または選択します。

    設定
    サーバーの種類 データベース エンジンを選択します。
    サーバー名 <sqlserver-name>.database.windows.net」と入力します。
    認証 [SQL Server 認証] を選択します。
    ユーザー名 サーバー作成中に入力したユーザー名を入力します。
    Password サーバー作成中に入力したパスワードを入力します。
    パスワードを保存する [はい] を選択します。
  12. [接続] を選択します。

  13. 左側のメニューでデータベースを参照します。

  14. (省略可能) 情報を作成するか、mysqldatabase に対して情報のクエリを実行します。

  15. myVM へのリモート デスクトップ接続を閉じます。

リソースをクリーンアップする

プライベート エンドポイント、SQL サーバー、VM を使い終えたら、リソース グループとそこに含まれるすべてのリソースを削除します。

  1. ポータルの上部の [検索] ボックスに「CreateSQLEndpointTutorial」と入力し、検索結果から [CreateSQLEndpointTutorial] を選択します。
  2. [リソース グループの削除] を選択します。
  3. [リソース グループ名を入力してください] に「CreateSQLEndpointTutorial」と入力し、[削除] を選択します。

次の手順

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

  • 仮想ネットワークと bastion ホスト。
  • 仮想マシン。
  • Azure SQL サーバーとプライベート エンドポイント。

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

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