Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
SAP Deployment Automation Framework använder en standardnamnkonvention för namngivning av Azure-resurser.
Terraform-modulen sap_namegenerator definierar namnen på alla resurser som automationsramverket distribuerar. Modulen finns på /deploy/terraform/terraform-units/modules/sap_namegenerator/ på lagringsplatsen. Ramverket har också stöd för att tillhandahålla egna namn för vissa av resurserna med hjälp av parameterfilerna.
Namngivning av resurserna använder följande format:
resursprefix + resursgruppprefix + separator + resursnamn + resurssuffix.
Om dessa funktioner inte räcker kan du också använda anpassad namngivningslogik genom att antingen tillhandahålla en anpassad JSON-fil som innehåller resursnamnen eller genom att ändra namngivningsmodulen som används av automatiseringen.
Ange namnändringar med hjälp av en JSON-fil
Du kan ange en JSON-fil med anpassad namngivning i tfvars parameterfilen med hjälp av parametern name_override_file .
JSON-filen innehåller avsnitt för de olika resurstyperna.
Distributionstyperna är:
- DEPLOYER (kontrollplan)
- SDU (SAP-systeminfrastruktur)
- WORKLOAD_ZONE (arbetsbelastningszon)
Namn på tillgänglighetsuppsättningar
Namnen på tillgänglighetsuppsättningarna definieras i availabilityset_names strukturen. I följande exempel visas namn på tillgänglighetsuppsättningar för en distribution.
"availabilityset_names" : {
"app": "app-avset",
"db" : "db-avset",
"scs": "scs-avset",
"web": "web-avset"
}
Namn på nyckelvalv
Namnen för nyckelvalv definieras i keyvault_names strukturen. I följande exempel listas nyckelvalvsnamnen för en utplacering i DEV miljön i Västeuropa.
"keyvault_names": {
"DEPLOYER": {
"private_access": "DEVWEEUprvtABC",
"user_access": "DEVWEEUuserABC"
},
"SDU": {
"private_access": "DEVWEEUSAP01X00pABC",
"user_access": "DEVWEEUSAP01X00uABC"
},
"WORKLOAD_ZONE": {
"private_access": "DEVWEEUSAP01prvtABC",
"user_access": "DEVWEEUSAP01userABC"
}
}
Nyckelvalvsnamnen måste vara unika i Hela Azure. SAP Deployment Automation Framework lägger till tre slumpmässiga tecken (ABC i exemplet) i slutet av nyckelvalvets namn för att minska sannolikheten för namnkonflikter.
Namnen private_access används för närvarande inte.
Namn på lagringskonto
Namnen på lagringskontona definieras i storageaccount_names strukturen. I följande exempel listas namnen på lagringskontona för en distribution i DEV miljön i Västeuropa.
"storageaccount_names": {
"DEPLOYER": "devweeudiagabc",
"LIBRARY": {
"library_storageaccount_name": "devweeusaplibabc",
"terraformstate_storageaccount_name": "devweeutfstateabc"
},
"SDU": "devweeusap01diagabc",
"WORKLOAD_ZONE": {
"landscape_shared_transport_storage_account_name": "devweeusap01sharedabc",
"landscape_storageaccount_name": "devweeusap01diagabc",
"witness_storageaccount_name": "devweeusap01witnessabc"
}
}
Nyckelvalvsnamnen måste vara unika i Hela Azure. SAP Deployment Automation Framework lägger till tre slumpmässiga tecken (abc i exemplet) i slutet av nyckelvalvets namn för att minska sannolikheten för namnkonflikter.
Namn på virtuella datorer
Namnen på de virtuella datorerna definieras i virtualmachine_names strukturen. Både datorn och namnen på den virtuella datorn kan anges.
I det följande exemplet visas namnen på de virtuella datorerna för en distribution i DEV-miljön i Västeuropa. Distributionen har en databasserver, två programservrar, en central tjänstserver och en webbutskickare.
"virtualmachine_names": {
"ANCHOR_COMPUTERNAME": [],
"ANCHOR_SECONDARY_DNSNAME": [],
"ANCHOR_VMNAME": [],
"ANYDB_COMPUTERNAME": [
"x00db00l0abc"
],
"ANYDB_SECONDARY_DNSNAME": [
"x00dhdb00l0abc",
"x00dhdb00l1abc"
],
"ANYDB_VMNAME": [
"x00db00l0abc"
],
"APP_COMPUTERNAME": [
"x00app00labc",
"x00app01labc"
],
"APP_SECONDARY_DNSNAME": [
"x00app00labc",
"x00app01labc"
],
"APP_VMNAME": [
"x00app00labc",
"x00app01labc"
],
"DEPLOYER": [
"devweeudeploy00"
],
"HANA_COMPUTERNAME": [
"x00dhdb00l0af"
],
"HANA_SECONDARY_DNSNAME": [
"x00dhdb00l0abc"
],
"HANA_VMNAME": [
"x00dhdb00l0abc"
],
"ISCSI_COMPUTERNAME": [
"devsap01weeuiscsi00"
],
"OBSERVER_COMPUTERNAME": [
"x00observer00labc"
],
"OBSERVER_VMNAME": [
"x00observer00labc"
],
"SCS_COMPUTERNAME": [
"x00scs00labc"
],
"SCS_SECONDARY_DNSNAME": [
"x00scs00labc"
],
"SCS_VMNAME": [
"x00scs00labc"
],
"WEB_COMPUTERNAME": [
"x00web00labc"
],
"WEB_SECONDARY_DNSNAME": [
"x00web00labc"
],
"WEB_VMNAME": [
"x00web00labc"
]
}
Konfigurera modulen för anpassad namngivning
Det finns flera filer i modulen för namngivning av resurser:
- Namn på virtuella maskiner och datorer definieras i (
vm.tf). - Namngivning av resursgrupper definieras i (
resourcegroup.tf). - Nyckelvalv definieras i (
keyvault.tf). - Suffix för resurser definieras i (
variables_local.tf).
De olika resursnamnen identifieras med prefix i Terraform-koden:
- SAP-distributioner använder resursnamn med prefixet
deployer_. - SAP-biblioteksdistributioner använder resursnamn med prefixet
library. - SAP-miljödistributioner använder resursnamn med prefixet
vnet_. - SAP-systemdistributioner använder resursnamn med prefixet
sdu_.
De beräknade namnen returneras i en dataordlista som används av alla Terraform-moduler.
Använda anpassade namn
Vissa av resursnamnen kan ändras genom att ange parametrar i tfvars parameterfilen.
| Resurs | Parameter | Noteringar |
|---|---|---|
Prefix |
custom_prefix |
Används som prefix för alla resurser i resursgruppen |
Resource group |
resourcegroup_name |
|
admin subnet name |
admin_subnet_name |
|
admin nsg name |
admin_subnet_nsg_name |
|
db subnet name |
db_subnet_name |
|
db nsg name |
db_subnet_nsg_name |
|
app subnet name |
app_subnet_name |
|
app nsg name |
app_subnet_nsg_name |
|
web subnet name |
web_subnet_name |
|
web nsg name |
web_subnet_nsg_name |
|
admin nsg name |
admin_subnet_nsg_name |
Ändra namngivningsmodulen
För att förbereda Terraform-miljön för anpassad namngivning måste du först skapa en anpassad namngivningsmodul. Det enklaste sättet är att kopiera den befintliga modulen och göra nödvändiga ändringar i den kopierade modulen.
- Skapa en mapp på rotnivå i Terraform-miljön. Ett exempel är
Azure_SAP_Automated_Deployment. - Gå till den nya mappen på rotnivå.
- Klona automation framework-lagringsplatsen. Det här steget skapar en ny mapp
sap-automation. - Skapa en mapp i mappen på rotnivå med namnet
Contoso_naming. - Öppna mappen
sap-automation. - Kolla in lämplig gren i Git.
- Gå till
\deploy\terraform\terraform-units\modulesisap-automationmappen. - Kopiera mappen
sap_namegeneratortillContoso_namingmappen.
Namngivningsmodulen anropas från rotmapparna terraform :
module "sap_namegenerator" {
source = "../../terraform-units/modules/sap_namegenerator"
environment = local.infrastructure.environment
location = local.infrastructure.region
codename = lower(try(local.infrastructure.codename, ""))
random_id = module.common_infrastructure.random_id
sap_vnet_name = local.vnet_logical_name
sap_sid = local.sap_sid
db_sid = local.db_sid
app_ostype = try(local.application.os.os_type, "LINUX")
anchor_ostype = upper(try(local.anchor_vms.os.os_type, "LINUX"))
db_ostype = try(local.databases[0].os.os_type, "LINUX")
db_server_count = var.database_server_count
app_server_count = try(local.application.application_server_count, 0)
web_server_count = try(local.application.webdispatcher_count, 0)
scs_server_count = local.application.scs_high_availability ? 2 * local.application.scs_server_count : local.application.scs_server_count
app_zones = local.app_zones
scs_zones = local.scs_zones
web_zones = local.web_zones
db_zones = local.db_zones
resource_offset = try(var.options.resource_offset, 0)
custom_prefix = var.custom_prefix
}
Därefter måste du peka dina andra Terraform-modulfiler till din anpassade namngivningsmodul. Dessa modulfiler omfattar:
deploy\terraform\run\sap_system\module.tfdeploy\terraform\bootstrap\sap_deployer\module.tfdeploy\terraform\bootstrap\sap_library\module.tfdeploy\terraform\run\sap_library\module.tfdeploy\terraform\run\sap_deployer\module.tf
För varje fil ändrar du källan för modulen sap_namegenerator så att den pekar på platsen för den nya namngivningsmodulen. Till exempel:
module "sap_namegenerator" { source = "../../terraform-units/modules/sap_namegenerator" blir module "sap_namegenerator" { source = "../../../../Contoso_naming".
Ändra namngivningslogik för resursgrupper
Om du vill ändra namnlogik för resursgruppen går du till mappen för den anpassade namngivningsmodulen (till exempel Workspaces\Contoso_naming). Redigera sedan filen resourcegroup.tf. Ändra följande kod med din egen namngivningslogik.
locals {
// Resource group naming
sdu_name = length(var.codename) > 0 ? (
upper(format("%s-%s-%s_%s-%s", local.env_verified, local.location_short, local.sap_vnet_verified, var.codename, var.sap_sid))) : (
upper(format("%s-%s-%s-%s", local.env_verified, local.location_short, local.sap_vnet_verified, var.sap_sid))
)
deployer_name = upper(format("%s-%s-%s", local.deployer_env_verified, local.deployer_location_short, local.dep_vnet_verified))
landscape_name = upper(format("%s-%s-%s", local.landscape_env_verified, local.location_short, local.sap_vnet_verified))
library_name = upper(format("%s-%s", local.library_env_verified, local.location_short))
// Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. The name must be unique.
deployer_storageaccount_name = substr(replace(lower(format("%s%s%sdiag%s", local.deployer_env_verified, local.deployer_location_short, local.dep_vnet_verified, local.random_id_verified)), "/[^a-z0-9]/", ""), 0, var.azlimits.stgaccnt)
landscape_storageaccount_name = substr(replace(lower(format("%s%s%sdiag%s", local.landscape_env_verified, local.location_short, local.sap_vnet_verified, local.random_id_verified)), "/[^a-z0-9]/", ""), 0, var.azlimits.stgaccnt)
library_storageaccount_name = substr(replace(lower(format("%s%ssaplib%s", local.library_env_verified, local.location_short, local.random_id_verified)), "/[^a-z0-9]/", ""), 0, var.azlimits.stgaccnt)
sdu_storageaccount_name = substr(replace(lower(format("%s%s%sdiag%s", local.env_verified, local.location_short, local.sap_vnet_verified, local.random_id_verified)), "/[^a-z0-9]/", ""), 0, var.azlimits.stgaccnt)
terraformstate_storageaccount_name = substr(replace(lower(format("%s%stfstate%s", local.library_env_verified, local.location_short, local.random_id_verified)), "/[^a-z0-9]/", ""), 0, var.azlimits.stgaccnt)
}
Ändra resurssuffix
Om du vill ändra resurssuffixen går du till mappen för den anpassade namngivningsmodulen (till exempel Workspaces\Contoso_naming). Redigera sedan filen variables_local.tf. Ändra följande karta med dina egna resurssuffix.
Anmärkning
Ändra endast kartvärdena. Ändra inte kartnyckeln, som Terraform-koden använder.
Om du till exempel vill byta namn på administratörens nätverksgränssnittskomponent ändrar du "admin-nic" = "-admin-nic" till "admin-nic" = "yourNICname".
variable resource_suffixes {
type = map(string)
description = "Extension of resource name"
default = {
"admin_nic" = "-admin-nic"
"admin_subnet" = "admin-subnet"
"admin_subnet_nsg" = "adminSubnet-nsg"
"app_alb" = "app-alb"
"app_avset" = "app-avset"
"app_subnet" = "app-subnet"
"app_subnet_nsg" = "appSubnet-nsg"
"db_alb" = "db-alb"
"db_alb_bepool" = "dbAlb-bePool"
"db_alb_feip" = "dbAlb-feip"
"db_alb_hp" = "dbAlb-hp"
"db_alb_rule" = "dbAlb-rule_"
"db_avset" = "db-avset"
"db_nic" = "-db-nic"
"db_subnet" = "db-subnet"
"db_subnet_nsg" = "dbSubnet-nsg"
"deployer_rg" = "-INFRASTRUCTURE"
"deployer_state" = "_DEPLOYER.terraform.tfstate"
"deployer_subnet" = "_deployment-subnet"
"deployer_subnet_nsg" = "_deployment-nsg"
"iscsi_subnet" = "iscsi-subnet"
"iscsi_subnet_nsg" = "iscsiSubnet-nsg"
"library_rg" = "-SAP_LIBRARY"
"library_state" = "_SAP-LIBRARY.terraform.tfstate"
"kv" = ""
"msi" = "-msi"
"nic" = "-nic"
"osdisk" = "-OsDisk"
"pip" = "-pip"
"ppg" = "-ppg"
"sapbits" = "sapbits"
"storage_nic" = "-storage-nic"
"storage_subnet" = "_storage-subnet"
"storage_subnet_nsg" = "_storageSubnet-nsg"
"scs_alb" = "scs-alb"
"scs_alb_bepool" = "scsAlb-bePool"
"scs_alb_feip" = "scsAlb-feip"
"scs_alb_hp" = "scsAlb-hp"
"scs_alb_rule" = "scsAlb-rule_"
"scs_avset" = "scs-avset"
"scs_ers_feip" = "scsErs-feip"
"scs_ers_hp" = "scsErs-hp"
"scs_ers_rule" = "scsErs-rule_"
"scs_scs_rule" = "scsScs-rule_"
"sdu_rg" = ""
"tfstate" = "tfstate"
"vm" = ""
"vnet" = "-vnet"
"vnet_rg" = "-INFRASTRUCTURE"
"web_alb" = "web-alb"
"web_alb_bepool" = "webAlb-bePool"
"web_alb_feip" = "webAlb-feip"
"web_alb_hp" = "webAlb-hp"
"web_alb_inrule" = "webAlb-inRule"
"web_avset" = "web-avset"
"web_subnet" = "web-subnet"
"web_subnet_nsg" = "webSubnet-nsg"
}
}