Skip to content

Terraform repository for deploying Azure Application Gateway with backend pools of Azure App Services. Supports HTTPS via TLS certificate. Automates DNS configuration using PowerShell scripts and Cloudflare.

License

Notifications You must be signed in to change notification settings

kolosovpetro/AzureApplicationGatewayTerraform

Repository files navigation

Azure Application Gateway

Terraform repository for deploying Azure Application Gateway with backend pools of Azure App Services. Supports HTTPS via TLS certificate. Automates DNS configuration using PowerShell scripts and Cloudflare.

DEV

QA

Docs

Azure Application Gateway components

  • Frontend IP - Public or internal IP address that accepts incoming traffic to App Gateway
  • Frontend IP Configuration - Binds Frontend Public IP address to Azure Application Gateway
  • Gateway IP Configuration - Binds an application gateway within specific subnet ensuring internal communication
  • Frontend Port - Defines a port that accepts incoming HTTP or HTTPS requests to application gateway
  • Backend Pool - A list of IP addresses or FQDN where incoming HTTPS or HTTPS traffic is being forwarded
  • HTTP Listener - A component that checks for incoming HTTP or HTTPS requests on a specified Frontend IP and Port. It determines how requests are processed based on its configuration, which includes Hostname, Protocol, and SSL settings
  • Backend HTTP Settings - Defines how application gateway sends incoming traffic to backend servers, by setting up a Protocol, Backend port and Timeout interval
  • Routing Rules - Defines how incoming requests are forwarded to backend targets. They link HTTP Listeners to Backend Pools by specifying the appropriate Backend HTTP settings
  • Health Probe - Ensures that traffic is delivered only to healthy backend servers

Azure Application Gateway architecture

gateway

Steps to configure Azure Application Gateway

  • Deploy virtual network
  • Deploy application gateway subnet
  • Deploy application gateway public IP
  • Associate gateway with subnet using gateway_ip_configuration block
  • Define app gateway frontend ports (80, 443) by using frontend_port block
  • Associate app gateway with public IP using frontend_ip_configuration block
  • Define backend pools with app services FQDNs by using backend_address_pool block
  • Define HTTP settings for routing rules by using http_settings block
  • Add http and https listeners to the app gateway using http_listener block
  • Define routing rules to handle requests based on headers CN
  • Create a Cloudflare DNS record for the app gateway public IP and test connection

About

Terraform repository for deploying Azure Application Gateway with backend pools of Azure App Services. Supports HTTPS via TLS certificate. Automates DNS configuration using PowerShell scripts and Cloudflare.

Topics

Resources

License

Stars

Watchers

Forks