SAP otomasyon çerçevesinde iş yükü bölgesi dağıtımı

Sap uygulamasının genellikle birden çok geliştirme katmanı vardır. Örneğin geliştirme, kalite güvencesi ve üretim katmanlarınız olabilir. SAP Deployment Automation Framework bu katmanları iş yükü bölgelerini çağırır.

İş yükü bölgelerini birden çok Azure bölgesinde kullanabilirsiniz. Ardından her iş yükü bölgesinin kendi Azure Sanal Ağ örneği vardır.

AŞAĞıDAKI hizmetler SAP iş yükü bölgesi tarafından sağlanır:

  • Alt ağlar ve ağ güvenlik grupları dahil olmak üzere bir sanal ağ
  • Sistem kimlik bilgileri için bir Azure Key Vault örneği
  • Önyükleme tanılaması için bir Azure Depolama hesabı
  • Bulut tanıkları için Depolama hesabı
  • Azure NetApp Files hesabı ve kapasite havuzları (isteğe bağlı)
  • NFS paylaşımlarını Azure Dosyalar (isteğe bağlı)
  • SAP için Azure İzleyici (isteğe bağlı)

Diagram that shows an SAP workload zone.

İş yükü bölgeleri genellikle merkez-uç mimarisindeki uçlara dağıtılır. Kendi aboneliklerinde olabilirler.

Özel DNS, denetim düzleminden veya yapılandırılabilir bir kaynaktan desteklenir.

Çekirdek yapılandırma

Aşağıdaki örnek parametre dosyası yalnızca gerekli parametreleri gösterir.

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

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

# The network logical name is mandatory - it is used in the naming convention and should map to the workload virtual network logical name
network_name="SAP01"

# network_address_space is a mandatory parameter when an existing virtual network is not used
network_address_space="10.110.0.0/16"

# admin_subnet_address_prefix is a mandatory parameter if the subnets are not defined in the workload or if existing subnets are not used
admin_subnet_address_prefix="10.110.0.0/19"

# db_subnet_address_prefix is a mandatory parameter if the subnets are not defined in the workload or if existing subnets are not used
db_subnet_address_prefix="10.110.96.0/19"

# app_subnet_address_prefix is a mandatory parameter if the subnets are not defined in the workload or if existing subnets are not used
app_subnet_address_prefix="10.110.32.0/19"

# The automation_username defines the user account used by the automation
automation_username="azureadm"

İş yükü bölgesi dağıtım kimlik bilgilerini hazırlama

SAP Deployment Automation Framework, dağıtımı yaparken hizmet sorumlularını kullanır. İş yükü bölgesi dağıtımının hizmet sorumlusunu oluşturmak için, hizmet sorumluları oluşturmak üzere izinlere sahip bir hesap kullanın.

az ad sp create-for-rbac --role="Contributor" --scopes="/subscriptions/<subscriptionID>" --name="<environment>-Deployment-Account"

Önemli

Hizmet sorumlusunun adı benzersiz olmalıdır.

Komuttan çıkış değerlerini kaydedin:

  • appId
  • password
  • tenant

Hizmet sorumlusuna doğru izinleri atayın.

az role assignment create --assignee <appId> \
    --scope /subscriptions/<subscriptionID> \
    --role "User Access Administrator"

SAP iş yükü bölgesini dağıtma

Örnek iş yükü bölgesi yapılandırma dosyası DEV-WEEU-SAP01-INFRASTRUCTURE.tfvars klasöründe bulunur ~/Azure_SAP_Automated_Deployment/samples/Terraform/WORKSPACES/LANDSCAPE/DEV-WEEU-SAP01-INFRASTRUCTURE .

SAP iş yükü bölgesini dağıtmak için aşağıdaki komutu çalıştırın.

Bu görevi dağıtıcıdan gerçekleştirin.

Dağıtım otomasyonu çerçevesini test etmeye başlamak için örnek yapılandırma dosyalarını kopyalayabilirsiniz.

cd ~/Azure_SAP_Automated_Deployment

cp -R sap-automation/samples/WORKSPACES config


export  ARM_SUBSCRIPTION_ID="<subscriptionId>"
export        ARM_CLIENT_ID="<appId>"
export    ARM_CLIENT_SECRET="<password>"
export        ARM_TENANT_ID="<tenantId>"
export             env_code="DEV"
export          region_code="<region_code>"
export            vnet_code="SAP02"
export deployer_environment="MGMT"


export DEPLOYMENT_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/sap-automation"
export CONFIG_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/config/WORKSPACES"
export SAP_AUTOMATION_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/sap-automation"

az login --service-principal -u "${ARM_CLIENT_ID}" -p="${ARM_CLIENT_SECRET}" --tenant "${ARM_TENANT_ID}"


cd "${CONFIG_REPO_PATH}/LANDSCAPE/${env_code}-${region_code}-${vnet_code}-INFRASTRUCTURE"
parameterFile="${env_code}-${region_code}-${vnet_code}-INFRASTRUCTURE.tfvars"

$SAP_AUTOMATION_REPO_PATH/deploy/scripts/install_workloadzone.sh   \
    --parameterfile "${parameterFile}"                             \
    --deployer_environment "${deployer_environment}"               \ 
    --subscription "${ARM_SUBSCRIPTION_ID}"                        \
    --spn_id "${ARM_CLIENT_ID}"                                    \
    --spn_secret "${ARM_CLIENT_SECRET}"                            \
    --tenant_id "${ARM_TENANT_ID}"
    

İpucu

Betikler çalıştırılamazsa, betikleri yeniden çalıştırmadan önce ve ~/.terraform.d/ dizinlerini kaldırarak ~/.sap_deployment_automation/ yerel önbellek dosyalarının temizlenmesine yardımcı olabilir.

Sonraki adım