You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Service Connector is an extension resource provider that provides an easy way to create and manage connections between services.
15
-
- Support major databases, storage, real-time services, state, and secret stores that are used together with your cloud native application (the list is actively expanding).
16
-
- Configure network settings, authentication, and manage connection environment variables or properties by creating a service connection with just a single command or a few steps.
17
-
- Validate connections and find corresponding suggestions to fix a service connection.
14
+
Service Connector is an Azure extension resource provider designed to provide a simple way to create and manage connections between Azure services.
15
+
16
+
Service Connector offers the following features:
17
+
18
+
- Lets you connect Azure services together with a single Azure CLI command or in a few steps using the Azure portal.
19
+
- Supports an increasing number of databases, storage, real-time services, state, and secret stores that are used with your cloud native application.
20
+
- Configures network settings, authentication, and manages connection environment variables or properties for you.
21
+
- Validates connections and provides suggestions to fix faulty connections.
18
22
19
23
## Service connection overview
20
24
21
-
Service connection is the key concept in the resource model of Service Connector. In Service Connector, a service connection represents an abstraction of the link between two services. The following properties are defined on service connection.
25
+
The concept of *service connection* is a key concept in the resource model of Service Connector. A service connection represents an abstraction of the link between two services. Service connections have the following properties:
22
26
23
-
| Property | Description |
24
-
|--------|-----------|
25
-
| Connection Name | The unique name of the service connection. |
26
-
| Source Service Type | Source services are usually Azure compute services. Service Connector functionalities can be found in supported compute services by extending these Azure compute service providers.|
| Connection Name | The unique name of the service connection.|
30
+
| Source Service Type | Source services are usually Azure compute services. These are the services you can connect to target services. Source services include Azure App Service, Azure Container Apps and Azure Spring Apps. |
27
31
| Target Service Type | Target services are backing services or dependency services that your compute services connect to. Service Connector supports various target service types including major databases, storage, real-time services, state, and secret stores. |
28
-
| Client Type | Client type refers to your compute runtime stack, development framework, or specific client library type, which accepts the specific format of the connection environment variables or properties. |
29
-
| Authentication Type | The authentication type used of service connection. It could be pure secret/connection string, Managed Identity, or Service Principal.|
32
+
| Client Type | Client type refers to your compute runtime stack, development framework, or specific type of client library that accepts the specific format of the connection environment variables or properties.|
33
+
| Authentication Type | The authentication type used for the service connection. It could be a secret/connection string, a managed identity, or a service principal. |
30
34
31
-
You can create multiple service connections from one source service instance if your instance needs to connect multiple target resources. And the same target resource can be connected from multiple source instances. Service Connector will manage all connections in the properties of their source instance. It means that you can create, get, update, and delete the connections in the Azure portal or using CLI commands of the source service instance.
35
+
Source services and target services support multiple simultaneous service connections, which means that you can connect each resource to multiple resources.
32
36
33
-
Connections can be made across subscriptions or tenants. Source and target services can belong to different subscriptions or tenants. When you create a new service connection, the connection resource is in the same region as your compute service instance by default.
37
+
Service Connector manages connections in the properties of the source instance. Creating, getting, updating, and deleting connections is done directly by opening the source service instance in the Azure portal or by using the CLI commands of the source service.
34
38
35
-
## Create or update a service connection
39
+
Connections can be made across subscriptions or tenants, meaning that source and target services can belong to different subscriptions or tenants. When you create a new service connection, the connection resource is created in the same region as your compute service instance by default.
36
40
37
-
Service Connector will run multiple tasks while creating or updating a connection, including:
41
+
## Service connection creation and update
38
42
39
-
- Configure target resource network and firewall settings, making sure source and target services can talk to each other on the network level.
40
-
- Configure connection information on source resource
41
-
- Configure authentication information on source and target if needed
42
-
- Create or update connection support rollback in case of failure.
43
+
Service Connector runs multiple tasks while creating or updating service connections, including:
43
44
44
-
Creating and updating a connection contains multiple steps. If a step fails, Service Connector will roll back all previous steps to keep the initial settings in the source and target instances.
45
+
- Configuring the network and firewall settings
46
+
- Configuring connection information
47
+
- Configuring authentication information
48
+
- Creating or updating connection rollback in case of failure
49
+
50
+
If a step fails during this process, Service Connector rolls back all previous steps to keep the initial settings in the source and target instances.
45
51
46
52
## Connection configurations
47
53
48
-
Once a service connection is created, the connection configuration will be set to the source service.
54
+
Connection configurations are set in the source service.
55
+
56
+
In the Azure portal, open a source service and navigate to **Service Connector**. Expand each connection and view the connection configurations.
49
57
50
-
In the Azure portal, navigate to **Service Connector**. You can expand each connection and view the connection configurations.
58
+
:::image type="content" source="media/internals/connection-details.png" alt-text="Screenshot of the Azure portal showing service connection details.":::
In the CLI, use the `list-configuration` command to get the connection configurations.
53
61
54
-
In the CLI, you can use the `list-configuration` command to view the connection configuration.
62
+
```azurecli
63
+
az webapp connection list-configuration --resource-group <source-service-resource-group> --name <source-service-name> --connection <connection-name>
64
+
```
55
65
56
66
```azurecli
57
-
az webapp connection list-configuration -g {webapp_rg} -n {webapp_name} --connection {service_connection_name}
67
+
az spring connection list-configuration --resource-group <source-service-resource-group> --name <source-service-name> --connection <connection-name>
58
68
```
59
69
60
70
```azurecli
61
-
az spring-cloud connection list-configuration -g {spring_cloud_rg} -n {spring_cloud_name} --connection {service_connection_name}
71
+
az containerapp connection list-configuration --resource-group <source-service-resource-group> --name <source-service-name> --connection <connection-name>
62
72
```
63
73
64
74
## Configuration naming convention
65
75
66
-
Service Connector sets the configuration (environment variables or Spring Boot configurations) when creating a connection. The environment variable key-value pair(s) are determined by your client type and authentication type. For example, using the Azure SDK with managed identity requires a client ID, client secret, etc. Using JDBC driver requires a database connection string. Follow this convention to name the configuration:
76
+
Service Connector sets the connection configuration when creating a connection. The environment variable key-value pairs are determined by your client type and authentication type. For example, using the Azure SDK with a managed identity requires a client ID, client secret, etc. Using a JDBC driver requires a database connection string. Follow the conventions below to name the configurations:
77
+
78
+
- Spring Boot client: the Spring Boot library for each target service has its own naming convention. For example, MySQL connection settings would be `spring.datasource.url`, `spring.datasource.username`, `spring.datasource.password`. Kafka connection settings would be `spring.kafka.properties.bootstrap.servers`.
79
+
80
+
- Other clients:
81
+
- The key name of the first connection configuration uses the format `<Cloud>_<Type>_<Name>`. For example, `AZURE_STORAGEBLOB_RESOURCEENDPOINT`, `CONFLUENTCLOUD_KAFKA_BOOTSTRAPSERVER`.
82
+
- For the same type of target resource, the key name of the second connection configuration uses the format `<Cloud>_<Type>_<Connection Name>_<Name>`. For example, `AZURE_STORAGEBLOB_CONN2_RESOURCEENDPOINT`, `CONFLUENTCLOUD_KAFKA_CONN2_BOOTSTRAPSERVER`.
67
83
68
-
If you're using **Spring Boot** as the client type:
84
+
## Service connection validation
69
85
70
-
* Spring Boot library for each target service has its own naming convention. For example, MySQL connection settings would be `spring.datasource.url`, `spring.datasource.username`, `spring.datasource.password`. Kafka connection settings would be `spring.kafka.properties.bootstrap.servers`.
86
+
When validating a connection, Service connector checks the following elements:
71
87
72
-
If you're using **other client types**, except for Spring Boot:
88
+
- The source and target resources exist.
89
+
- Source: correct connection information is registered.
90
+
- Target: correct network and firewall settings are registered.
91
+
- Source and target resources: correct authentication information is registered.
73
92
74
-
* When connect to a target service, the key name of the first connection configuration is in format as `{Cloud}_{Type}_{Name}`. For example, `AZURE_STORAGEBLOB_RESOURCEENDPOINT`, `CONFLUENTCLOUD_KAFKA_BOOTSTRAPSERVER`.
75
-
* For the same type of target resource, the key name of the second connection configuration will be format as `{Cloud}_{Type}_{Connection Name}_{Name}`. For example, `AZURE_STORAGEBLOB_CONN2_RESOURCEENDPOINT`, `CONFLUENTCLOUD_KAFKA_CONN2_BOOTSTRAPSERVER`.
93
+
## Connection deletion
76
94
77
-
## Validate a service connection
78
-
The following items will be checked while validating the connection:
95
+
When a service connection is deleted, the connection information is also deleted.
79
96
80
-
* Validate whether source and target resources exist
81
-
* Validate target resource network and firewall settings
82
-
* Validate connection information on source resource
83
-
* Validate authentication information on source and target if needed
97
+
## Next steps
84
98
85
-
## Delete connection
99
+
Go to the concept article below to learn more about Service Connector.
86
100
87
-
The connection information on source resource will be deleted when deleting connection.
0 commit comments