/3-tier-infrastructure

A 3-tier architecture deployed in azure using terraform. This includes a 3 virtual machines which will represent the 3 tiers - web, app, and database. A virtual network with 3 subnets - each for a tier, network security groups to defines security rules for the architecture.

Primary LanguageHCL

Requirements

Name Version
azurerm 3.20.0

Providers

Name Version
azurerm 3.20.0

Modules

Name Source Version
api ./modules/virtual-machine n/a
network_security_group ./modules/network-security-group n/a
web ./modules/virtual-machine n/a

Resources

Name Type
azurerm_lb.private resource
azurerm_lb.public resource
azurerm_lb_backend_address_pool.api resource
azurerm_lb_backend_address_pool.web resource
azurerm_lb_probe.private resource
azurerm_lb_probe.public resource
azurerm_lb_rule.private resource
azurerm_lb_rule.public resource
azurerm_mssql_database.this resource
azurerm_mssql_server.this resource
azurerm_mssql_virtual_network_rule.sqlvnetrule resource
azurerm_network_interface_backend_address_pool_association.api resource
azurerm_network_interface_backend_address_pool_association.web resource
azurerm_public_ip.public resource
azurerm_resource_group.this resource
azurerm_subnet.this resource
azurerm_subnet_network_security_group_association.this resource
azurerm_virtual_network.this resource

Inputs

Name Description Type Default Required
address_space This specifies the address space of the virtual network list(string) n/a yes
administrator_login This specifies the database administrator login string n/a yes
administrator_login_password This specifies the administrator login password string n/a yes
api_instances n/a list(string) n/a yes
database_version This specifies the version of the database string n/a yes
databases n/a list(string) n/a yes
db_server_name n/a any n/a yes
location This specifies the location of the virtual machine string n/a yes
resource_group_name This specifies the resource group of the virtual machine string n/a yes
security_rules n/a
map(object({
access = string
priority = number
direction = string
access = string
source_address_prefix = optional(list(string), null)
source_port_range = string
destination_address_prefix = optional(list(string), null)
destination_port_range = string
}))
n/a yes
subnets n/a map(string) n/a yes
virtual_network_name n/a any n/a yes
vm_sku n/a any n/a yes
web_instances n/a list(string) n/a yes

Outputs

No outputs.