ポータルでの Azure Search サービスの作成

この記事では、ポータルで Azure Search サービスを作成またはプロビジョニングする方法について説明します。 PowerShell での手順については、PowerShell での Azure Search の管理に関するページをご覧ください。

サブスクリプション (無料または有料)

無料の Azure アカウントを開き、無料クレジットを使って有料の Azure サービスを試用できます。 このクレジットを使い切った後は、アカウントを保持したまま、Websites などの無料の Azure サービスを使用できます。 明示的に設定を変更して課金を了承しない限り、クレジット カードに課金されることはありません。

MSDN サブスクライバーの特典を有効にすることもできます。 MSDN サブスクリプションにより、有料の Azure サービスを利用できるクレジットが毎月与えられます。

  1. Azure Portal にサインインします。
  2. 左上隅のプラス記号 ("+") をクリックします。
  3. [Web + Mobile] > [Azure Search] を選択します。

サービスと URL エンドポイントに名前を付ける

サービス名は、API 呼び出しを発行する対象となる URL エンドポイントの一部です。 [URL] フィールドにサービス名を入力します。

サービス名の要件:

  • 2 ~ 60 文字である
  • 小文字、数字、ダッシュ ("-") のみが使われている
  • 最初の 2 文字または最後の 1 文字にダッシュ ("-") を使用していない
  • 連続するダッシュ ("-") を使用していない

サブスクリプションの選択

サブスクリプションが複数ある場合には、データまたはファイル ストレージ サービスがあるものを 1 つ選択します。 Azure Search では、"インデクサー" 経由でインデックスが作成されている場合に、Azure テーブルおよび Blob Storage、SQL Database、Azure Cosmos DB の自動検出が可能ですが、これは同じサブスクリプション内のサービスのみで有効です。

リソース グループの選択

リソース グループとは、一緒に使用される Azure サービスとリソースのコレクションです。 たとえば、Azure Search を使用して SQL Database のインデックスを作成する場合、これら両方のサービスを同じリソース グループに含める必要があります。

ヒント

リソース グループを削除すると、その中のサービスも削除されます。 複数のサービスを利用するプロトタイプ プロジェクトの場合は、すべてのサービスを同じリソース グループに配置することで、プロジェクト終了後のクリーンアップが容易になります。

ホストする場所の選択

Azure サービスの 1 つである Azure Search は、世界中のデータ センターでホストできます。 地域によって価格が異なる場合があることにご注意ください。

価格レベルの選択 (SKU)

Azure Search は現在、Free、Basic、Standard の複数の価格レベルで提供されています。 レベルごとに独自の 容量と制限があります。 ガイダンスについては、 価格レベルまたは SKU の選択 に関する記事をご覧ください。

このチュートリアルでは、サービスに Standard レベルを選択しました。

サービスの作成

サインインするたびにアクセスしやすくするために、サービスをダッシュボードにピン留めすることを忘れないでください。

サービスを拡張する

サービスを作成するのに数分かかる場合があります (レベルによっては 15 分以上)。 サービスのプロビジョニングが完了したら、ニーズに合わせてサービスを拡張できます。 Azure Search サービスの Standard レベルを選択しているため、レプリカとパーティションの 2 つのディメンションでサービスを拡張できます。 Basic レベルを選択した場合は、レプリカのみ追加できます。 無料サービスをプロビジョニングした場合、拡張は利用できません。

パーティションを使用すると、サービスでより多くのドキュメントを格納し、検索できます。

レプリカを使用すると、より大きい検索クエリの負荷をサービスが処理できます。

  1. Azure Portal で検索サービスのブレードを開きます。
  2. 左のナビゲーション ウィンドウで、[設定] > [スケール] を選択します。
  3. スライダーを使用して、[レプリカ] または [パーティション] を追加します。

注意

1 つのサービスで許可される検索ユニットの総数の制限は、レベルごとに異なります (レプリカ * パーティション数 = 検索ユニット合計)。

2 番目のサービスの追加が必要になる状況

大半のお客様は、リソースの適切なバランスを提供する階層に、ただ 1 つのサービスをプロビジョニングします。 1 つのサービスで、相互に分離された複数のインデックスをホストできます。インデックスは、選択した階層の上限の対象になります。 Azure Search では、要求は 1 つのインデックスにのみ転送でき、同じサービス内の他のインデックスから偶発的または意図的にデータが取得される可能性が最小限に抑えられます。

ほとんどのお客様はサービスを 1 つしか使いませんが、運用要件に次のことが含まれる場合、サービスの冗長性が必要になる場合があります。

  • 障害復旧 (データ センターの停止)。 Azure Search では、停止時の即時フェールオーバーは提供されません。 推奨事項とガイダンスについては、「Azure Portal での Azure Search のサービス管理」をご覧ください。
  • マルチ テナント モデルの調査により、サービスを追加するのが最適な設計であると判断された場合。 詳しくは、「マルチテナント SaaS アプリケーションと Azure Search の設計パターン」をご覧ください。
  • グローバルにデプロイされるアプリケーションで、アプリケーションの国際トラフィックの待機時間を最小限に抑えるため、複数のリージョンに Azure Search のインスタンスが必要な場合。
注意

Azure Search では、インデックス作成とクエリのワークロードを分離することはできません。このため、ワークロードを分離するために複数のサービスを作成することはありません。 インデックスのクエリは常に、インデックスが作成されたサービスで行われます (あるサービスでインデックスを作成し、それを別のサービスにコピーすることはできません)。

高可用性のために 2 番目のサービスを作成する必要はありません。 クエリの高可用性は、同じサービスで 2 つ以上のレプリカを使用することにより実現されます。 レプリカの更新はシーケンシャルです。つまり、サービスの更新が展開されているとき、少なくとも 1 つのレプリカが動作しています。 アップタイムについて詳しくは、「サービス レベル アグリーメント」をご覧ください。

次のステップ

Azure Search サービスをプロビジョニングしたら、データをアップロードし、検索できるように、 インデックスを定義することができます。

コードまたはスクリプトからサービスにアクセスするには、URL (サービス名.search.windows.net) を指定します。 管理者キーはフル アクセスを付与し、クエリ キーは読み取り専用アクセスを付与します。 .NET で Azure Search を使用する方法に関する記事を参照して、作業を開始してください。

ポータル ベースのクイック チュートリアルについては、最初のインデックスの作成とクエリに関する記事をご覧ください。