Share via


Interne werking van serviceconnector

ServiceConnector is een Azure-extensieresourceprovider die is ontworpen om een eenvoudige manier te bieden om verbindingen tussen Azure-services te maken en te beheren.

ServiceConnector biedt de volgende functies:

  • Hiermee kunt u Azure-services verbinden met één Azure CLI-opdracht of in een paar stappen met behulp van Azure Portal.
  • Ondersteunt een toenemend aantal databases, opslag, realtime services, status en geheime archieven die worden gebruikt met uw cloudeigen toepassing.
  • Hiermee configureert u netwerkinstellingen, verificatie en beheert u omgevingsvariabelen of eigenschappen voor verbindingen.
  • Valideert verbindingen en biedt suggesties voor het oplossen van defecte verbindingen.

Overzicht van serviceverbindingen

Het concept van serviceverbinding is een belangrijk concept in het resourcemodel van Service Connector. Een serviceverbinding vertegenwoordigt een abstractie van de koppeling tussen twee services. Serviceverbindingen hebben de volgende eigenschappen:

Eigenschappen Beschrijving
Naam verbinding De unieke naam van de serviceverbinding.
Bronservicetype Bronservices zijn services waarmee u verbinding kunt maken met doelservices. Dit zijn meestal Azure-rekenservices en ze omvatten Azure-app Service, Azure Container Apps, Azure Functions, Azure Kubernetes Service (AKS) en Azure Spring Apps.
Doelservicetype Doelservices zijn back-ups van services of afhankelijkheidsservices waarmee uw rekenservices verbinding maken. ServiceConnector ondersteunt verschillende doelservicetypen, waaronder belangrijke databases, opslag, realtime services, status en geheime archieven.
Clienttype Het clienttype verwijst naar uw rekenruntimestack, ontwikkelingsframework of een specifiek type clientbibliotheek dat de specifieke indeling van de omgevingsvariabelen of eigenschappen van de verbinding accepteert.
Verificatietype Het verificatietype dat wordt gebruikt voor de serviceverbinding. Dit kan een geheim/verbindingsreeks, een beheerde identiteit of een service-principal zijn.

Bronservices en doelservices ondersteunen meerdere gelijktijdige serviceverbindingen, wat betekent dat u elke resource met meerdere resources kunt verbinden.

Service Connector beheert verbindingen in de eigenschappen van het bronexemplaren. Het maken, ophalen, bijwerken en verwijderen van verbindingen wordt rechtstreeks uitgevoerd door het bronservice-exemplaar te openen in Azure Portal of met behulp van de CLI-opdrachten van de bronservice.

Verbindingen kunnen worden gemaakt tussen abonnementen of tenants, wat betekent dat bron- en doelservices kunnen behoren tot verschillende abonnementen of tenants. Wanneer u een nieuwe serviceverbinding maakt, wordt de verbindingsresource standaard gemaakt in dezelfde regio als uw rekenservice-exemplaar.

Serviceverbinding maken en bijwerken

ServiceConnector voert meerdere taken uit tijdens het maken of bijwerken van serviceverbindingen, waaronder:

  • De netwerk- en firewallinstellingen configureren. Meer informatie over netwerkoplossingen.

  • Verbindingsgegevens configureren. Meer informatie over verbindingsconfiguraties.

  • Verificatiegegevens configureren. Service Connector ondersteunt alle beschikbare verificatietypen tussen bronservices en doelservices.

    • Door het systeem toegewezen beheerde identiteit. Met Service Connector kunnen door het systeem toegewezen beheerde identiteit op bronservices worden ingeschakeld als deze nog niet zijn ingeschakeld, en worden vervolgens RBAC-rollen van doelservices aan de beheerde identiteit verleend. De gebruiker kan opgeven welke rollen moeten worden verleend.
    • Door de gebruiker toegewezen beheerde identiteit. Service Connector maakt het mogelijk om door de gebruiker toegewezen beheerde identiteit op bronservices in te schakelen als deze nog niet is ingeschakeld. Vervolgens worden RBAC-rollen van doelservices aan de beheerde identiteit verleend. De gebruiker kan opgeven welke rollen moeten worden verleend.
    • Verbindingsreeks. ServiceConnector haalt verbindingsreeks s op uit doelservices zoals Storage, Redis Cache, enzovoort, of bouwt verbindingsreeks s op basis van gebruikersinvoer, zoals Azure Database for SQL, PostgreSQL, enzovoort.
    • Service-principal. Service Connector verleent RBAC-rollen van doelservices aan de beheerde identiteit. De gebruiker kan opgeven welke rollen moeten worden verleend.

    Service Connector slaat de bijbehorende verificatieconfiguraties op voor bronservices, bijvoorbeeld het opslaan van AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_STORAGEACCOUNT_ENDPOINT voor Opslag met door de gebruiker toegewezen beheerde identiteit van het verificatietype.

  • Het terugdraaien van de verbinding maken of bijwerken als er een fout optreedt

