Udostępnij przez


Wdrożenia w wielu regionach w usłudze Azure AI Search

Chociaż usługa Azure AI Search jest usługą z jednym regionem, można osiągnąć wyższą dostępność i odporność, wdrażając wiele usług wyszukiwania z identycznymi konfiguracjami i zawartością w wielu regionach.

W tym artykule opisano składniki rozwiązania z wieloma regionami, które opiera się na niestandardowym skrycie lub kodzie do obsługi trybu failover, jeśli usługa stanie się niedostępna.

Aby uzyskać więcej informacji na temat funkcji niezawodności usługi Azure AI Search, w tym odporności wewnątrz regionów za pośrednictwem stref dostępności, zobacz Niezawodność w usłudze Azure AI Search.

Dlaczego warto używać wielu regionów?

Jeśli potrzebujesz co najmniej dwóch usług wyszukiwania, utworzenie ich w różnych regionach może spełniać następujące wymagania operacyjne:

  • Odporność na awarie regionów. Jeśli wystąpi awaria, usługa Azure AI Search nie zapewnia natychmiastowego przejścia w tryb failover do innego regionu.

  • Szybka wydajność aplikacji rozproszonej globalnie. Jeśli indeksowanie i żądania zapytań pochodzą z całego świata, użytkownicy, którzy znajdują się najbliżej centrum danych hosta, będą korzystać z szybszej wydajności. Tworzenie większej liczby usług w regionach z bliskim sąsiedztwem tych użytkowników może wyrównać wydajność dla wszystkich użytkowników.

Architektura z wieloma regionami

W konfiguracji obejmującej wiele regionów co najmniej dwie usługi wyszukiwania znajdują się w różnych regionach i mają zsynchronizowane indeksy. Użytkownicy są automatycznie kierowani do usługi z najniższym opóźnieniem.

Usługa Azure AI Search nie zapewnia zautomatyzowanej metody replikacji indeksów w różnych regionach. Można jednak synchronizować dane przy użyciu indeksowania modelu wypychania lub ściągania, które opisano w poniższej sekcji. Możesz również dodać usługę Azure Traffic Manager lub inny moduł równoważenia obciążenia na potrzeby przekierowywania żądań.

Na poniższym diagramie przedstawiono rozproszony geograficznie zestaw usług wyszukiwania:

Diagram przedstawiający krzyżowy widok usług według regionów.

Wskazówka

Aby uzyskać pełną implementację, zobacz przykład Bicep w witrynie GitHub. Przykład wdraża w pełni skonfigurowane rozwiązanie do wyszukiwania w wielu regionach, które można modyfikować w regionach i strategiach indeksowania.

Synchronizacja danych

Aby zsynchronizować co najmniej dwie odrębne usługi wyszukiwania, możesz wykonać następujące czynności:

Jeśli używasz interfejsów API REST do wypychania zawartości do indeksu, możesz zsynchronizować wiele usług wyszukiwania, wysyłając aktualizacje do każdej usługi za każdym razem, gdy wystąpią zmiany. Upewnij się, że kod obsługuje przypadki, w których aktualizacja kończy się niepowodzeniem dla jednej usługi, ale kończy się powodzeniem w przypadku innych usług.

Miejsce przechowywania danych

Podczas tworzenia wielu usług wyszukiwania w różnych regionach zawartość jest przechowywana w regionie wybrany dla każdej usługi.

Usługa Azure AI Search nie przechowuje danych poza określonym regionem bez autoryzacji. Autoryzacja jest niejawna, gdy używasz funkcji zapisywanych w usłudze Azure Storage, dla których podajesz konto magazynu w preferowanym regionie. Do tych funkcji należą:

Jeśli usługa wyszukiwania i konto magazynu znajdują się w tym samym regionie, ruch sieciowy używa prywatnych adresów IP w sieci szkieletowej firmy Microsoft, więc nie można skonfigurować zapór ip ani prywatnych punktów końcowych na potrzeby zabezpieczeń sieci. Alternatywnie należy użyć wyjątku zaufanej usługi.

Żądanie przejścia w tryb failover i przekierowania

W przypadku nadmiarowości na poziomie żądania platforma Azure oferuje kilka opcji równoważenia obciążenia:

Usługa Azure Application Gateway umożliwia równoważenie obciążenia między serwerami w regionie w warstwie aplikacji.

Domyślnie punkty końcowe usługi są dostępne za pośrednictwem publicznego połączenia internetowego. Użyj usługi Application Gateway, jeśli skonfigurujesz prywatny punkt końcowy dla połączeń klienckich pochodzących z sieci wirtualnej.

Podczas oceny tych opcji równoważenia obciążenia należy wziąć pod uwagę następujące kwestie:

  • Azure AI Search to usługa zaplecza, która akceptuje indeksowanie i wykonywanie zapytań dotyczących żądań od klienta.

  • Domyślnie punkty końcowe usługi są dostępne za pośrednictwem publicznego połączenia internetowego. Zalecamy usługę Azure Application Gateway dla prywatnych punktów końcowych pochodzących z sieci wirtualnej.

  • Usługa Azure AI Search akceptuje żądania skierowane do punktu końcowego <your-search-service-name>.search.windows.net . Jeśli osiągniesz ten sam punkt końcowy przy użyciu innej nazwy DNS w nagłówku hosta, na przykład CNAME, żądanie zostanie odrzucone.

  • Żądania od klienta do usługi wyszukiwania muszą być uwierzytelnione. Aby uzyskać dostęp do operacji wyszukiwania, obiekt wywołujący musi mieć uprawnienia oparte na rolach lub podać klucz interfejsu API z żądaniem.