Rychlý start: Zřízení aplikací Azure Spring pomocí Terraformu
Poznámka:
Plány Basic, Standard a Enterprise budou od poloviny března 2025 vyřazeny ze 3letého období vyřazení. Doporučujeme přejít na Azure Container Apps. Další informace najdete v oznámení o vyřazení Azure Spring Apps.
Od 30. září 2024 bude od 30. září 2024 zastaralý plán s úplným vypnutím po šesti měsících. Doporučujeme přejít na Azure Container Apps. Další informace najdete v tématu Migrace spotřeby Azure Spring Apps Úrovně Standard a vyhrazeného plánu do Azure Container Apps.
Tento článek se vztahuje na: ❎ Basic ✅ Standard ✅ Enterprise
Tento rychlý start popisuje, jak pomocí Terraformu nasadit cluster Azure Spring Apps do existující virtuální sítě.
Azure Spring Apps usnadňuje nasazování aplikací Spring do Azure bez jakýchkoli změn kódu. Služba spravuje infrastrukturu aplikací Spring, aby se vývojáři mohli soustředit na svůj kód. Azure Spring Apps poskytuje správu životního cyklu pomocí komplexního monitorování a diagnostiky, správy konfigurace, zjišťování služeb, integrace CI/CD, modrých zelených nasazení a dalších.
Plán nasazení Enterprise zahrnuje následující komponenty Tanzu:
- Build Service
- Služba konfigurace aplikace
- Registr služeb
- Brána Spring Cloud
- Portál rozhraní API
Komponenta portálu API bude zahrnuta, jakmile bude dostupná prostřednictvím zprostředkovatele AzureRM Terraform.
Další přizpůsobení včetně podpory vlastních domén najdete v dokumentaci k poskytovateli Terraformu pro Azure Spring Apps.
Požadavky
- Předplatné Azure. Pokud předplatné nemáte, vytvořte si před zahájením bezplatný účet .
- Hashicorp Terraform
- Dvě vyhrazené podsítě pro cluster Azure Spring Apps, jednu pro modul runtime služby a druhou pro aplikace Spring. Informace o požadavcích na podsíť a virtuální síť najdete v části Požadavky na virtuální síť v části Nasazení služby Azure Spring Apps ve virtuální síti.
- Existující pracovní prostor služby Log Analytics pro nastavení diagnostiky Azure Spring Apps a prostředek Application Insights založený na pracovním prostoru Další informace najdete v tématu Analýza protokolů a metrik pomocí nastavení diagnostiky a agenta v javě Application Insights v rámci procesu ve službě Azure Spring Apps.
- Tři interní rozsahy
/16
ciDR (classless Inter-Domain Routing), které jste identifikovali pro použití clusterem Azure Spring Apps. Tyto rozsahy CIDR nebudou směrovatelné přímo a budou se používat jenom interně v clusteru Azure Spring Apps. Clustery nemusí používat169.254.0.0/16
, ,172.30.0.0/16
172.31.0.0/16
ani192.0.2.0/24
pro interní CIDR služby Azure Spring Apps. Clustery také nemusí používat žádné rozsahy IP adres zahrnuté v rozsahu adres virtuální sítě clusteru. - Oprávnění služby udělené virtuální síti. Poskytovatel prostředků Azure Spring Apps vyžaduje
User Access Administrator
aNetwork Contributor
oprávnění k vaší virtuální síti, aby ve virtuální síti udělil vyhrazený a dynamický instanční objekt pro další nasazení a údržbu. Pokyny a další informace najdete v části Udělení oprávnění služby virtuální síti v části Nasazení služby Azure Spring Apps ve virtuální síti. - Pokud používáte Azure Firewall nebo síťové virtuální zařízení, budete také muset splnit následující požadavky:
- Pravidla pro síťový a plně kvalifikovaný název domény (FQDN). Další informace najdete v tématu Požadavky na virtuální síť.
- Jedinečná trasa definovaná uživatelem (UDR) použitá u každé podsítě modulu runtime služby a aplikace Spring. Další informace o trasách definovaných uživatelem najdete v tématu Směrování provozu virtuální sítě. Trasa definovaná uživatelem by měla být nakonfigurovaná s trasou pro
0.0.0.0/0
cíl síťového virtuálního zařízení před nasazením clusteru Azure Spring Apps. Další informace najdete v části Používání vlastní směrovací tabulky nasazení Azure Spring Apps ve virtuální síti.
- Pokud nasazujete instanci plánu Azure Spring Apps Enterprise poprvé v cílovém předplatném, přečtěte si část Požadavky plánu Enterprise na Azure Marketplace.
Kontrola plánu Terraformu
Konfigurační soubor použitý v tomto rychlém startu pochází z referenční architektury Azure Spring Apps.
# Azure provider version
terraform {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "= 3.21.1"
}
}
}
provider "azurerm" {
features {}
}
### Create Resource group
resource "azurerm_resource_group" "sc_corp_rg" {
name = var.resource_group_name
location = var.location
}
### Create Application Insights
resource "azurerm_application_insights" "sc_app_insights" {
name = var.app_insights_name
location = var.location
resource_group_name = var.resource_group_name
application_type = "web"
workspace_id = "/subscriptions/${var.subscription}/resourceGroups/${var.azurespringcloudvnetrg}/providers/Microsoft.OperationalInsights/workspaces/${var.sc_law_id}"
depends_on = [azurerm_resource_group.sc_corp_rg]
}
### Create Spring Cloud Service
resource "azurerm_spring_cloud_service" "sc" {
name = var.sc_service_name
resource_group_name = var.resource_group_name
location = var.location
sku_name = "S0"
network {
app_subnet_id = "/subscriptions/${var.subscription}/resourceGroups/${var.azurespringcloudvnetrg}/providers/Microsoft.Network/virtualNetworks/${var.vnet_spoke_name}/subnets/${var.app_subnet_id}"
service_runtime_subnet_id = "/subscriptions/${var.subscription}/resourceGroups/${var.azurespringcloudvnetrg}/providers/Microsoft.Network/virtualNetworks/${var.vnet_spoke_name}/subnets/${var.service_runtime_subnet_id}"
cidr_ranges = var.sc_cidr
}
timeouts {
create = "60m"
delete = "2h"
}
depends_on = [azurerm_resource_group.sc_corp_rg]
tags = var.tags
}
### Update Diags setting for Spring Cloud Service
resource "azurerm_monitor_diagnostic_setting" "sc_diag" {
name = "monitoring"
target_resource_id = azurerm_spring_cloud_service.sc.id
log_analytics_workspace_id = "/subscriptions/${var.subscription}/resourceGroups/${var.azurespringcloudvnetrg}/providers/Microsoft.OperationalInsights/workspaces/${var.sc_law_id}"
log {
category = "ApplicationConsole"
enabled = true
retention_policy {
enabled = false
}
}
metric {
category = "AllMetrics"
retention_policy {
enabled = false
}
}
}
Použití plánu Terraformu
Pokud chcete použít plán Terraformu, postupujte takto:
Uložte soubor variables.tf pro plán Standard nebo plán Enterprise místně a otevřete ho v editoru.
Upravte soubor a přidejte následující hodnoty:
ID předplatného účtu Azure, do které budete nasazovat.
Umístění nasazení z oblastí, kde je služba Azure Spring Apps dostupná, jak je znázorněno v produktech dostupných v jednotlivých oblastech. Budete potřebovat krátký tvar názvu umístění. Tuto hodnotu získáte tak, že pomocí následujícího příkazu vygenerujete seznam umístění Azure a pak vyhledáte hodnotu Název vybrané oblasti.
az account list-locations --output table
Upravte soubor a přidejte následující nové informace o nasazení:
- Název skupiny prostředků, do které budete nasazovat.
- Název podle vašeho výběru pro nasazení Azure Spring Apps.
- Název vašeho výběru pro prostředek Application Insights
- Tři rozsahy CIDR (alespoň /16), které se používají k hostování back-endové infrastruktury Azure Spring Apps. Rozsahy CIDR se nesmí překrývat s žádnými existujícími rozsahy CIDR v cílové podsíti.
- Páry klíč/hodnota, které se použijí jako značky u všech prostředků, které podporují značky. Další informace najdete v tématu Použití značek k uspořádání prostředků Azure a hierarchie správy.
Upravte soubor a přidejte následující informace o existující infrastruktuře:
- Název skupiny prostředků, ve které se nachází existující virtuální síť.
- Název existující virtuální sítě oboru.
- Název existující podsítě, kterou bude služba Azure Spring Apps Application Service používat.
- Název existující podsítě, kterou má používat služba Azure Spring Apps Runtime.
- Název pracovního prostoru Služby Azure Log Analytics
Spuštěním následujícího příkazu inicializujete moduly Terraformu:
terraform init
Spuštěním následujícího příkazu vytvořte plán nasazení Terraformu:
terraform plan -out=springcloud.plan
Spuštěním následujícího příkazu použijte plán nasazení Terraformu:
terraform apply springcloud.plan
Kontrola nasazených prostředků
Pomocí webu Azure Portal můžete zkontrolovat nasazené prostředky, nebo pomocí Azure CLI nebo skriptu Azure PowerShellu zobrazit seznam nasazených prostředků.
Vyčištění prostředků
Pokud chcete pokračovat v práci s dalšími rychlými starty a kurzy, můžete tyto prostředky ponechat na místě. Pokud už prostředky vytvořené v tomto článku nepotřebujete, odstraňte ho pomocí následujícího příkazu.
terraform destroy -auto-approve
Další kroky
V tomto rychlém startu jste nasadili instanci Azure Spring Apps do existující virtuální sítě pomocí Terraformu a pak jste nasazení ověřili. Další informace o Službě Azure Spring Apps najdete v následujících zdrojích informací.
- Z následujících umístění nasaďte jednu z následujících ukázkových aplikací:
- Používejte vlastní domény se službou Azure Spring Apps.
- Zveřejnění aplikací v Azure Spring Apps na internetu pomocí brány Aplikace Azure lication Gateway Další informace najdete v tématu Zveřejnění aplikací s kompletním protokolem TLS ve virtuální síti.
- Prohlédněte si komplexní referenční architekturu Azure Spring Apps, která je založená na architektuře Microsoft Azure Well-Architected Framework.