Virtual network support enables you to lock down access to Azure Stream Analytics to your virtual network infrastructure. This capability provides you with the benefits of network isolation and can be accomplished by deploying a containerized instance of your Azure Stream Analytics job inside your Virtual Network. Your VNET injected ASA job can then privately access your resources within the virtual network via:
Currently, this capability is only available in select Azure regions: West US, East US, Central Canada, and Central US. If you are interested in enabling VNET integration in your region, please complete this form.
VNET injected ASA jobs require access to metadata such as checkpoints to be stored in Azure tables for operational purposes.
If you already have a GPV2 account provisioned with your ASA job, no additional steps are required.
Premium storage accounts are not supported for this requirement, users will Premium storage are still required to provide a GPV2 storage account.
IMPORTANT
ASA VNET injected jobs use an internal container injection technology provided by Azure networking. At this time, Azure Networking recommends that all customers set up Azure NAT Gateway for security and reliability.
Azure NAT Gateway is a fully managed and highly resilient Network Address Translation (NAT) service. Azure NAT Gateway simplifies outbound Internet connectivity for virtual networks. When configured on a subnet, all outbound connectivity uses the NAT gateway's static public IP addresses.
To learn about setup and pricing, please visit Azure NAT Gateway.
Virtual network integration depends on a dedicated subnet. When you create a subnet, the Azure subnet consumes five IPs from the start.
You must take into consideration the IP range associated with your delegated subnet as you think about future needs required to support your ASA workload. Because subnet size can't be changed after assignment, use a subnet that's large enough to accommodate whatever scale your job(s) might reach.
When you indicate VNET integration with your Azure Stream Analytics job, Azure Portal will automatically delegate the subnet to the ASA service. Azure Portal will undelegate the subnet in the following scenarios:
Last job
Several ASA jobs may utilize the same subnet. The last job here refers to no other jobs utilizing the specified subnet. When the last job has been deleted or removed by associated, Azure Stream Analytics will release the subnet as a resource which was delegated to ASA as a service. Please allow several minutes for this action to be completed.
From the Azure portal, navigate to Networking from menu bar and select ‘Run this job in virtual network’.
This step informs us that your job must work with a VNET:
Configure the settings as prompted and click ‘save’.
In VSCode, reference the subnet within your ASA job. This step tells your job that it must work with a subnet.
In the JobConfig.json, setup your VirtualNetworkConfiguration as below:
Add a storage account under Configure > Storage account settings > Add storage account:
Follow the prompts and configure your storage account settings.
IMPORTANT
You must have at least the following Role-based access control permissions on the subnet or at a higher level to configure virtual network integration through Azure portal, CLI or when setting the virtualNetworkSubnetId site property directly:
Action |
Description |
Microsoft.Network/virtualNetworks/read |
Read the virtual network definition |
Microsoft.Network/virtualNetworks/subnets/read |
Read a virtual network subnet definition |
Microsoft.Network/virtualNetworks/subnets/join/action |
Joins a virtual network |
Microsoft.Network/virtualNetworks/subnets/write |
Optional. Only required if you need to perform delegation operations. |
IMPORTANT
If the virtual network is in a different subscription than your ASA job, you must ensure that the subscription with the virtual network is registered for the Microsoft.Web resource provider. You can explicitly register the provider by following this documentation, but it's automatically registered when creating the job in a subscription.
No extra configuration is required for the virtual network integration feature to reach through your virtual network to on-premises resources. You simply need to connect your virtual network to on-premises resources by using ExpressRoute or a site-to-site VPN.
Outside of basic requirements listed in this document, virtual network integration has no extra charge for use beyond the Azure Stream Analytics pricing charges.
The feature is easy to set up, but that doesn't mean your experience is problem free. If you encounter problems accessing your desired endpoint, contact Microsoft Support.
For direct feedback on this capability, please reach out to askasa@microsoft.com.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.