Als een stap mislukt tijdens dit proces, worden alle vorige stappen teruggedraaid om de eerste instellingen in de bron- en doelexemplaren te behouden.

Resourceprovider

Microsoft.ServiceLinker is de naam van de resourceprovider van de serviceconnector.

Wanneer een gebruiker het tabblad Serviceconnector opent in Azure Portal, wordt de ServiceLinker-resourceprovider automatisch geregistreerd in het actieve abonnement van de gebruiker. De gebruiker die de registratie heeft gegenereerd, wordt vermeld als initiator van de registratie-gebeurtenis.

Met serviceconnector kunnen gebruikers services verbinden tussen abonnementen. Wanneer een gebruiker een verbinding maakt met een doelservice die is geregistreerd in een ander abonnement, wordt Service Linker ook geregistreerd in het abonnement van de doelservice. Deze registratie vindt plaats wanneer de gebruiker het tabblad Controleren en maken selecteert voordat de verbinding definitief wordt gemaakt.

Verbindingsconfiguraties

Verbindingsconfiguraties worden ingesteld in de bronservice.

Open een bronservice in Azure Portal en navigeer naar Service Connector. Vouw elke verbinding uit en bekijk de verbindingsconfiguraties.

Schermopname van Azure Portal met serviceverbindingsgegevens.

Gebruik de list-configuration opdracht in de CLI om de verbindingsconfiguraties op te halen.

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>

Naamconventie voor configuratie

ServiceConnector stelt de verbindingsconfiguratie in bij het maken van een verbinding. De sleutel-waardeparen van de omgevingsvariabele worden bepaald op basis van uw clienttype en verificatietype. Voor het gebruik van de Azure SDK met een beheerde identiteit is bijvoorbeeld een client-id, clientgeheim, enzovoort vereist. Voor het gebruik van een JDBC-stuurprogramma is een database-verbindingsreeks vereist. Volg deze conventies om de configuraties een naam te geven:

  • Spring Boot-client: de Spring Boot-bibliotheek voor elke doelservice heeft een eigen naamconventie. MySQL-verbindingsinstellingen zijn spring.datasource.urlbijvoorbeeld , . spring.datasource.usernamespring.datasource.password Kafka-verbindingsinstellingen zouden zijn spring.kafka.properties.bootstrap.servers.

  • Andere clients:

    • De sleutelnaam van de eerste verbindingsconfiguratie maakt gebruik van de indeling <Cloud>_<Type>_<Name>. Bijvoorbeeld, AZURE_STORAGEBLOB_RESOURCEENDPOINT. CONFLUENTCLOUD_KAFKA_BOOTSTRAPSERVER
    • Voor hetzelfde type doelresource gebruikt de sleutelnaam van de tweede verbindingsconfiguratie de indeling <Cloud>_<Type>_<Connection Name>_<Name>. Bijvoorbeeld, AZURE_STORAGEBLOB_CONN2_RESOURCEENDPOINT. CONFLUENTCLOUD_KAFKA_CONN2_BOOTSTRAPSERVER

Servicenetwerkoplossing

