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
Copy file name to clipboardExpand all lines: articles/app-service/networking-features.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -72,6 +72,9 @@ The following outbound use cases suggest how to use App Service networking featu
72
72
73
73
Azure App Service scale units support many customers in each deployment. The Free and Shared SKU plans host customer workloads on multitenant workers. The Basic and higher plans host customer workloads that are dedicated to only one App Service plan. If you have a Standard App Service plan, all the apps in that plan run on the same worker. If you scale out the worker, all the apps in that App Service plan are replicated on a new worker for each instance in your App Service plan.
74
74
75
+
> [!NOTE]
76
+
> Port 445 (SMB) is blocked by default in the Azure App Service sandbox and cannot be used to access on-premises or public resources.
77
+
75
78
#### Outbound addresses
76
79
77
80
The worker virtual machines are broken down in large part by the App Service plans. The Free, Shared, Basic, Standard, and Premium plans all use the same worker virtual machine type. The PremiumV2 plan uses another virtual machine type. PremiumV3 uses yet another virtual machine type. And PremiumV4 uses yet another virtual machine type.
For more information, see [Azure permissions for Networking](../role-based-access-control/permissions/networking.md) and [Virtual network permissions](../virtual-network/virtual-network-manage-subnet.md#permissions).
@@ -148,43 +148,43 @@ To use an NSG with your application gateway, you need to create or retain some e
148
148
149
149
**Client traffic**: Allow incoming traffic from the expected clients (as source IP or IP range), and for the destination as your application gateway's entire subnet IP prefix and inbound access ports. For example, if you have listeners configured for ports 80 and 443, you must allow these ports. You can also set this rule to `Any`.
|`<as per need>`|Any|`<Subnet IP Prefix>`|`<listener ports>`|TCP|Allow|
154
154
155
155
After you configure *active public and private listeners* (with rules) *with the same port number*, your application gateway changes the **Destination** of all inbound flows to the frontend IPs of your gateway. This change occurs even for listeners that aren't sharing any port. You must include your gateway's frontend public and private IP addresses in the **Destination** of the inbound rule when you use the same port configuration.
|`<as per need>`|Any|`<Public and Private frontend IPs>`|`<listener ports>`|TCP|Allow|
160
160
161
161
**Infrastructure ports**: Allow incoming requests from the source as the **GatewayManager** service tag and **Any** destination. The destination port range differs based on SKU and is required for communicating the status of the backend health. These ports are protected/locked down by Azure certificates. External entities can't initiate changes on those endpoints without appropriate certificates in place.
|GatewayManager|Any|Any|`<as per SKU given above>`|TCP|Allow|
169
169
170
170
> [!TIP]
171
171
> The communication with Gateway Manager service is regional by default.
172
172
173
173
**Azure Load Balancer probes**: Allow incoming traffic from the source as the **AzureLoadBalancer** service tag. This rule is created by default for [NSGs](../virtual-network/network-security-groups-overview.md). You must not override it with a manual **Deny** rule to ensure smooth operations of your application gateway.
You can block all other incoming traffic by using a **Deny All** rule.
180
180
181
181
#### Outbound rules
182
182
183
183
**Outbound to the internet**: Allow outbound traffic to the internet for all destinations. This rule is created by default for [NSGs](../virtual-network/network-security-groups-overview.md). You must not override it with a manual **Deny** rule to ensure smooth operations of your application gateway. Outbound NSG rules that deny any outbound connectivity must not be created.
> Application Gateways that don't have [Network Isolation](application-gateway-private-deployment.md#route-table-control) enabled don't allow traffic to be sent between peered VNets when **Allow traffic to remote virtual network** is disabled.
|**Azure CNI Overlay**| Overlay | - Best for VNET IP conservation<br/>- Max node count supported by API Server + 250 pods per node<br/>- Simpler configuration<br/> - No direct external pod IP access |
33
33
|**Azure CNI Pod Subnet**| Flat | - Direct external pod access<br/>- Modes for efficient VNet IP usage _or_ large cluster scale support |
34
34
|**Azure CNI Node Subnet**| Flat | - Direct external pod access<br/>- Simpler configuration <br/>- Limited scale <br/>- Inefficient use of VNet IPs |
@@ -72,10 +72,16 @@ A: Yes, upgrade of the AKS cluster from CNI to CNI Overlay and Application Gatew
72
72
> [!WARNING]
73
73
> Ensure the Application Gateway for Containers subnet is a /24 before upgrading. Upgrading from CNI to CNI Overlay with a larger subnet (/23 or larger) will lead to an outage and require the Application Gateway for Containers subnet to be recreated with a /24 subnet size.
74
74
75
-
Q: Can I upgrade an existing cluster with Kubenet to CNI Overlay?
76
-
75
+
Q: Can I upgrade an existing cluster with Kubenet to CNI Overlay?
77
76
A: Yes, however, installation of Application Gateway for Containers on a cluster with Kubenet isn't supported. Install Application Gateway for Containers post-upgrade to CNI Overlay.
78
77
78
+
Q: If I use Application Gateway for Containers with CNI Overlay, can I forward requests to Azure Firewall or a Network Virtual Appliance (NVA)?
79
+
A: No. With CNI Overlay, NVAs don't have access to proxy traffic to the overlay network.
80
+
If you need Azure services or NVAs to access the overlay network, use Azure CNI (flat networking) instead of CNI Overlay.
81
+
82
+
Q: Can I deploy Application Gateway for Containers in a separate virtual network from my AKS cluster?
83
+
A: No. Separate virtual networks for Application Gateway for Containers and AKS aren't currently supported. Application Gateway for Containers must be deployed in the same virtual network as your AKS cluster.
> Certificates for Application Gateway for Containers must be stored as Kubernetes secrets. Azure Key Vault integration via the [Secrets Store CSI driver](/azure/aks/csi-secrets-store-driver) is not supported because Application Gateway for Containers requires certificates to be local to the cluster and cannot mount them from external volumes. For automated certificate management, consider using [cert-manager with Let's Encrypt](how-to-cert-manager-lets-encrypt-gateway-api.md).
30
+
28
31
1. If following the BYO deployment strategy, ensure that you set up your Application Gateway for Containers resources and ALB Controller ([Add-on](quickstart-deploy-application-gateway-for-containers-alb-controller-addon.md) or [Helm](quickstart-deploy-application-gateway-for-containers-alb-controller-helm.md))
29
32
2. If following the ALB managed deployment strategy, ensure that you provision your ALB Controller ([Add-on](quickstart-deploy-application-gateway-for-containers-alb-controller-addon.md) or [Helm](quickstart-deploy-application-gateway-for-containers-alb-controller-helm.md)) and the Application Gateway for Containers resources via the [ApplicationLoadBalancer custom resource](quickstart-create-application-gateway-for-containers-managed-by-alb-controller.md).
> Certificates for Application Gateway for Containers must be stored as Kubernetes secrets. Azure Key Vault integration via the [Secrets Store CSI driver](/azure/aks/csi-secrets-store-driver) is not supported because Application Gateway for Containers requires certificates to be local to the cluster and cannot mount them from external volumes. For automated certificate management, consider using [cert-manager with Let's Encrypt](how-to-cert-manager-lets-encrypt-ingress-api.md).
27
+
25
28
1. If you follow the BYO deployment strategy, ensure that you set up your Application Gateway for Containers resources and ALB Controller ([Add-on](quickstart-deploy-application-gateway-for-containers-alb-controller-addon.md) or [Helm](quickstart-deploy-application-gateway-for-containers-alb-controller-helm.md))
26
29
2. If you follow the ALB managed deployment strategy, ensure that you provision your ALB Controller ([Add-on](quickstart-deploy-application-gateway-for-containers-alb-controller-addon.md) or [Helm](quickstart-deploy-application-gateway-for-containers-alb-controller-helm.md)) and the Application Gateway for Containers resources via the [ApplicationLoadBalancer custom resource](quickstart-create-application-gateway-for-containers-managed-by-alb-controller.md).
|[Custom health probe](migrate-from-agic-to-agc.md#custom-health-probes)| appgw.ingress.kubernetes.io/health-probe-hostname |[HealthCheckPolicy](migrate-from-agic-to-agc.md#healthcheckpolicy)|[HealthCheckPolicy](migrate-from-agic-to-agc.md#healthcheckpolicy)|
68
-
|[Custom health probe](migrate-from-agic-to-agc.md#custom-health-probes)| appgw.ingress.kubernetes.io/health-probe-port |[HealthCheckPolicy](migrate-from-agic-to-agc.md#healthcheckpolicy)|[HealthCheckPolicy](migrate-from-agic-to-agc.md#healthcheckpolicy)|
68
+
|[Custom health probe](migrate-from-agic-to-agc.md#custom-health-probes)| appgw.ingress.kubernetes.io/health-probe-port |[HealthCheckPolicy](migrate-from-agic-to-agc.md#healthcheckpolicy)|[HealthCheckPolicy](migrate-from-agic-to-agc.md#healthcheckpolicy)|
69
69
|[Custom health probe](migrate-from-agic-to-agc.md#custom-health-probes)| appgw.ingress.kubernetes.io/health-probe-path |[HealthCheckPolicy](migrate-from-agic-to-agc.md#healthcheckpolicy)|[HealthCheckPolicy](migrate-from-agic-to-agc.md#healthcheckpolicy)|
70
70
|[Custom health probe](migrate-from-agic-to-agc.md#custom-health-probes)| appgw.ingress.kubernetes.io/health-probe-status-codes |[HealthCheckPolicy](migrate-from-agic-to-agc.md#healthcheckpolicy)|[HealthCheckPolicy](migrate-from-agic-to-agc.md#healthcheckpolicy)|
71
71
|[Custom health probe](migrate-from-agic-to-agc.md#custom-health-probes)| appgw.ingress.kubernetes.io/health-probe-interval |[HealthCheckPolicy](migrate-from-agic-to-agc.md#healthcheckpolicy)|[HealthCheckPolicy](migrate-from-agic-to-agc.md#healthcheckpolicy)|
@@ -227,6 +227,11 @@ Direct certificate upload and reference to a certificate in Azure Key Vault isn'
227
227
228
228
Secrets should be stored in [AKS Secret Store](/azure/aks/concepts-security#kubernetes-secrets) and referenced by name.
229
229
230
+
> [!IMPORTANT]
231
+
> Application Gateway for Containers requires certificates to be local to the AKS cluster and cannot mount them from external volumes. As a result, using [Azure Key Vault with the Secrets Store CSI driver](/azure/aks/csi-secrets-store-driver) is not supported for Application Gateway for Containers certificates.
232
+
>
233
+
> To use certificates from Azure Key Vault, you must first sync them to Kubernetes secrets. Consider using [cert-manager](how-to-cert-manager-lets-encrypt-gateway-api.md) with Let's Encrypt for automated certificate management, or manually import certificates from Key Vault into Kubernetes secrets.
234
+
230
235
### Establishing backend certificate chain trust
231
236
232
237
AGIC annotation
@@ -249,7 +254,7 @@ Application Gateway for Containers allows customers to reference prebuild TLS po
249
254
250
255
#### Frontend TLS Policy in Gateway API
251
256
252
-
To use this feature, you must use Gateway API. More details on TLS Policy are found [here](tls-policy.md).
257
+
To use this feature, you must use Gateway API. More details on TLS Policy are found in the [TLS Policy documentation](tls-policy.md).
253
258
254
259
>[!Note]
255
260
>The Predefined policy names and cipher suites are different from Application Gateway Ingress Controller. Please refer to the [predefined TLS policy table](tls-policy.md#predefined-tls-policy).
@@ -361,7 +366,7 @@ AGIC annotation
361
366
362
367
Application Gateway for Containers implementation
363
368
364
-
Request timeouts are nonconfigurable in Application Gateway for Containers. A list of default timeout values are documented [here](application-gateway-for-containers-components.md#request-timeouts).
369
+
Request timeouts are nonconfigurable in Application Gateway for Containers. A list of default timeout values are documented in [default timeout values](application-gateway-for-containers-components.md#request-timeouts).
Copy file name to clipboardExpand all lines: articles/application-gateway/for-containers/tls-policy.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,8 +28,8 @@ Application Gateway for Containers offers two predefined security policies. You
28
28
29
29
The following table shows the list of cipher suites and minimum protocol version support for each predefined policy. The ordering of the cipher suites determines the priority order during TLS negotiation. To know the exact ordering of the cipher suites for these predefined policies.
0 commit comments