This design implements Azure Logic Apps (Standard) for enterprise workflow automation.
Topology: The Logic App is deployed in the Spoke VNet (VNet Integration). This allows it to access private resources (like the SQL DB from Design 21) via the Hub.
+--------------+ +--------------------------+ +--------------+
| Trigger | | HUB VNet | | SPOKE VNet |
| (HTTP Req) | | (DNS Resolver) | | (Logic App) |
+------+-------+ +------------+-------------+ +------+-------+
| | |
v | (Peering) |
+------+-------+ v v
| Logic App | +------------+-------------+ +------+-------+
| (Workflow) |---------->| Private DNS Zone |<----------| SQL DB |
+------+-------+ | (privatelink.database) | | (Private) |
| +--------------------------+ +------+-------+
| ^
| |
+--------------------(VNet Integration)---------------------------+
PRIMARY REGION (East US)
+-----------------------------------------------------------------------+
| HUB VNet: vnet-hub (10.0.0.0/16) |
| +-----------------------+ |
| | Private DNS Zone | |
| +-----------|-----------+ |
| | |
| v (Peering) |
+---------------|-------------------------------------------------------+
|
+---------------|-------------------------------------------------------+
| SPOKE VNet: vnet-logic-spoke (10.1.0.0/16) |
| +-----------------------+ +-----------------------+ |
| | Subnet: Integration | | Subnet: PrivateLink | |
| | (Delegated) | | [SQL Private Endpoint]| |
| | [Logic App] |------>| (10.1.1.5) | |
| +-----------------------+ +-----------|-----------+ |
+-----------------------------------------------|-----------------------+
|
v
+-----------------------+
| Workflow Storage |
| (State) |
+-----------------------+
|
| (Geo-Redundant Storage)
v
SECONDARY REGION (West US)
+-----------------------------------------------------------------------+
| DR SPOKE VNet |
| +-----------------------+ |
| | Logic App (Standby) | |
| | (Disabled) | |
| +-----------------------+ |
+-----------------------------------------------------------------------+
WS1 (Workflow Standard 1) plan.* Deploy a second Logic App in West US.
* Leave it disabled.
* In disaster, enable it. (Note: Running instances in East US will fail).
1. Trigger: HTTP Request received.
2. Action: "Insert Row in SQL".
3. Routing: Logic App uses VNet Integration to enter vnet-logic-spoke.
4. DNS: Resolves SQL hostname via Hub.
5. Connect: Connects to SQL Private IP 10.1.1.5.
6. Execute: Inserts row.
1. Search: "Virtual networks" -> + Create.
2. Resource Group: rg-logic-spoke.
3. Name: vnet-logic-spoke.
4. Region: East US.
5. Subnets:
* snet-integration: 10.1.1.0/24.
* snet-privatelink: 10.1.2.0/24.
6. Create.
7. Delegate Subnet:
* Go to snet-integration.
* Subnet delegation: Select Microsoft.Web/serverFarms.
* Save.
1. Go to vnet-logic-spoke -> Peerings -> + Add.
2. Remote VNet: vnet-hub.
3. Add.
1. Search: "Logic Apps" -> + Create.
2. Resource Group: rg-logic-spoke.
3. Logic App name: logic-corp-prod-[uniqueid].
4. Publish: Workflow.
5. Region: East US.
6. Plan type: Standard (Required for VNet Integration).
7. Windows Plan: Create new asp-logic-prod.
8. Storage: Create new stlogicapp[uniqueid].
9. Review + create -> Create.
1. Go to the new Logic App.
2. Networking (Left Menu).
3. Outbound traffic -> VNet integration.
4. Add VNet.
5. Virtual Network: vnet-logic-spoke.
6. Subnet: snet-integration.
7. Connect.
* *Now the Logic App can reach Private IPs in the VNet and Hub.*
1. Workflows (Left Menu) -> + Add.
2. Name: Flow1.
3. State type: Stateful.
4. Create.
5. Click Flow1 -> Designer.
6. Add Trigger: Request -> When a HTTP request is received.
7. Add Action: SQL Server -> Execute a SQL query (V2).
* Connection:
* Server name: sql-corp-prod.database.windows.net (From Design 21).
* Auth: SQL Server Authentication.
* User/Pass: sqladmin / SuperSecret123!.
* Gateway: None (Connect directly via VNet).
* Query: SELECT * FROM Users.
8. Save.
1. Copy the HTTP POST URL from the Trigger.
2. Use Postman or Curl to send a POST request.
3. Check Run History. It should show "Succeeded" and return SQL data.