Kontrol düzlemini yapılandırma

SAP Deployment Automation Framework için denetim düzlemi aşağıdaki bileşenlerden oluşur:

  • Dağıtıcı
  • SAP Kitaplığı

Kontrol düzlemini gösteren diyagram.

Dağıtıcı

Dağıtıcı, SAP Deployment Automation Framework'ün yürütme altyapısıdır. Terraform ve Ansible komutlarını çalıştırmak için kullanılan önceden yapılandırılmış bir sanal makinedir (VM). Azure DevOps kullandığınızda, dağıtıcı şirket içinde barındırılan bir aracıdır.

Dağıtıcının yapılandırması terraform tfvars değişken dosyasında gerçekleştirilir.

Dağıtıcı için mevcut bir kaynak grubunu kullanmak istiyorsanız, dağıtımcının tfvars dosyasındaki parametresini resource_group_arm_id kullanarak kaynak grubu için Azure kaynak kimliğini sağlayın. Parametre tanımlanmamışsa, kaynak grubu varsayılan adlandırma kullanılarak oluşturulur. parametresini kullanarak resource_group_name varsayılan adı değiştirebilirsiniz.

Terraform parametreleri

Bu tabloda Terraform parametreleri gösterilmektedir. Dağıtım betiklerini kullanmıyorsanız bu parametrelerin el ile girilmesi gerekir.

Değişken Açıklama Tür
tfstate_resource_id Terraform durum dosyalarını içeren SAP kitaplığındaki depolama hesabı için Azure kaynak tanımlayıcısı Zorunlu

Ortam parametreleri

Bu tabloda kaynak adlandırmayı tanımlayan parametreler gösterilir.

Değişken Açıklama Tür Notlar
environment Denetim düzlemi tanımlayıcısı (en fazla 5 karakter). Zorunlu Örneğin, PROD bir üretim ortamı ve NP üretim dışı ortam için.
location Dağıtılacak Azure bölgesi. Zorunlu Küçük harf kullanın.
codename Kaynakları adlandırmak için ek bileşen. İsteğe bağlı
name_override_file Ad geçersiz kılma dosyası. İsteğe bağlı Bkz. Özel adlandırma.
place_delete_lock_on_resources Anahtar kaynaklarına bir silme kilidi yerleştirin. İsteğe bağlı

Kaynak grubu

Bu tabloda kaynak grubunu tanımlayan parametreler gösterilir.

Değişken Açıklama Tür
resourcegroup_name Oluşturulacak kaynak grubunun adı İsteğe bağlı
resourcegroup_arm_id Mevcut bir kaynak grubu için Azure kaynak tanımlayıcısı İsteğe bağlı
resourcegroup_tags Kaynak grubuyla ilişkilendirilecek etiketler İsteğe bağlı

Ağ parametreleri

Otomasyon çerçevesi hem sanal ağ oluşturmayı hem de alt ağları (yeşil alan) ya da mevcut bir sanal ağı ve mevcut alt ağları (kahverengi alan) ya da yeşil alan ile kahverengi alanın bir birleşimini kullanmayı destekler:

  • Yeşil alan senaryosu: Sanal ağ adres alanı ve alt ağ adresi ön ekleri belirtilmelidir.
  • Kahverengi alan senaryosu: Sanal ağ ve alt ağlar için Azure kaynak tanımlayıcısı belirtilmelidir.

Sanal ağ adres alanının önerilen CIDR'i /27'dir ve bu da 32 IP adresi için alan sağlar. /28 CIDR değeri yalnızca 16 IP adresine izin verir. Azure Güvenlik Duvarı eklemek istiyorsanız, /25 CIDR değeri kullanın çünkü Azure Güvenlik Duvarı /26 aralığı gerektirir.

Yönetim alt ağı için önerilen CIDR değeri /28'dir ve bu değer 16 IP adresine izin verir. Güvenlik duvarı alt ağı için önerilen CIDR değeri /26'dır ve bu değer 64 IP adresine izin verir.

Bu tabloda ağ parametreleri gösterilmektedir.

