Rövid útmutató: Azure Spring Apps kiépítése a Terraform használatával
Feljegyzés
Az Azure Spring Apps az Azure Spring Cloud szolgáltatás új neve. Bár a szolgáltatásnak új neve van, bizonyos helyeken a régi nevet fogja látni egy darabig, miközben az eszközök, például képernyőképek, videók és diagramok frissítésével dolgozunk.
Ez a cikk a következőre vonatkozik:❌ Basic ✔️ Standard ✔️ Enterprise
Ez a rövid útmutató bemutatja, hogyan helyezhet üzembe Azure Spring Apps-fürtöt egy meglévő virtuális hálózaton a Terraform használatával.
Az Azure Spring Apps megkönnyíti a Spring-alkalmazások üzembe helyezését az Azure-ban kódmódosítások nélkül. A szolgáltatás kezeli a Spring-alkalmazások infrastruktúráját, hogy a fejlesztők a kódjukra összpontosíthassanak. Az Azure Spring Apps átfogó monitorozási és diagnosztikai, konfigurációkezelési, szolgáltatásfelderítési, CI/CD-integrációs, kék-zöld környezetek és egyebek használatával biztosítja az életciklus-felügyeletet.
A vállalati üzembehelyezési terv a következő Tanzu-összetevőket tartalmazza:
- Build szolgáltatás
- Alkalmazáskonfigurációs szolgáltatás
- Szolgáltatásregisztrációs adatbázis
- Spring Cloud Gateway
- API Portal
Az API Portal összetevő akkor jelenik meg, amikor elérhetővé válik az AzureRM Terraform-szolgáltatón keresztül.
Az egyéni tartományi támogatással kapcsolatos további testreszabási lehetőségekért tekintse meg az Azure Spring Apps Terraform szolgáltatói dokumentációját.
Előfeltételek
- Azure-előfizetés. Ha nem rendelkezik előfizetéssel, a kezdés előtt hozzon létre egy ingyenes fiókot .
- Hashicorp Terraform
- Két dedikált alhálózat az Azure Spring Apps-fürthöz, az egyik a szolgáltatás futtatókörnyezetéhez, a másik a Spring-alkalmazásokhoz. Az alhálózati és virtuális hálózati követelményekről az Azure Spring Apps virtuális hálózaton való üzembe helyezésének virtuális hálózatra vonatkozó követelményeit ismertető szakaszában olvashat.
- Meglévő Log Analytics-munkaterület az Azure Spring Apps diagnosztikai beállításaihoz és egy munkaterület-alapú alkalmazás-Elemzések erőforráshoz. További információ: Naplók és metrikák elemzése diagnosztikai beállításokkal és alkalmazás Elemzések Java In-Process Agent az Azure Spring Appsben.
- Három belső, osztály nélküli tartományközi útválasztási (CIDR) tartomány (legalább /16 mindegyik), amelyet az Azure Spring Apps-fürt által használtként azonosított. Ezek a CIDR-tartományok nem lesznek közvetlenül elérhetőek, és csak belsőleg fogják használni az Azure Spring Apps-fürt. A fürtök nem használhatják a 169.254.0.0/16, 172.30.0.0/16, 172.31.0.0/16 vagy 192.0.2.0/24 verziót a belső Azure Spring Apps CIDR-hez. A fürtök a fürt virtuális hálózati címtartományában található IP-címtartományokat sem használhatják.
- A virtuális hálózatnak adott szolgáltatásengedély. Az Azure Spring Apps-erőforrás-szolgáltató tulajdonosi engedélyt igényel a virtuális hálózathoz, hogy dedikált és dinamikus szolgáltatásnevet biztosíthasson a virtuális hálózaton a további üzembe helyezéshez és karbantartáshoz. Útmutatásért és további információkért tekintse meg az Azure Spring Apps virtuális hálózaton való üzembe helyezésének virtuális hálózatra vonatkozó engedélyének megadását ismertető szakaszt.
- Ha Azure Firewallt vagy hálózati virtuális berendezést (NVA) használ, az alábbi előfeltételeknek is meg kell felelnie:
- Hálózati és teljes tartománynévre (FQDN) vonatkozó szabályok. További információ: Virtuális hálózat követelményei.
- Az egyes szolgáltatás-futtatókörnyezetekre és Spring-alkalmazások alhálózatára alkalmazott egyedi felhasználói útvonal (UDR). Az UDR-ekről további információt a Virtuális hálózati forgalom útválasztása című témakörben talál. Az UDR-t a 0.0.0.0/0 útvonallal kell konfigurálni az NVA célhelyével, mielőtt üzembe helyeznénk az Azure Spring Apps-fürtöt. További információt az Azure Spring Apps virtuális hálózaton való üzembe helyezésének saját útvonaltábla-szakaszában talál.
- Ha első alkalommal helyez üzembe Azure Spring Apps Enterprise-csomagpéldányt a célelőfizetésben, tekintse meg a Nagyvállalati csomag Követelményei szakaszát az Azure Marketplace-en.
A Terraform-terv áttekintése
A rövid útmutatóban használt konfigurációs fájl az Azure Spring Apps referenciaarchitektúrájából származik.
# 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 = "E0"
# Tanzu service registry - Set to true if Enterprise Tier
service_registry_enabled = true
build_agent_pool_size = "S1"
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
}
}
}
# Begin Tanzu Components
resource "azurerm_spring_cloud_build_pack_binding" "appinsights-binding" {
name = "appins-binding"
spring_cloud_builder_id = "${azurerm_spring_cloud_service.sc.id}/buildServices/default/builders/default"
binding_type = "ApplicationInsights"
launch {
properties = {
sampling_percentage = "10"
}
secrets = {
connection-string = azurerm_application_insights.sc_app_insights.connection_string
}
}
}
# Configuration service
resource "azurerm_spring_cloud_configuration_service" "configservice" {
name = "default"
spring_cloud_service_id = azurerm_spring_cloud_service.sc.id
}
# Gateway
resource "azurerm_spring_cloud_gateway" "scgateway" {
name = "default"
spring_cloud_service_id = azurerm_spring_cloud_service.sc.id
instance_count = 2
}
resource "azurerm_spring_cloud_api_portal" "apiportal" {
name = "default"
spring_cloud_service_id = azurerm_spring_cloud_service.sc.id
gateway_ids = [azurerm_spring_cloud_gateway.scgateway.id]
https_only_enabled = false
public_network_access_enabled = true
instance_count = 1
}
A Terraform-terv alkalmazása
A Terraform-terv alkalmazásához kövesse az alábbi lépéseket:
Mentse helyileg a Standard vagy a Nagyvállalati csomag variables.tf fájlját, majd nyissa meg egy szerkesztőben.
Szerkessze a fájlt a következő értékek hozzáadásához:
Annak az Azure-fióknak az előfizetési azonosítója, amelybe üzembe helyez.
Az Azure Spring Apps elérhető régióiból származó üzembehelyezési hely, ahogyan az a régiónként elérhető termékekben is látható. A helynév rövid formájára lesz szüksége. Az érték lekéréséhez az alábbi paranccsal hozza létre az Azure-helyek listáját, majd keresse meg a kiválasztott régió névértékét .
az account list-locations --output table
Szerkessze a fájlt a következő új üzembehelyezési információk hozzáadásához:
- Annak az erőforráscsoportnak a neve, amelybe üzembe kíván helyezni.
- Az Azure Spring Apps üzembe helyezéséhez választott név.
- Az Alkalmazás Elemzések erőforráshoz választott név.
- Három CIDR-tartomány (legalább /16), amelyek az Azure Spring Apps háttérinfrastruktúra üzemeltetésére szolgálnak. A CIDR-tartományok nem lehetnek átfedésben a célalhálózat meglévő CIDR-tartományaival
- A címkéket támogató összes erőforráson címkékként alkalmazandó kulcs-/értékpárok. További információ: Címkék használata az Azure-erőforrások és a felügyeleti hierarchia rendszerezéséhez
Szerkessze a fájlt a következő meglévő infrastruktúra-információk hozzáadásához:
- Annak az erőforráscsoportnak a neve, amelyben a meglévő virtuális hálózat található.
- A meglévő hatókör virtuális hálózatának neve.
- Az Azure Spring Apps Application Service által használandó meglévő alhálózat neve.
- Az Azure Spring Apps Futtatókörnyezet szolgáltatás által használandó meglévő alhálózat neve.
- Az Azure Log Analytics-munkaterület neve.
Futtassa a következő parancsot a Terraform-modulok inicializálásához:
terraform init
Futtassa a következő parancsot a Terraform üzembehelyezési tervének létrehozásához:
terraform plan -out=springcloud.plan
Futtassa a következő parancsot a Terraform üzembehelyezési tervének alkalmazásához:
terraform apply springcloud.plan
Üzembe helyezett erőforrások áttekintése
Az Azure Portal használatával ellenőrizheti az üzembe helyezett erőforrásokat, vagy az Azure CLI-vel vagy az Azure PowerShell-szkripttel listázhatja az üzembe helyezett erőforrásokat.
Az erőforrások eltávolítása
Ha további rövid útmutatókkal és oktatóanyagokkal szeretne dolgozni, érdemes lehet ezeket az erőforrásokat a helyén hagyni. Ha már nincs rá szükség, törölje a cikkben létrehozott erőforrásokat az alábbi paranccsal.
terraform destroy -auto-approve
Következő lépések
Ebben a rövid útmutatóban üzembe helyezett egy Azure Spring Apps-példányt egy meglévő virtuális hálózatban a Terraform használatával, majd érvényesítette az üzembe helyezést. Ha többet szeretne megtudni az Azure Spring Appsről, folytassa az alábbi forrásanyagokkal.
- Telepítse az alábbi mintaalkalmazások egyikét az alábbi helyekről:
- Egyéni tartományok használata az Azure Spring Appsszel.
- Az Azure Spring Apps-alkalmazások internetes elérhetővé tehetők Azure-alkalmazás Gateway használatával. További információ: Alkalmazások teljes körű TLS-sel való elérhetővéítása virtuális hálózaton.
- Tekintse meg a Microsoft Azure Well-Architected Frameworken alapuló biztonságos, végpontok közötti Azure Spring Apps referenciaarchitektúrát.