Azure application gateway and app services are created for
access from the public internet. When organizations want to take these
resources private, they often struggle to maintain business continuity with
their own network structures, rules and the limitations and errors when
attempting to wire them together. This article explains how these resources can
be effectively made private with little or no disruptions.
Both these resources are complicated with many features and
configurations feasible. Even the networking section provides many choices
under incoming and outgoing sections. Some of the encountered and dreaded
errors are 403 and 502. Code hosted in the app service might find that they are
able to connect to a store or event hub if they have vnet integration and they
might want to have a private dedicated connection with another resource or
network, yet when these options are added they have requirements different from
one another. For example, to create a private endpoint, the private
endpoint network policies must be disabled, the subnet must have no delegation
and must have available IP addresses. Disabling the private endpoint network
policies might be hard to find on the Management Portal User Interface When the endpoints are created, they must be
associated with the privatelink.azurewebsites.net dns zone for them to be
reached from other resources. Certain subnets cannot be used simply because
they have a conflicting resource already placed there. The private endpoint and
the vnet integration must not share the same network.
Consequently, the approach of taking a resource private
requires the organization to pre-create subnets and even a DNS zone
specifically for ‘privatelink.azurewebsites.net’. Then the other resources must
be connected to the app service. In the case of application gateway, it
requires a DNS zone group to be created so that the application gateway can
resolve the app services by their names. This step is often overlooked after
the endpoints are created on the app services Similarly private virtual links must be
created.
It is in the interest of the deployment to create a single
unified virtual network on which all the resources and their networks are
placed. Often distinct virtual networks aka vnets result from independent initiatives,
and they require peering or links to be established. The same is true when
creating too many subnets because they exhaust the IP address ranges which are
often underutilized. The connected devices to subnets have their IP address in
the subnet’s CIDR and this information comes handy to know which subnets are
unused and can be reused for other purposes. Once the subnet and vnet are
created, then the options to add network security groups and gateways can be
decided. The traffic from the virtual networks and subnets are hard to
visualize but by enumerating the resources and their default route to the
internet, it is possible to place the gateways appropriately Otherwise those resource might not have outbound
internet connectivity.
Finally, for the application gateway to be allowed access
resources and networks as its backend pool members, its address must be allowed
on all the access restrictions of those resources and networks.
A working example of this description is available here: network4apps.zip
No comments:
Post a Comment