Değişken Açıklama Tür Notlar
management_network_name Dağıtanın dağıtılacağı sanal ağın adı İsteğe bağlı Yeşil alan dağıtımları için
management_network_logical_name Ağın mantıksal adı (DEV-WEEU-MGMT01-INFRASTRUCTURE) Zorunlu
management_network_arm_id Sanal ağ için Azure kaynak tanımlayıcısı İsteğe bağlı Kahverengi alan dağıtımları için
management_network_address_space Sanal ağın adres aralığı Zorunlu Yeşil alan dağıtımları için
management_subnet_name Alt ağın adı İsteğe bağlı
management_subnet_address_prefix Alt ağın adres aralığı Zorunlu Yeşil alan dağıtımları için
management_subnet_arm_id Alt ağın Azure kaynak tanımlayıcısı Zorunlu Kahverengi alan dağıtımları için
management_subnet_nsg_name Ağ güvenlik grubunun adı İsteğe bağlı
management_subnet_nsg_arm_id Ağ güvenlik grubu için Azure kaynak tanımlayıcısı Zorunlu Kahverengi alan dağıtımları için
management_subnet_nsg_allowed_ips Azure Güvenlik Duvarı eklenecek izin verilen IP adresleri aralığı İsteğe bağlı
management_firewall_subnet_arm_id Azure Güvenlik Duvarı alt ağı için Azure kaynak tanımlayıcısı Zorunlu Kahverengi alan dağıtımları için
management_firewall_subnet_address_prefix Alt ağın adres aralığı Zorunlu Yeşil alan dağıtımları için
management_bastion_subnet_arm_id Azure Bastion alt ağı için Azure kaynak tanımlayıcısı Zorunlu Kahverengi alan dağıtımları için
management_bastion_subnet_address_prefix Alt ağın adres aralığı Zorunlu Yeşil alan dağıtımları için
webapp_subnet_arm_id Web uygulaması alt ağı için Azure kaynak tanımlayıcısı Zorunlu Kahverengi alan dağıtımları için
webapp_subnet_address_prefix Alt ağın adres aralığı Zorunlu Yeşil alan dağıtımları için
use_private_endpoint Özel uç noktaları kullanın. İsteğe bağlı
use_service_endpoint Alt ağlar için hizmet uç noktalarını kullanın. İsteğe bağlı

Not

Web uygulaması için mevcut bir alt ağı kullandığınızda alt ağ, dağıtılmakta olan kaynak grubuyla aynı bölgede boş olmalı ve Microsoft.Web/serverFarms'a devredilmelidir.

Dağıtıcı sanal makine parametreleri

Bu tabloda, dağıtıcı VM ile ilgili parametreler gösterilir.

Değişken Açıklama Tür
deployer_size Kullanılacak VM SKU'sunu tanımlar, varsayılan: Standard_D4ds_v4 İsteğe bağlı
deployer_count Dağıtımcı sayısını tanımlar İsteğe bağlı
deployer_image Kullanılacak VM görüntüsünü tanımlar, varsayılan: Ubuntu 22.04 İsteğe bağlı
plan VM görüntüsüyle ilişkili planı tanımlar İsteğe bağlı
deployer_disk_type Disk türünü tanımlar, varsayılan: Premium_LRS İsteğe bağlı
deployer_use_DHCP Azure alt ağı tarafından sağlanan IP adreslerinin (dinamik) true olarak kullanılıp kullanılmayacağı denetler İsteğe bağlı
deployer_private_ip_address Kullanılacak özel IP adresini tanımlar İsteğe bağlı
deployer_enable_public_ip Dağıtanın genel IP'ye sahip olup olmadığını tanımlar İsteğe bağlı
auto_configure_deployer Dağıtıcının gerekli yazılımla (Terraform ve Ansible) yapılandırılıp yapılandırılmadığı tanımlar İsteğe bağlı
add_system_assigned_identity Dağıtıcıya bir sistem kimliği atanarak atanmadığını tanımlar İsteğe bağlı

VM görüntüsü aşağıdaki yapı kullanılarak tanımlanır:

xxx_vm_image  = {
  os_type         = ""
  source_image_id = ""
  publisher       = "Canonical"
  offer           = "0001-com-ubuntu-server-jammy"
  sku             = "22_04-lts"
  version         = "latest"
  type            = "marketplace"
}

Not

Türü olabilir marketplace/marketplace_with_plan/custom. Türünde marketplace_with_plan bir görüntü kullanmak için söz konusu görüntünün abonelikte en az bir kez kullanılması gerekir. İlk kullanım, kullanıcıdan lisans koşullarını kabul etmelerini ister ve otomasyonun bunu onaylaması için bir aracı yoktur.

Kimlik doğrulama parametreleri

Bu bölüm, VM kimlik doğrulamasını tanımlamak için kullanılan parametreleri tanımlar.

