Azure Cognitive Search への安全な接続を行うためのプライベート エンドポイントを作成する

この記事では、Azure portal を使用して、インターネット経由ではアクセスできない新しい Azure Cognitive Search Service インスタンスを作成します。 次に、同じ仮想ネットワーク内に Azure 仮想マシンを構成し、それを使用してプライベート エンドポイント経由で検索サービスにアクセスします。

プライベート エンドポイントは、別サービスとして、Azure Private Link によって提供されます。 コストの詳細については、価格に関するページを参照してください。

この記事で説明されているように、Azure portal にプライベートエンド ポイントを作成できます。 また、Management REST API バージョン 2020-03-13Azure PowerShell、または Azure CLI を使用することもできます。

注意

サービス エンドポイントがプライベートの場合、一部のポータル フィーチャーが無効になります。 サービス レベル情報を表示および管理することはできますが、セキュリティ上の理由から、インデックス、インデクサー、およびスキルセットの情報は非表示になります。 ポータルの代わりに、VS Code 拡張機能を使用して、サービス内のさまざまなコンポーネントを操作することもできます。

安全なアクセスのためにプライベート エンドポイントを使用する理由

Azure Cognitive Search の プライベートエンドポイント は、仮想ネットワーク上のクライアントがプライベート リンクを介して、検索インデックス内のデータに安全にアクセスできるようにします。 プライベート エンドポイントは、検索サービスのために仮想ネットワークのアドレス空間の IP アドレスを使用します。 クライアントと検索サービス間のネットワーク トラフィックは、仮想ネットワークおよび Microsoft バックボーン ネットワーク上のプライベートリンクを経由することで、パブリック インターネット上での露出を排除します。 Private Link をサポートするその他の PaaS サービスの一覧については、製品マニュアルの可用性のセクションを参照してください。

検索サービス向けのプライベート エンドポイントを使用すると、次のことが可能になります。

  • 検索サービス向けのパブリック エンドポイント上のすべての接続をブロックします。
  • 仮想ネットワークからのデータの流出をブロックし、仮想ネットワークのセキュリティを強化します。
  • VPN または プライベート ピアリングしたExpressRoutes を使用して、 仮想ネットワークに接続するオンプレミス ネットワーク経由で検索サービスに安全に接続します。

仮想ネットワークの作成

このセクションでは、仮想ネットワークとサブネットを作成して、検索サービスのプライベート エンドポイントへのアクセスに使用される VM をホストします。

  1. Microsoft Azure portal のホームタブで、 [リソースの作成] > [ネットワーク] > [仮想ネットワーク] の順に選択します。

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

    設定
    サブスクリプション サブスクリプションを選択します。
    Resource group [新規作成] を選択し、「myResourceGroup」と入力して、 [OK] を選択します。
    名前 MyVirtualNetwork」と入力します。
    リージョン 目的のリージョンを選択します。
  3. 残りの設定については既定値を使用します。 [確認および作成][作成] の順にクリックします。

プライベート エンドポイントを使用した検索サービスの作成

このセクションでは、プライベート エンドポイントを使用して新しい Azure Cognitive Search Service を作成します。

  1. Microsoft Azure portal の画面の左上で、 [リソースの作成] > [ウェブ] > [Azure Cognitive Search] の順に選択します。

  2. [New Search Service - 基本] で次の情報を入力または選択します。

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    Resource group [myResourceGroup] を選択します。 これは前のセクションで作成しました。
    インスタンスの詳細
    URL 一意の名前を入力します。
    場所 目的のリージョンを選択します。
    Pricing tier [価格レベルの変更] を選択し、目的のサービス レベルを選択します。 (Free レベルではサポートされていません。 Basic 以上である必要があります。)
  3. [Next:スケール] をクリックします。

  4. 残りは既定値のままにして、 [次へ:ネットワーク] を選択します。

  5. 新しい Search Service - ネットワーク で、エンドポイント接続 (データ)[プライベート] を選択します。

  6. 新しい Search Service - ネットワーク で、プライベート エンドポイント[+ 追加] を選択します。

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

    設定
    サブスクリプション サブスクリプションを選択します。
    Resource group [myResourceGroup] を選択します。 これは前のセクションで作成しました。
    場所 [米国西部] を選択します。
    名前 myPrivateEndpoint」と入力します。
    ターゲット サブリソース 既定の searchService をそのまま使用します。
    ネットワーク
    仮想ネットワーク リソース グループの [myResourceGroup] から、 [MyVirtualNetwork] を選択します。
    Subnet [mySubnet] を選択します。
    プライベート DNS 統合
    プライベート DNS ゾーンとの統合 既定値 [はい] のままにします。
    プライベート DNS ゾーン 既定値の * * (新規) privatelink.search.windows.net * * をそのまま使用します。
  8. [OK] を選択します。

  9. [Review + create](レビュー + 作成) を選択します。 [確認および作成] ページが表示され、Azure によって構成が検証されます。

  10. "証に成功しました" というメッセージが表示されたら、 [作成] を選択します。

  11. 新しいサービスのプロビジョニングが完了したら、先ほど作成したリソースを参照します。

  12. 左側のコンテンツメニューから [キー] を選択します。

  13. 後からサービスに接続するときのために、プライマリ管理者キー をコピーします。

