Terraform modülü sap_namegenerator , otomasyon çerçevesinin dağıttığı tüm kaynakların adlarını tanımlar. Modül, deposunda bulunur /deploy/terraform/terraform-units/modules/sap_namegenerator/ . Çerçeve ayrıca parametre dosyalarını kullanarak bazı kaynaklar için kendi adlarınızı sağlamayı da destekler.
Kaynakların adlandırması aşağıdaki biçimi kullanır:
kaynak ön eki + resource_group_prefix + ayırıcı + kaynak adı + kaynak son eki.
Bu özellikler yeterli değilse, kaynak adlarını içeren özel bir JSON dosyası sağlayarak veya otomasyon tarafından kullanılan adlandırma modülünü değiştirerek de özel adlandırma mantığını kullanabilirsiniz.
JSON dosyası kullanarak ad geçersiz kılmaları sağlama
parametresini kullanarak name_override_file parametre dosyanızda tfvars özel bir adlandırma JSON dosyası belirtebilirsiniz.
JSON dosyasında farklı kaynak türleri için bölümler bulunur.
Dağıtım türleri şunlardır:
DEPLOYER (kontrol düzlemi)
SDU (SAP sistem altyapısı)
WORKLOAD_ZONE (iş yükü bölgesi)
Kullanılabilirlik kümesi adları
Kullanılabilirlik kümelerinin adları yapıda availabilityset_names tanımlanır. Aşağıdaki örnekte, bir dağıtımın kullanılabilirlik kümesi adları liste gösterilmektedir.
Anahtar kasalarının adları yapıda keyvault_names tanımlanır. Aşağıdaki örnek, Batı Avrupa ortamındaki bir dağıtımın DEV anahtar kasası adlarını listeler.
Anahtar kasası adlarının Azure genelinde benzersiz olması gerekir. SAP Deployment Automation Framework, ad çakışması olasılığını azaltmak için anahtar kasası adının sonuna üç rastgele karakter (örnekte ABC) ekler.
Adlar private_access şu anda kullanılmıyor.
Hesap adlarını Depolama
Depolama hesaplarının adları yapıda storageaccount_names tanımlanır. Aşağıdaki örnek, Batı Avrupa ortamındaki bir dağıtımın DEV depolama hesabı adlarını listeler.
Anahtar kasası adlarının Azure genelinde benzersiz olması gerekir. SAP Deployment Automation Framework, ad çakışması olasılığını azaltmak için anahtar kasası adının sonuna üç rastgele karakter (örnekte abc) ekler.
Sanal makine adları
Sanal makinelerin adları yapıda virtualmachine_names tanımlanır. Hem bilgisayar hem de sanal makine adları sağlanabilir.
Aşağıdaki örnek, Batı Avrupa ortamındaki bir dağıtımın DEV sanal makine adlarını listeler. Dağıtımda veritabanı sunucusu, iki uygulama sunucusu, merkezi hizmetler sunucusu ve bir web dağıtıcısı vardır.
Modülde kaynakları adlandırmak için birden çok dosya vardır:
Sanal makine ve bilgisayar adları (vm.tf içinde tanımlanır.
Kaynak grubu adlandırması ()resourcegroup.tf içinde tanımlanır.
Anahtar kasaları (keyvault.tf içinde tanımlanır).
Kaynak son ekleri ()variables_local.tf içinde tanımlanır.
Farklı kaynak adları Terraform kodundaki ön eklerle tanımlanır:
SAP dağıtıcı dağıtımları, ön ekine deployer_sahip kaynak adlarını kullanır.
SAP kitaplığı dağıtımları, ön ekine librarysahip kaynak adlarını kullanır.
SAP yatay dağıtımları, ön ekine vnet_sahip kaynak adlarını kullanır.
SAP sistem dağıtımları, ön ekine sdu_sahip kaynak adlarını kullanır.
Hesaplanan adlar, tüm Terraform modülleri tarafından kullanılan bir veri sözlüğünde döndürülür.
Özel adlar kullanma
Kaynak adlarından bazıları, parametre dosyasında parametreler tfvars sağlanarak değiştirilebilir.
Kaynak
Parametre
Notlar
Prefix
custom_prefix
Kaynak grubundaki tüm kaynaklar için ön ek olarak kullanılır
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
Adlandırma modülünü değiştirme
Terraform ortamınızı özel adlandırmaya hazırlamak için önce özel bir adlandırma modülü oluşturmanız gerekir. Bunun en kolay yolu, mevcut modülü kopyalamak ve kopyalanan modülde gerekli değişiklikleri yapmaktır.
Terraform ortamınızda kök düzeyinde bir klasör oluşturun. Azure_SAP_Automated_Deployment bunun bir örneğidir.
Yeni kök düzeyi klasörünüze gidin.
Otomasyon çerçevesi deposunu kopyalayın. Bu adım yeni bir klasör sap-automationoluşturur.
kök düzeyinde adlı Contoso_namingbir klasör oluşturun.
sap-automation klasörüne gidin.
Git'te uygun dala göz atın.
\deploy\terraform\terraform-units\modules Klasörün içine sap-automation gidin.
Kaynak grubunuzun adlandırma mantığını değiştirmek için özel adlandırma modülü klasörünüze gidin (örneğin, Workspaces\Contoso_naming). Ardından dosyasını resourcegroup.tfdüzenleyin. Aşağıdaki kodu kendi adlandırma mantığınızla değiştirin.
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)
}
Kaynak soneklerini değiştirme
Kaynak son eklerinizi değiştirmek için özel adlandırma modülü klasörünüze gidin (örneğin, Workspaces\Contoso_naming). Ardından dosyasını variables_local.tfdüzenleyin. Aşağıdaki eşlemeyi kendi kaynak soneklerinizle değiştirin.
Not
Yalnızca eşleme değerlerini değiştirin. Terraform kodunun kullandığı harita anahtarını değiştirmeyin.
Örneğin, yönetici ağ arabirimi bileşenini yeniden adlandırmak istiyorsanız olarak değiştirin "admin-nic" = "-admin-nic""admin-nic" = "yourNICname".
SAP Deployment Automation Framework'te sisteminiz için özel disk yapılandırmaları sağlayın. Yeni bir sisteme veya mevcut bir sisteme ek diskler ekleyin.
SAP Deployment Automation Framework'ün kullanımına hazırlanın. Adımlar kimlik bilgileri yönetimi, DevOps yapısı ve dağıtım senaryoları için planlamayı içerir.