Değişken Açıklama Tür
deployer_vm_authentication_type Dağıtan için varsayılan kimlik doğrulamasını tanımlar İsteğe bağlı
deployer_authentication_username Yönetici istrator hesap adı İsteğe bağlı
deployer_authentication_password Yönetici istrator parolası İsteğe bağlı
deployer_authentication_path_to_public_key Kimlik doğrulaması için kullanılan ortak anahtarın yolu İsteğe bağlı
deployer_authentication_path_to_private_key Kimlik doğrulaması için kullanılan özel anahtarın yolu İsteğe bağlı
use_spn Tanımlanmışsa dağıtım bir Hizmet Sorumlusu kullanılarak gerçekleştirilir, aksi takdirde bir MSI İsteğe bağlı

Anahtar kasası parametreleri

Bu bölüm, Azure Key Vault bilgilerini tanımlamak için kullanılan parametreleri tanımlar.

Değişken Açıklama Tür
user_keyvault_id Kullanıcı anahtar kasası için Azure kaynak tanımlayıcısı. İsteğe bağlı
spn_keyvault_id Dağıtım kimlik bilgilerini içeren anahtar kasası için Azure kaynak tanımlayıcısı. İsteğe bağlı
deployer_private_key_secret_name Dağıtımcı özel anahtarının anahtar kasası gizli dizi adı. İsteğe bağlı
deployer_public_key_secret_name Dağıtımcı ortak anahtarı için anahtar kasası gizli dizisi adı. İsteğe bağlı
deployer_username_secret_name Dağıtımcı kullanıcı adı için anahtar kasası gizli dizi adı. İsteğe bağlı
deployer_password_secret_name Dağıtımcı parolasının anahtar kasası gizli dizi adı. İsteğe bağlı
additional_users_to_add_to_keyvault_policies Dağıtım anahtarı kasası erişim ilkelerine eklenecek kullanıcı nesnesi kimliklerinin listesi. İsteğe bağlı
set_secret_expiry Anahtar kasası gizli dizileri için süre sonunu 12 ay olarak ayarlayın. İsteğe bağlı
soft_delete_retention_days Geçici silme döneminde öğelerin saklanması gereken gün sayısı. İsteğe bağlı
deployer_assign_subscription_permissions Abonelik izin atamalarını denetler. İsteğe bağlı

DNS desteği

Değişken Açıklama Tür
dns_label Özel DNS bölgesinin DNS adı. İsteğe bağlı
use_custom_dns_a_registration DNS için bir dış sistem kullanır ve Azure yerel için false olarak ayarlanır. İsteğe bağlı
management_dns_subscription_id Özel DNS bölgesini içeren aboneliğin abonelik kimliği. İsteğe bağlı
management_dns_resourcegroup_name Özel DNS bölgesini içeren kaynak grubu. İsteğe bağlı

Diğer parametreler

Değişken Açıklama Tür Notlar
firewall_deployment Azure güvenlik duvarının dağıtılıp dağıtılmadığını denetleyen Boole bayrağı. İsteğe bağlı
bastion_deployment Azure Bastion ana bilgisayarının dağıtılıp dağıtılmadığını denetleyen Boole bayrağı. İsteğe bağlı
bastion_sku Dağıtılacak Azure Bastion konağı için SKU (Temel/Standart). İsteğe bağlı
enable_purge_control_for_keyvaults Anahtar kasasında temizleme denetiminin etkinleştirilip etkinleştirilmediğini denetleyen Boole bayrağı. İsteğe bağlı Yalnızca test dağıtımları için kullanın.
enable_firewall_for_keyvaults_and_storage Seçili alt ağlara erişimi kısıtlayın. İsteğe bağlı
Agent_IP Aracının IP adresi. İsteğe bağlı
add_Agent_IP Aracı IP'sinin anahtar kasasına ve depolama hesabı güvenlik duvarlarına eklenip eklenmediğini denetler İsteğe bağlı

Web Uygulaması parametreleri

Değişken Açıklama Tür Notlar
use_webapp Bir web uygulamasının dağıtılıp dağıtılmaması gerektiğini gösteren Boole değeri. İsteğe bağlı
app_service_SKU_name App Service Planının SKU'su. İsteğe bağlı
app_registration_app_id Web uygulaması için kullanılacak uygulama kayıt kimliği. İsteğe bağlı
webapp_client_secret App Service Planının SKU'su. İsteğe bağlı Key Vault'ta kalıcı hale gelecek

Dağıtıcı için örnek parametre dosyası (yalnızca gerekli parametreler)

# The environment value is a mandatory field, it is used for partitioning the environments, for example (PROD and NP)
environment="MGMT"

