Blog Post

Apps on Azure Blog
3 MIN READ

Connect Privately to Azure Front Door with Azure Container Apps

LianaAdaza's avatar
LianaAdaza
Icon for Microsoft rankMicrosoft
Nov 19, 2024

Azure Container Apps is a fully managed serverless container service that enables you to deploy and run containerized applications with per-second billing and autoscaling without having to manage infrastructure. The service also provides support for a number of enhanced networking capabilities to address security and compliance needs such as network security groups (NSGs), Azure Firewall, and more.

 

Today, Azure Container Apps is excited to announce public preview for another key networking capability, private endpoints for workload profile environments. This feature allows customers to connect to their Container Apps environment using a private IP address in their Azure Virtual Network, thereby eliminating exposure to the public internet and securing access to their applications.

 

With the introduction of private endpoints for workload profile environments, you can now also establish a direct connection from Azure Front Door to your Container Apps environment via Private Link. By enabling Private Link for an Azure Container Apps origin, customers benefit from an extra layer of security that further isolates their traffic from the public internet. Currently, you can configure this connectivity through CLI (portal support coming soon). 

 

In this post, we will do a brief overview of private endpoints on Azure Container Apps and the process of privately connecting it to Azure Front Door. 

Getting started with private endpoints on Azure Container Apps 

Private endpoints can be enabled either during the creation of a new environment or within an existing one. For new environments, you simply navigate to the Networking tab, disable public network access, and enable private endpoints.

To manage the creation of private endpoints in an existing environment, you can use the new Networking blade, which is also in public preview. 

Since private endpoints use a private IP address, the endpoint for a container app is inaccessible through the public internet. This can be confirmed by the lack of connectivity when opening the application URL. 

If you prefer using CLI, you can find further guidance in enabling private endpoints at Use a private endpoint with an Azure Container Apps environment (preview).

Adding container apps as a private origin for Azure Front Door  

With private endpoints, you can securely connect them to Azure Front Door through Private Link as well. The current process involves CLI commands that guide you in enabling an origin for Private Link and approving the private endpoint connection. Once approved, Azure Front Door assigns a private IP address from a managed regional private network, and you can verify the connectivity between your container app and the Azure Front Door.  

For a detailed tutorial, please navigate to Create a private link to an Azure Container App with Azure Front Door (preview).

Troubleshooting

Have trouble testing the private endpoints? After creating a private endpoint for a container app, you can build and deploy a virtual machine to test the private connection. With no public inbound ports, this virtual machine would be associated with the virtual network defined during creation of the private endpoint. After creating the virtual machine, you can connect via Bastion and verify the private connectivity. You may find outlined instructions at Verify the private endpoint connection.

Conclusion

The public preview of private endpoints and private connectivity to Azure Front Door for workload profile environments is a long-awaited feature in Azure Container Apps. We encourage you to implement private endpoints for enhanced security and look forward to your feedback on this experience at our GitHub page.

Additional Resources 

To learn more, please visit the following links to official documentation:

Updated Nov 19, 2024
Version 1.0
  • rhal1's avatar
    rhal1
    Copper Contributor

    Great to see the feature in public preview.
    However, I just tested the deployment in both managed VNet and self managed VNET environments. The result is that the Origin keeps being stuck in "deploymentStatus": "NotStarted"
    Private endpoint connection is up and running, container is reachable from within the VNET. Any idea what the issue is?

    • jennylaw's avatar
      jennylaw
      Icon for Microsoft rankMicrosoft

      Can you send your environment resource ID details to acasupport(at)microsoft(dot)com?