Freigeben über


Bereitstellungen mit mehreren Regionen in Azure AI Search

Obwohl Azure AI Search ein Einzelregionendienst ist, können Sie eine höhere Verfügbarkeit und Resilienz erzielen, indem Sie mehrere Suchdienste mit identischen Konfigurationen und Inhalten in mehreren Regionen bereitstellen.

In diesem Artikel werden die Komponenten einer Multi-Region-Lösung beschrieben, die auf Ihrem benutzerdefinierten Skript oder Code basiert, um Failover zu behandeln, wenn ein Dienst nicht verfügbar ist.

Weitere Informationen zu den Zuverlässigkeitsfeatures von Azure AI Search, einschließlich der intraregionalen Ausfallsicherheit über Verfügbarkeitszonen, finden Sie unter Zuverlässigkeit in Azure AI Search.

Gründe für die Verwendung mehrerer Regionen

Wenn Sie zwei oder mehr Suchdienste benötigen, können sie in verschiedenen Regionen die folgenden betrieblichen Anforderungen erfüllen:

  • Resilienz gegenüber Regionenausfällen. Wenn ein Ausfall vorhanden ist, stellt Azure AI Search kein sofortiges Failover für eine andere Region bereit.

  • Schnelle Leistung für eine global verteilte Anwendung. Wenn Indizierungs- und Abfrageanforderungen aus der ganzen Welt stammen, erhalten Benutzer, die dem Host-Rechenzentrum am nächsten sind, eine schnellere Leistung. Das Erstellen weiterer Dienste in Regionen mit enger Nähe zu diesen Benutzern kann die Leistung für alle Benutzer ausgleichen.

Architektur mit mehreren Regionen

In einer Mehrregionseinrichtung befinden sich zwei oder mehr Suchdienste in verschiedenen Regionen und haben synchronisierte Indizes. Benutzer werden automatisch mit der niedrigsten Latenz an den Dienst weitergeleitet.

Azure AI Search bietet keine automatisierte Methode der Indexreplikation über Regionen hinweg. Sie können Daten jedoch mithilfe der Push- oder Pullmodellindizierung synchronisieren, die beide im folgenden Abschnitt beschrieben werden. Sie können auch Azure Traffic Manager oder einen anderen Lastenausgleich für die Anforderungsumleitung hinzufügen.

Das folgende Diagramm veranschaulicht einen geoverteilten Satz von Suchdiensten:

Diagramm, das eine registerkartenübergreifende Ansicht von Diensten nach Region zeigt.

Tipp

Eine vollständige Implementierung finden Sie im Bicep-Beispiel auf GitHub. Im Beispiel wird eine vollständig konfigurierte, mehrbereichsübergreifende Suchlösung bereitgestellt, die in Ihre Regionen und Indizierungsstrategien geändert werden kann.

Datensynchronisierung

Um zwei oder mehr unterschiedliche Suchdienste zu synchronisieren, können Sie eine der folgenden Aktionen ausführen:

Wenn Sie die REST-APIs verwenden, um Inhalte in Ihren Index zu übertragen, können Sie mehrere Suchdienste synchronisieren, indem Sie Aktualisierungen an jeden Dienst senden, wenn Änderungen vorgenommen werden. Stellen Sie sicher, dass Ihr Code Fälle behandelt, in denen ein Update für einen Dienst fehlschlägt, aber für andere Dienste erfolgreich ist.

Datenresidenz

Wenn Sie mehrere Suchdienste in verschiedenen Regionen erstellen, werden Ihre Inhalte in der Region gespeichert, die Sie für jeden Dienst ausgewählt haben.

Azure KI-Suche speichert ohne Ihre Zustimmung keine Daten außerhalb der von Ihnen angegebenen Region. Die Autorisierung ist implizit, wenn Sie Features verwenden, die in Azure Storage schreiben, für die Sie ein Speicherkonto in Ihrer bevorzugten Region bereitstellen. Zu diesen Funktionen gehören:

Wenn sich Ihr Suchdienst- und Speicherkonto in derselben Region befinden, verwendet der Netzwerkdatenverkehr private IP-Adressen über das Microsoft-Backbone-Netzwerk, sodass Sie keine IP-Firewalls oder private Endpunkte für die Netzwerksicherheit konfigurieren können. Verwenden Sie alternativ die Ausnahme für den vertrauenswürdigen Dienst.

Anfordern von Failover und Umleitung

Für Redundanz auf Anforderungsebene bietet Azure mehrere Optionen für den Lastenausgleich:

Verwenden Sie das Azure-Anwendungsgateway zum Lastenausgleich zwischen Servern in einer Region auf der Anwendungsebene.

Standardmäßig wird über eine öffentliche Internetverbindung auf Dienstendpunkte zugegriffen. Verwenden Sie Anwendungsgateway, wenn Sie einen privaten Endpunkt für Clientverbindungen einrichten, die aus einem virtuellen Netzwerk stammen.

Berücksichtigen Sie beim Auswerten dieser Lastenausgleichsoptionen die folgenden Punkte:

  • Azure AI Search ist ein Back-End-Dienst, der Indizierungs- und Abfrageanforderungen von einem Client akzeptiert.

  • Standardmäßig wird über eine öffentliche Internetverbindung auf Dienstendpunkte zugegriffen. Wir empfehlen Azure Application Gateway für private Endpunkte, die aus einem virtuellen Netzwerk stammen.

  • Azure KI Search akzeptiert Anforderungen, die an den <your-search-service-name>.search.windows.net Endpunkt adressiert sind. Wenn Sie denselben Endpunkt erreichen, indem Sie einen anderen DNS-Namen im Hostheader verwenden, z. B. einen CNAME, wird die Anforderung abgelehnt.

  • Anforderungen vom Client an einen Suchdienst müssen authentifiziert werden. Um auf Suchvorgänge zuzugreifen, muss der Aufrufer über rollenbasierte Berechtigungen verfügen oder einen API-Schlüssel mit der Anforderung bereitstellen.