Service Connector biedt drie netwerkoplossingen waaruit gebruikers kunnen kiezen bij het maken van een verbinding. Deze oplossingen zijn ontworpen om veilige en efficiënte communicatie tussen resources mogelijk te maken.

  1. Firewall: Deze oplossing maakt verbinding mogelijk via een openbaar netwerk en rekenresource die toegang heeft tot de doelresource met een openbaar IP-adres. Wanneer u deze optie selecteert, controleert Service Connector de firewallinstellingen van de doelresource en voegt u een regel toe om verbindingen van het openbare IP-adres van de bronresource toe te staan. Als de firewall van de resource ondersteuning biedt voor het toestaan van toegang tot alle Azure-resources, schakelt Service Connector deze instelling in. Als de doelresource echter standaard al het openbare netwerkverkeer weigert, wijzigt serviceconnector deze instelling niet. In dit geval moet u een andere optie kiezen of de netwerkinstellingen handmatig bijwerken voordat u het opnieuw probeert.

  2. Service-eindpunt: Met deze oplossing kan rekenresource verbinding maken met doelresources via een virtueel netwerk, zodat verbindingsverkeer niet via het openbare netwerk wordt doorgegeven. Het is alleen beschikbaar als aan bepaalde voorwaarden wordt voldaan:

    • Voor de rekenresource moet integratie van virtuele netwerken zijn ingeschakeld. Voor Azure-app Service kan deze worden geconfigureerd in de netwerkinstellingen. Voor Azure Spring Apps moeten gebruikers virtual networkinjectie instellen tijdens de fase voor het maken van resources.
    • De doelservice moet service-eindpunt ondersteunen. Raadpleeg service-eindpunten voor Virtual Network voor een lijst met ondersteunde services.

    Wanneer u deze optie selecteert, voegt Service Connector het privé-IP-adres van de rekenresource in het virtuele netwerk toe aan de regels voor het virtuele netwerk van de doelresource en schakelt u het service-eindpunt in de subnetconfiguratie van de bronresource in. Als de gebruiker onvoldoende machtigingen heeft of de SKU of regio van de resource geen ondersteuning biedt voor service-eindpunten, mislukt het maken van de verbinding.

  3. Privé-eindpunt: deze oplossing is een aanbevolen manier om resources te verbinden via een virtueel netwerk en is alleen beschikbaar als aan bepaalde voorwaarden wordt voldaan:

  • Voor de rekenresource moet integratie van virtuele netwerken zijn ingeschakeld. Voor Azure-app Service kan deze worden geconfigureerd in de netwerkinstellingen. Voor Azure Spring Apps moeten gebruikers VNet-injectie instellen tijdens de fase voor het maken van resources.

  • De doelservice moet ondersteuning bieden voor privé-eindpunten. Raadpleeg de Private Link-resource voor een lijst met ondersteunde services.

    Wanneer u deze optie selecteert, worden er geen configuraties meer uitgevoerd in de reken- of doelresources. In plaats daarvan wordt het bestaan van een geldig privé-eindpunt gecontroleerd en mislukt de verbinding als deze niet wordt gevonden. Voor het gemak kunnen gebruikers het selectievakje Nieuw privé-eindpunt in Azure Portal inschakelen bij het maken van een verbinding. Hiermee maakt Service Connector automatisch alle gerelateerde resources voor het privé-eindpunt in de juiste volgorde, waardoor het proces voor het maken van verbindingen wordt vereenvoudigd.

Validatie van serviceverbinding

Bij het valideren van een verbinding controleert de Service-connector de volgende elementen:

  • De bron- en doelbronnen bestaan.
  • Bron: de juiste verbindingsgegevens zijn geregistreerd.
  • Doel: de juiste netwerk- en firewallinstellingen zijn geregistreerd.
  • Bron- en doelbronnen: de juiste verificatiegegevens worden geregistreerd.

Verwijderen van verbinding

Wanneer een serviceverbinding wordt verwijderd, worden de verbindingsgegevens ook verwijderd.

Volgende stappen

Zie het volgende conceptartikel voor meer informatie over Service Connector.