# The location/region value is a mandatory field, it is used to control where the resources are deployed
location="westeurope"

# management_network_address_space is the address space for management virtual network
management_network_address_space="10.10.20.0/25"

# management_subnet_address_prefix is the address prefix for the management subnet
management_subnet_address_prefix="10.10.20.64/28"

# management_firewall_subnet_address_prefix is the address prefix for the firewall subnet
management_firewall_subnet_address_prefix="10.10.20.0/26"

# management_bastion_subnet_address_prefix is a mandatory parameter if bastion is deployed and if the subnets are not defined in the workload or if existing subnets are not used
management_bastion_subnet_address_prefix = "10.10.20.128/26"

deployer_enable_public_ip=false

firewall_deployment=true

bastion_deployment=true

SAP kitaplığı

SAP kitaplığı Terraform durum dosyalarının kalıcı depolamasını ve denetim düzlemi için indirilen SAP yükleme medyasını sağlar.

SAP kitaplığının yapılandırması terraform tfvars değişken dosyasında gerçekleştirilir.

SAP Kitaplığı için mevcut bir kaynak grubunu kullanmak istiyorsanız, dağıtanın tfvars dosyasındaki parametresini resource_group_arm_id kullanarak kaynak grubu için Azure kaynak kimliğini sağlayın. Parametre tanımlanmamışsa, kaynak grubu varsayılan adlandırma kullanılarak oluşturulur. parametresini kullanarak resource_group_name varsayılan adı değiştirebilirsiniz.

Terraform parametreleri

Bu tabloda Terraform parametreleri gösterilmektedir. Dağıtım betiklerini veya Azure Pipelines'ı kullanmıyorsanız bu parametrelerin el ile girilmesi gerekir.

Değişken Açıklama Tür Notlar
deployer_tfstate_key Dağıtan için durum dosyası adı Zorunlu

Ortam parametreleri

Bu tabloda kaynak adlandırmayı tanımlayan parametreler gösterilir.

Değişken Açıklama Tür Notlar
environment Denetim düzlemi tanımlayıcısı (en fazla beş karakter) Zorunlu Örneğin, PROD bir üretim ortamı ve NP üretim dışı ortam için.
location Dağıtılacak Azure bölgesi Zorunlu Küçük harf kullanın.
name_override_file Adı geçersiz kılma dosyası İsteğe bağlı Bkz. Özel adlandırma.

Kaynak grubu

Bu tabloda kaynak grubunu tanımlayan parametreler gösterilir.

Değişken Açıklama Tür
resourcegroup_name Oluşturulacak kaynak grubunun adı İsteğe bağlı
resourcegroup_arm_id Mevcut bir kaynak grubu için Azure kaynak tanımlayıcısı İsteğe bağlı
resourcegroup_tags Kaynak grubuyla ilişkilendirilecek etiketler İsteğe bağlı

SAP yükleme medyası depolama hesabı

Değişken Açıklama Tür
library_sapmedia_arm_id Azure kaynak tanımlayıcısı İsteğe bağlı

Terraform uzak durum depolama hesabı

Değişken Açıklama Tür
library_terraform_state_arm_id Azure kaynak tanımlayıcısı İsteğe bağlı

DNS desteği

Değişken Açıklama Tür
dns_label Özel DNS bölgesinin DNS adı. İsteğe bağlı
use_custom_dns_a_registration Mevcut bir Özel DNS bölgesi kullanın. İsteğe bağlı
management_dns_subscription_id Özel DNS bölgesini içeren aboneliğin abonelik kimliği. İsteğe bağlı
management_dns_resourcegroup_name Özel DNS bölgesini içeren kaynak grubu. İsteğe bağlı

Ek parametreler

Değişken Açıklama Tür
use_private_endpoint Özel uç noktaları kullanın. İsteğe bağlı
use_service_endpoint Alt ağlar için hizmet uç noktalarını kullanın. İsteğe bağlı
enable_firewall_for_keyvaults_and_storage Seçili alt ağlara erişimi kısıtlayın. İsteğe bağlı
subnets_to_add_to_firewall_for_keyvaults_and_storage Anahtar kasalarına ve depolama hesaplarına erişmesi gereken alt ağlar. İsteğe bağlı

SAP kitaplığı için örnek parametre dosyası (yalnızca gerekli parametreler)

# The environment value is a mandatory field, it is used for partitioning the environments, for example (PROD and NP)
environment = "MGMT"

# The location/region value is a mandatory field, it is used to control where the resources are deployed
location = "westeurope"

Sonraki adım