Besonderheiten des Dienstconnectors
Service Connector ist ein Azure-Erweiterungsressourcenanbieter, der eine einfache Möglichkeit zum Erstellen und Verwalten von Verbindungen zwischen Azure-Diensten bietet.
De Dienstconnector bietet die folgenden Features:
- Hiermit können Sie Azure-Dienste mit einem einzigen Azure CLI-Befehl oder in wenigen Schritten über das Azure-Portal verbinden.
- Unterstützt eine zunehmende Anzahl von Datenbanken, Speichern, Echtzeitdiensten, Zustands- und Geheimnisspeichern, die mit Ihrer cloudnativen Anwendung verwendet werden.
- Konfiguriert Netzwerkeinstellungen und Authentifizierung und verwaltet Verbindungsumgebungsvariablen oder -eigenschaften für Sie.
- Überprüft Verbindungen und bietet Vorschläge zum Beheben fehlerhafter Verbindungen.
Übersicht über Dienstverbindungen
Das Konzept der Dienstverbindung ist ein zentrales Konzept im Ressourcenmodell des Dienstconnectors. Eine Dienstverbindung stellt eine Abstraktion der Verknüpfung zwischen zwei Diensten dar. Dienstverbindungen weisen die folgenden Eigenschaften auf:
Eigenschaft | Beschreibung |
---|---|
Verbindungsname | Der eindeutige Name der Dienstverbindung. |
Art des Quelldiensts | Quelldienste sind Dienste, die Sie mit Zieldiensten verbinden können. Dabei handelt es sich in der Regel um Azure Compute-Dienste wie Azure App Service, Azure Container Apps, Azure Functions, Azure Kubernetes Service (AKS) und Azure Spring Apps. |
Art des Zieldiensts | Zieldienste sind unterstützende Dienste oder Abhängigkeitsdienste, mit denen Ihre Computedienste eine Verbindung herstellen. Der Dienstconnector unterstützt verschiedene Arten von Zieldiensten. Hierzu zählen beispielsweise gängige Datenbanken, Speicher, Echtzeitdienste sowie Zustands- und Geheimnisspeicher. |
Clienttyp | Der Clienttyp bezieht sich auf Ihren Computelaufzeitstapel, das Entwicklungsframework oder den spezifischen Clientbibliothekstyp, der bzw. das das spezifische Format der Verbindungsumgebungsvariablen oder -eigenschaften akzeptiert. |
Authentifizierungstyp | Der für die Dienstverbindung verwendete Authentifizierungstyp. Dabei kann es sich um eine Geheimnis-/Verbindungszeichenfolge, um eine verwaltete Identität oder um einen Dienstprinzipal handeln. |
Quelldienste und Zieldienste unterstützen mehrere gleichzeitige Dienstverbindungen, was bedeutet, dass Sie jede Ressource mit mehreren Ressourcen verbinden können.
Der Dienstconnector verwaltet Verbindungen in den Eigenschaften der Quellinstanz. Das Erstellen, Abrufen, Aktualisieren und Löschen von Verbindungen erfolgt direkt durch Öffnen der Quelldienstinstanz im Azure-Portal oder über die CLI-Befehle des Quelldiensts.
Verbindungen können abonnement- oder mandantenübergreifend hergestellt werden, was bedeutet, dass Quell- und Zieldienste zu verschiedenen Abonnements oder Mandanten gehören können. Wenn Sie eine neue Dienstverbindung erstellen, wird die Verbindungsressource standardmäßig in derselben Region wie Ihre Computedienstinstanz erstellt.
Erstellen und Aktualisieren von Dienstverbindungen
Der Dienstconnector führt beim Erstellen oder Aktualisieren von Dienstverbindungen mehrere Aufgaben aus, darunter:
Konfigurieren der Netzwerk- und Firewalleinstellungen. Weitere Informationen zu Netzwerklösungen.
Konfigurieren von Verbindungsinformationen. Weitere Informationen zu Verbindungskonfigurationen.
Konfigurieren von Authentifizierungsinformationen. Service Connector unterstützt alle verfügbaren Authentifizierungstypen zwischen Quell- und Zieldiensten.
- Systemseitig zugewiesene verwaltete Identität Service Connector aktiviert die systemseitig zugewiesene verwaltete Identität für Quelldienste, wenn noch nicht geschehen, und weist dann der verwalteten Identität RBAC-Rollen der Zieldienste zu. Sie können die Rollen angeben, die zugewiesen werden sollen.
- Benutzerseitig zugewiesene verwaltete Identität. Service Connector aktiviert die benutzerseitig zugewiesene verwaltete Identität für Quelldienste, wenn noch nicht geschehen, und weist dann der verwalteten Identität RBAC-Rollen der Zieldienste zu. Sie können die Rollen angeben, die zugewiesen werden sollen.
- Verbindungszeichenfolge. Service Connector ruft Verbindungszeichenfolgen von Zieldiensten, wie z. B. Storage, Redis Cache usw., ab oder erstellt Verbindungszeichenfolgen basierend auf Benutzereingaben, z. B. Azure Database for SQL, PostgreSQL usw.
- Dienstprinzipal. Service Connector weist der verwalteten Identität RBAC-Rollen der Zieldienste zu. Sie können die Rollen angeben, die zugewiesen werden sollen.
Service Connector speichert entsprechende Authentifizierungskonfigurationen in Quelldiensten, z. B. Speichern von AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_STORAGEACCOUNT_ENDPOINT für Storage mit dem Authentifizierungstyp „Benutzerseitig zugewiesene verwaltete Identität“.
Erstellen oder Aktualisieren des Verbindungsrollbacks im Falle eines Fehlers
Sollte bei einem der Schritte in diesem Vorgang ein Fehler auftreten, führt der Dienstconnector ein Rollback für alle vorherigen Schritte aus, um die ursprünglichen Einstellungen in den Quell- und Zielinstanzen beizubehalten.
Ressourcenanbieter
Microsoft.ServiceLinker ist der Name des Ressourcenanbieters von Service Connector.
Wenn ein Benutzer die Registerkarte „Service Connector“ im Azure-Portal öffnet, wird der Ressourcenanbieter „ServiceLinker“ automatisch im aktiven Abonnement des Benutzers registriert. Der Benutzer, der die Registrierung generiert hat, wird als Initiator des Registrierungsereignisses aufgeführt.
Mit Service Connector können Benutzer Dienste abonnementübergreifend verbinden. Wenn ein Benutzer eine Verbindung mit einem Zieldienst erstellt, der in einem anderen Abonnement registriert ist, wird Service Linker auch im Abonnement des Zieldiensts registriert. Diese Registrierung erfolgt, wenn der Benutzer die Registerkarte Überprüfen und erstellen auswählt, bevor die Verbindung endgültig erstellt wird.
Verbindungskonfigurationen
Verbindungskonfigurationen werden im Quelldienst festgelegt.
Öffnen Sie im Azure-Portal einen Quelldienst, und navigieren Sie zu Dienstconnector. Erweitern Sie die einzelnen Verbindungen, und sehen Sie sich die Verbindungskonfigurationen an.
Verwenden Sie in der CLI den Befehl list-configuration
, um die Verbindungskonfigurationen abzurufen.
az webapp connection list-configuration --resource-group <source-service-resource-group> --name <source-service-name> --connection <connection-name>
az spring connection list-configuration --resource-group <source-service-resource-group> --name <source-service-name> --connection <connection-name>
az containerapp connection list-configuration --resource-group <source-service-resource-group> --name <source-service-name> --connection <connection-name>
Namenskonvention für Konfigurationen
Der Dienstconnector legt beim Erstellen einer Verbindung die Verbindungskonfiguration fest. Die Schlüssel-Wert-Paare der Umgebungsvariablen werden basierend auf Ihrem Client- und Authentifizierungstyp bestimmt. Wenn Sie also beispielsweise das Azure SDK mit einer verwalteten Identität verwenden, sind die Client-ID, der geheime Clientschlüssel usw. erforderlich. Bei Verwendung eines JDBC-Treibers wird eine Datenbank-Verbindungszeichenfolge benötigt. Befolgen Sie beim Benennen der Konfigurationen die folgenden Konventionen:
Spring Boot-Client: Für die Spring Boot-Bibliothek der einzelnen Zieldienste gilt jeweils eine eigene Namenskonvention. Die MySQL-Verbindungseinstellungen lauten beispielsweise
spring.datasource.url
,spring.datasource.username
undspring.datasource.password
. Für Kafka werden folgende Verbindungseinstellungen verwendet:spring.kafka.properties.bootstrap.servers
.Andere Clients:
- Der Schlüsselname der ersten Verbindungskonfiguration verwendet das Format
<Cloud>_<Type>_<Name>
. Platzhalter in einer derartigen Schreibweise sind z.B.AZURE_STORAGEBLOB_RESOURCEENDPOINT
undCONFLUENTCLOUD_KAFKA_BOOTSTRAPSERVER
. - Der Schlüsselname der zweiten Verbindungskonfiguration verwendet für dieselbe Art von Zielressource das Format
<Cloud>_<Type>_<Connection Name>_<Name>
. Platzhalter in einer derartigen Schreibweise sind z.B.AZURE_STORAGEBLOB_CONN2_RESOURCEENDPOINT
undCONFLUENTCLOUD_KAFKA_CONN2_BOOTSTRAPSERVER
.
- Der Schlüsselname der ersten Verbindungskonfiguration verwendet das Format
Dienstnetzwerklösung
Service Connector bietet drei Netzwerklösungen, aus der Benutzer beim Erstellen einer Verbindung wählen können. Diese Lösungen sollen eine sichere und effiziente Kommunikation zwischen Ressourcen ermöglichen.
Firewall: Diese Lösung ermöglicht die Verbindung über das öffentliche Netzwerk und die Computeressource, die auf die Zielressource mit der öffentlichen IP-Adresse zugreift. Bei Auswahl dieser Option überprüft Service Connector die Firewalleinstellungen der Zielressource und fügt eine Regel hinzu, um Verbindungen von der öffentlichen IP-Adresse der Quellressource zuzulassen. Wenn die Firewall der Ressource den Zugriff auf alle Azure-Ressourcen zulässt, aktiviert Service Connector diese Einstellung. Wenn die Zielressource jedoch standardmäßig den gesamten Datenverkehr über das öffentliche Netzwerk verweigert, ändert Service Connector diese Einstellung nicht. In diesem Fall sollten Sie eine andere Option auswählen oder die Netzwerkeinstellungen manuell aktualisieren, bevor Sie es erneut versuchen.
Dienstendpunkt: Diese Lösung ermöglicht der Computeressource, eine Verbindung mit Zielressourcen über ein virtuelles Netzwerk herzustellen, und stellt damit sicher, dass der Verbindungsdatenverkehr nicht über das öffentliche Netzwerk geleitet wird. Die Lösung ist nur verfügbar, wenn bestimmte Voraussetzungen erfüllt sind:
- Bei der Computeressource muss die Integration des virtuellen Netzwerks aktiviert sein. Bei Azure App Service kann dies in den Netzwerkeinstellungen konfiguriert werden. Bei Azure Spring Apps müssen Benutzer während der Ressourcenerstellung die Integration des virtuellen Netzwerks festlegen.
- Der Zieldienst muss den Dienstendpunkt unterstützen. Eine Liste der unterstützten Dienste finden Sie unter Virtual Network-Dienstendpunkte.
Wenn Sie diese Option auswählen, fügt Service Connector die private IP-Adresse der Computeressource im virtuellen Netzwerk den Virtual Network-Regeln der Zielressource hinzu und aktiviert den Dienstendpunkt in der Subnetzkonfiguration der Quellressource. Wenn der Benutzer nicht über ausreichende Berechtigungen verfügt oder die SKU oder Region der Ressource keine Dienstendpunkte unterstützt, schlägt die Verbindungserstellung fehl.
Privater Endpunkt: Diese Lösung ist eine empfohlene Methode zum Verbinden von Ressourcen über ein virtuelles Netzwerk und ist nur verfügbar, wenn bestimmte Voraussetzungen erfüllt sind:
Bei der Computeressource muss die Integration des virtuellen Netzwerks aktiviert sein. Bei Azure App Service kann dies in den Netzwerkeinstellungen konfiguriert werden. Bei Azure Spring Apps müssen Benutzer während der Ressourcenerstellung die Integration des virtuellen Netzwerks festlegen.
Der Zieldienst muss private Endpunkte unterstützen. Eine Liste der unterstützten Dienste finden Sie unter Private Link-Ressource.
Wenn Sie diese Option auswählen, führt Service Connector keine weiteren Konfigurationen in den Compute- oder Zielressourcen durch. Stattdessen wird überprüft, ob ein gültiger privater Endpunkt vorhanden ist, und die Verbindung schlägt fehl, wenn ein solcher nicht gefunden wird. Benutzer können der Einfachheit halber das Kontrollkästchen „Neuer privater Endpunkt“ im Azure-Portal aktivieren, wenn sie eine Verbindung erstellen. Damit erstellt Service Connector automatisch alle zugehörigen Ressourcen für den privaten Endpunkt in der richtigen Reihenfolge und vereinfacht damit den Verbindungserstellungsprozess.
Überprüfen der Dienstverbindung
Beim Überprüfen einer Verbindung prüft der Dienstconnector die folgenden Elemente:
- Die Quell- und Zielressourcen sind vorhanden.
- Quelle: Es wurden die richtigen Verbindungsinformationen registriert.
- Ziel: Es wurden die richtigen Netzwerk- und Firewalleinstellungen registriert.
- Quell- und Zielressourcen: Es wurden die richtigen Authentifizierungsinformationen registriert.
Verbindungslöschung
Wenn eine Dienstverbindung gelöscht wird, werden auch die Verbindungsinformationen gelöscht.
Nächste Schritte
Lesen Sie den folgenden Konzeptartikel, um mehr über Service Connector zu erfahren.