仮想マシンの作成

  1. Azure portal の画面の左上で、 [リソースの作成] > [Compute] > [仮想マシン] を選択します。

  2. [仮想マシンの作成 - 基本] に次の情報を入力または選択します。

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    Resource group [myResourceGroup] を選択します。 これは前のセクションで作成しました。
    インスタンスの詳細
    仮想マシン名 myVm」と入力します。
    リージョン [米国西部] 、またはあなたが使用しているリージョンを選択します。
    可用性のオプション 既定値 [インフラストラクチャ冗長は必要ありません] をそのまま使用します。
    Image [Windows Server 2019 Datacenter] を選択します。
    サイズ 既定値 [Standard DS1 v2] をそのまま使用します。
    管理者アカウント
    ユーザー名 任意のユーザー名を入力します。
    Password 任意のパスワードを入力します。 パスワードは 12 文字以上で、定義された複雑さの要件を満たす必要があります。
    パスワードの確認 パスワードを再入力します。
    受信ポートの規則
    パブリック受信ポート 既定の [選択したポートを許可する] のままにします。
    受信ポートの選択 既定の RDP (3389) のままにします。
    コスト削減
    Windows ライセンスを既にお持ちの場合 既定値 [なし] のままにします。
  3. ディスク を選択します。

  4. [仮想マシンの作成 - Disk] で、既定値のままにし、 [Next: Networking](次へ : ネットワーク) を選択します。

  5. [仮想マシンの作成 - ネットワーク] で次の情報を選択します。

    設定
    仮想ネットワーク 既定値 [MyVirtualNetwork] のままにします。
    アドレス空間 既定値 [10.1.0.0/24] のままにします。
    Subnet 既定値 [mySubnet (10.1.0.0/24)] のままにします。
    パブリック IP 既定値 (new) myVm-ip((新規) myVm-ip のままにします。
    パブリック受信ポート [選択したポートを許可する] を選択します。
    受信ポートの選択 [HTTP][RDP] を選択します。

    注意

    IPv4 アドレスは CIDR 形式で表すことができます。 RFC 1918 で説明されているように、プライベート ネットワーク用として予約されている IP 範囲は避けてください。

    • 10.0.0.0 - 10.255.255.255 (10/8 prefix)
    • 172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
    • 192.168.0.0 - 192.168.255.255 (192.168/16 prefix)
  6. [Review + create](レビュー + 作成) を選択します。 [確認および作成] ページが表示され、Azure によって構成が検証されます。

  7. "証に成功しました" というメッセージが表示されたら、 [作成] を選択します。

VM に接続します

次の手順で、VM myVm をダウンロードして接続します。

  1. ポータルの検索バーに、「myVm」と入力します。

  2. [接続] を選択します。 [接続] ボタンを選択すると、 [Connect to virtual machine](仮想マシンに接続する) が開きます。

  3. [RDP ファイルのダウンロード] を選択します。 リモート デスクトップ プロトコル ( .rdp) ファイルが作成され、お使いのコンピューターにダウンロードされます。

  4. ダウンロードした .rdp* ファイルを開きます。

    1. メッセージが表示されたら、 [Connect] を選択します。

    2. VM の作成時に指定したユーザー名とパスワードを入力します。

      注意

      場合によっては、 [その他] > [別のアカウントを使用する] を選択して、VM の作成時に入力した資格情報を指定する必要があります。

  5. [OK] を選択します。

  6. サインイン処理中に証明書の警告が表示される場合があります。 証明書の警告を受信する場合は、 [はい] または [続行] を選択します。

  7. VM デスクトップが表示されたら最小化してローカル デスクトップに戻ります。

テスト接続

このセクションでは、検索サービスへのプライベート ネットワークアクセスを確認し、プライベート エンドポイントにプライベート接続します。

検索サービス エンドポイントがプライベートの場合、一部のポータル機能が無効になります。 サービス レベル設定を表示して管理することはできますが、インデックス データやサービス内のさまざまなその他のコンポーネント (インデックス、インデクサー、スキルセットの定義など) へのポータル アクセスは、セキュリティ上の理由で制限されています。

  1. myVM のリモート デスクトップで、PowerShell を開きます。

  2. 「nslookup [検索サービス名].search.windows.net」と入力します。

    次のようなメッセージが返されます。

    Server:  UnKnown
    Address:  168.63.129.16
    Non-authoritative answer:
    Name:    [search service name].privatelink.search.windows.net
    Address:  10.0.0.5
    Aliases:  [search service name].search.windows.net
    
  3. VM から検索サービスに接続し、インデックスを作成します。 このクイックスタートに従うと、REST API を使用してサービスに新しい検索インデックスを作成できます。 Web API テスト ツールからの要求を設定するには、検索サービス エンドポイント (https://[search service name].search.windows.net) と、これ以前のステップでコピーした管理者 AIP キーが必要です。

  4. サービスが完全に動作していることが確認できたら、VM からのクイックスタートは完了です。

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

  6. パブリック エンドポイント上でサービスにアクセスできないことを確認するには、ローカル ワークステーションで Postman を開き、クイックスタートの最初のいくつかのタスクを実行します。 「リモートサーバーが存在しません」というエラー表示が出た場合には、検索サービスのプライベート エンドポイントが正常に構成されています。

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

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

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

次のステップ

この記事では、仮想ネットワーク上の VM と、プライベート エンドポイントを使用した検索サービスを作成しました。 あなたはインターネットから VM に接続し、 Private Link を使用して検索サービスと安全に通信を行いました。 プライベート エンドポイントの詳細については、「 Azure プライベート エンドポイントとは」を参照してください。