SAP 자동화 프레임워크의 워크로드 영역 구성

SAP 애플리케이션에는 일반적으로 여러 개발 계층이 있습니다. 예를 들어 개발, 품질 보증 및 프로덕션 계층이 있을 수 있습니다. SAP 배포 자동화 프레임워크에서는 이러한 계층을 워크로드 영역이라고 합니다. 두 개의 SAP 시스템이 있는 워크로드 영역의 예는 다음 다이어그램을 참조하세요.

Diagram that shows SAP workflow zones and systems.

워크로드 영역은 워크로드 영역의 모든 SAP 시스템에 공유 서비스를 제공합니다. 이러한 공유 서비스는 다음을 포함합니다.

  • Azure Virtual Network
  • Azure Key Vault
  • 설치 미디어를 위한 공유 Azure Storage 계정
  • Azure NetApp Files 계정 및 용량 풀(선택 사항)

워크로드 영역은 일반적으로 스포크 구독에 배포되며 워크로드 영역의 모든 아티팩트 배포는 고유한 서비스 주체를 사용하여 수행됩니다.

워크로드 영역 배포 구성

SAP 워크로드 영역의 구성은 Terraform tfvars 변수 파일을 통해 수행됩니다. samples/WORKSPACES/LANDSCAPE 폴더에서 변수 파일의 예제를 찾을 수 있습니다.

다음 섹션에서는 변수 파일의 여러 섹션을 보여 줍니다.

환경 매개 변수

이 표에는 환경 설정을 정의하는 매개 변수가 포함되어 있습니다.

변수 설명 Type 주의
environment 워크로드 영역의 식별자(최대 5자) 필수 예를 들어, 프로덕션 환경의 경우 PROD, 품질 보증 환경의 경우 QA입니다.
location 배포할 Azure 지역 Required
name_override_file 이름 재정의 파일 선택 사항 사용자 지정 이름 지정을 참조하세요.
tags 모든 리소스와 연결할 태그 사전입니다. 선택 사항

리소스 그룹 매개 변수

이 표에는 리소스 그룹을 정의하는 매개 변수가 포함되어 있습니다.

변수 설명 Type
resourcegroup_name 만들 리소스 그룹의 이름 선택 사항
resourcegroup_arm_id 기존 리소스 그룹에 대한 Azure 리소스 식별자 선택 사항
resourcegroup_tags 리소스 그룹과 연결할 태그 선택 사항

네트워크 매개 변수

자동화 프레임워크는 가상 네트워크와 서브넷(그린필드)을 만들거나 기존 가상 네트워크와 기존 서브넷(브라운필드) 또는 그린필드와 브라운필드의 조합을 모두 사용할 수 있습니다.

  • 그린필드 시나리오: 가상 네트워크 주소 공간 및 서브넷 주소 접두사를 지정해야 합니다.
  • 브라운필드 시나리오: 가상 네트워크 및 서브넷에 대한 Azure 리소스 식별자를 지정해야 합니다.

가상 네트워크 주소 공간이 모든 리소스를 호스트할 수 있을지 확인합니다.

이 표에는 네트워킹 매개 변수가 포함되어 있습니다.

변수 설명 Type 주의
network_logical_name 네트워크의 논리적 이름(예: SAP01) Required 리소스 이름 지정에 사용됨
network_name 네트워크의 이름 선택 사항
network_arm_id 가상 네트워크에 대한 Azure 리소스 식별자 선택 사항 브라운필드 배포의 경우
network_address_space 가상 네트워크의 주소 범위 필수 그린필드 배포의 경우
admin_subnet_address_prefix admin 서브넷에 대한 주소 범위 필수 그린필드 배포의 경우
admin_subnet_arm_id admin 서브넷에 대한 Azure 리소스 식별자 필수 브라운필드 배포의 경우
admin_subnet_name admin 서브넷의 이름 선택 사항
admin_subnet_nsg_name admin 네트워크 보안 그룹의 이름 선택 사항
admin_subnet_nsg_arm_id admin 네트워크 보안 그룹에 대한 Azure 리소스 식별자 필수 브라운필드 배포의 경우
db_subnet_address_prefix db 서브넷에 대한 주소 범위 필수 그린필드 배포의 경우
db_subnet_arm_id db 서브넷에 대한 Azure 리소스 식별자 필수 브라운필드 배포의 경우
db_subnet_name db 서브넷의 이름 선택 사항
db_subnet_nsg_name db 네트워크 보안 그룹의 이름 선택 사항
db_subnet_nsg_arm_id db 네트워크 보안 그룹에 대한 Azure 리소스 식별자 필수 브라운필드 배포의 경우
app_subnet_address_prefix app 서브넷에 대한 주소 범위 필수 그린필드 배포의 경우
app_subnet_arm_id app 서브넷에 대한 Azure 리소스 식별자 필수 브라운필드 배포의 경우
app_subnet_name app 서브넷의 이름 선택 사항
app_subnet_nsg_name app 네트워크 보안 그룹의 이름 선택 사항
app_subnet_nsg_arm_id app 네트워크 보안 그룹에 대한 Azure 리소스 식별자 필수 브라운필드 배포의 경우
web_subnet_address_prefix web 서브넷에 대한 주소 범위 필수 그린필드 배포의 경우
web_subnet_arm_id web 서브넷에 대한 Azure 리소스 식별자 필수 브라운필드 배포의 경우
web_subnet_name web 서브넷의 이름 선택 사항
web_subnet_nsg_name web 네트워크 보안 그룹의 이름 선택 사항
web_subnet_nsg_arm_id web 네트워크 보안 그룹에 대한 Azure 리소스 식별자 필수 브라운필드 배포의 경우

이 표에는 Azure NetApp Files를 사용하는 경우 네트워킹 매개 변수가 포함되어 있습니다.

변수 설명 Type 주의
anf_subnet_arm_id ANF 서브넷에 대한 Azure 리소스 식별자 Required 기존 서브넷을 사용하는 경우
anf_subnet_address_prefix ANF 서브넷에 대한 주소 범위 Required 배포에 ANF를 사용하는 경우
anf_subnet_name ANF 서브넷의 이름 선택 사항
anf_subnet_nsg_name anf 네트워크 보안 그룹의 이름 선택 사항
anf_subnet_nsg_arm_id anf 네트워크 보안 그룹에 대한 Azure 리소스 식별자 선택 사항 브라운필드 배포의 경우

이 테이블에는 iSCSI 디바이스가 이 워크로드 영역에서 호스트되는 경우 네트워킹 매개 변수가 포함되어 있습니다.

변수 설명 Type 주의
iscsi_subnet_address_prefix iscsi 서브넷에 대한 주소 범위 필수 그린필드 배포의 경우
iscsi_subnet_arm_id iscsi 서브넷에 대한 Azure 리소스 식별자 필수 브라운필드 배포의 경우
iscsi_subnet_name iscsi 서브넷의 이름 선택 사항
iscsi_subnet_nsg_arm_id iscsi 네트워크 보안 그룹에 대한 Azure 리소스 식별자 필수 브라운필드 배포의 경우
iscsi_subnet_nsg_name iscsi 네트워크 보안 그룹의 이름 선택 사항

이 표에는 SAP용 Azure Monitor가 이 워크로드 영역에서 호스트되는 경우 네트워킹 매개 변수가 포함되어 있습니다.

변수 설명 Type 주의
ams_subnet_address_prefix iscsi 서브넷에 대한 주소 범위 필수 그린필드 배포의 경우
ams_subnet_arm_id iscsi 서브넷에 대한 Azure 리소스 식별자 필수 브라운필드 배포의 경우
ams_subnet_name iscsi 서브넷의 이름 선택 사항
ams_subnet_nsg_arm_id iscsi 네트워크 보안 그룹에 대한 Azure 리소스 식별자 필수 브라운필드 배포의 경우
ams_subnet_nsg_name iscsi 네트워크 보안 그룹의 이름 선택 사항

이 표에는 추가 네트워킹 매개 변수가 포함되어 있습니다.

변수 설명 Type 주의
use_private_endpoint 스토리지 계정 및 키 자격 증명 모음에 대해 만들어진 프라이빗 엔드포인트입니다. 선택 사항
use_service_endpoint 서브넷에 대해 정의된 서비스 엔드포인트입니다. 선택 사항
peer_with_control_plane_vnet 컨트롤 플레인 가상 네트워크와 피어링된 가상 네트워크입니다. 선택 사항 SAP 설치에 필요함
public_network_access_enabled 스토리지 계정 및 키 자격 증명 모음에서 공용 액세스가 사용하도록 설정됩니다. 선택 사항

필요한 최소 네트워크 정의

network_logical_name = "SAP01"
network_address_space = "10.110.0.0/16"

db_subnet_address_prefix = "10.110.96.0/19"
app_subnet_address_prefix = "10.110.32.0/19"

인증 매개 변수

이 표에서는 가상 머신 인증을 정의하는 데 사용되는 자격 증명을 정의합니다.

변수 설명 Type 주의
automation_username 관리자 계정 이름 선택 사항 기본값: azureadm
automation_password 관리자 암호 선택 사항
automation_path_to_public_key 기존 공개 키에 대한 경로 선택 사항
automation_path_to_private_key 기존 프라이빗 키에 대한 경로 선택 사항
use_spn 정의된 경우 서비스 주체를 사용하여 배포를 수행합니다. 그렇지 않으면 MSI 선택 사항

최소 필수 인증 정의

automation_username = "azureadm"

키 자격 증명 모음 매개 변수

이 표에서는 키 자격 증명 모음 정보를 정의하는 데 사용되는 매개 변수를 정의합니다.

변수 설명 Type 주의
spn_keyvault_id 기존 SPN(배포 자격 증명) 키 자격 증명 모음에 대한 Azure 리소스 식별자 선택 사항
user_keyvault_id 기존 시스템 자격 증명 키 자격 증명 모음에 대한 Azure 리소스 식별자 선택 사항
additional_users_to_add_to_keyvault_policies 배포 키 자격 증명 모음 액세스 정책에 추가할 사용자 개체 ID 목록 선택 사항
enable_purge_control_for_keyvaults Azure 키 자격 증명 모음에 대한 제거 보호를 사용하지 않도록 설정합니다. 선택 사항 테스트 환경에만 사용합니다.
enable_rbac_authorization_for_keyvault 키 자격 증명 모음에서 RBAC 사용 선택 사항
soft_delete_retention_days 일시 삭제 기간에 항목을 보존해야 하는 일 수입니다. 선택 사항
keyvault_private_endpoint_id 키 자격 증명 모음 프라이빗 엔드포인트의 Azure 리소스 ID 선택 사항

프라이빗 DNS

변수 설명 Type
dns_label 지정된 경우 프라이빗 DNS 영역의 DNS 이름입니다. 선택 사항
dns_resource_group_name 프라이빗 DNS 영역을 포함하는 리소스 그룹의 이름 선택 사항
register_virtual_network_to_dns SAP 가상 머신이 프라이빗 DNS 영역에 등록되어 있는지 제어합니다. 선택 사항
dns_server_list 지정한 경우 DNS 서버 IP 주소 목록 선택 사항

NFS 지원

변수 설명 Type 주의
create_transport_storage 정의된 경우 전송 디렉터리에 대한 스토리지를 만듭니다. 선택 사항
export_install_path 제공된 경우 설치 미디어의 탑재 경로를 내보냅니다. 선택 사항
export_transport_path 제공된 경우 전송 공유에 대한 탑재 경로를 내보냅니다. 선택 사항
install_always_create_fileshares 항상 파일 공유를 만듭니다. 선택 사항
install_private_endpoint_id install 프라이빗 엔드포인트에 대한 Azure 리소스 ID입니다. 선택 사항 기존 엔드포인트의 경우
install_volume_size install 볼륨의 크기(GB)를 정의합니다. 선택 사항
NFS_provider 사용할 NFS 백 엔드를 정의합니다. 선택 사항 옵션은 Azure Files NFS의 경우 AFS, Azure NetApp Files의 경우 ANF, SCS 서버 NFS의 경우 NONE, 외부 NFS 솔루션의 경우 NFS입니다.
transport_private_endpoint_id 키 자격 증명 모음 프라이빗 엔드포인트의 Azure 리소스 ID 선택 사항
transport_volume_size transport 볼륨의 크기(GB)를 정의합니다. 선택 사항
use_AFS_for_installation_media 제공된 경우 설치 미디어에 AFS를 사용합니다. 선택 사항

Azure Files NFS 지원

변수 설명 Type 주의
install_storage_account_id install 스토리지 계정에 대한 Azure 리소스 식별자 선택 사항 브라운필드 배포의 경우
transport_storage_account_id transport 스토리지 계정에 대한 Azure 리소스 식별자 선택 사항 브라운필드 배포의 경우
Storage account replication type 스토리지 계정 복제본(replica)tion 유형, 기본 ZRS 선택 사항

최소 필수 Azure Files NFS 정의

NFS_provider              = "AFS"
use_private_endpoint      = true

Azure NetApp Files 지원

변수 설명 Type 주의
ANF_account_name Azure NetApp Files 계정의 이름 선택 사항
ANF_service_level Azure NetApp Files 용량 풀에 대한 서비스 수준 선택 사항
ANF_pool_size Azure NetApp Files 용량 풀의 크기(GB) 선택 사항
ANF_qos_type 풀의 서비스 품질 유형(자동 또는 수동) 선택 사항
ANF_use_existing_pool Azure NetApp Files 용량 풀에 기존 항목을 사용합니다. 선택 사항
ANF_pool_name Azure NetApp Files 용량 풀의 이름 선택 사항
ANF_account_arm_id Azure NetApp Files 계정에 대한 Azure 리소스 식별자 선택 사항 브라운필드 배포의 경우
ANF_transport_volume_use_existing 기존 전송 볼륨이 사용되는지 여부를 정의합니다. 선택 사항
ANF_transport_volume_name 전송 볼륨 이름을 정의합니다. 선택 사항 브라운필드 배포의 경우
ANF_transport_volume_size 전송 볼륨의 크기(GB)를 정의합니다. 선택 사항
ANF_transport_volume_throughput 전송 볼륨의 처리량을 정의합니다. 선택 사항
ANF_transport_volume_zone 전송 볼륨의 가용성 영역을 정의합니다. 선택 사항
ANF_install_volume_use_existing 기존 설치 볼륨이 사용되는지 여부를 정의합니다. 선택 사항
ANF_install_volume_name 설치 볼륨 이름을 정의합니다. 선택 사항 브라운필드 배포의 경우
ANF_install_volume_size 설치 볼륨의 크기(GB)를 정의합니다. 선택 사항
ANF_install_volume_throughput 설치 볼륨의 처리량을 정의합니다. 선택 사항
ANF_install_volume_zone 설치 볼륨의 가용성 영역을 정의합니다. 선택 사항

필요한 최소 ANF 정의

NFS_provider              = "ANF"
anf_subnet_address_prefix = "10.110.64.0/27"
ANF_service_level         = "Ultra"

DNS 지원

변수 설명 Type
dns_label 프라이빗 DNS 영역의 DNS 이름. 선택 사항
management_dns_resourcegroup_name 프라이빗 DNS 영역이 포함된 리소스 그룹. 선택 사항
management_dns_subscription_id 프라이빗 DNS 영역이 포함된 구독의 구독 ID. 선택 사항
use_custom_dns_a_registration 기존 프라이빗 DNS 영역을 사용합니다. 선택 사항

다른 매개 변수

변수 설명 Type 주의
diagnostics_storage_account_arm_id 진단 스토리지 계정에 대한 Azure 리소스 식별자. Required 브라운필드 배포의 경우.
place_delete_lock_on_resources 키 자격 증명 모음 및 가상 네트워크에 삭제 잠금을 배치합니다. 선택 사항
witness_storage_account_arm_id 감시 스토리지 계정에 대한 Azure 리소스 식별자. Required 브라운필드 배포의 경우.
Agent_IP 에이전트의 IP 주소입니다. 선택 사항
add_Agent_IP 에이전트 IP가 키 자격 증명 모음 및 스토리지 계정 방화벽에 추가되는지 제어합니다. 선택 사항
enable_firewall_for_keyvaults_and_storage 선택한 서브넷에 대한 액세스 제한 선택 사항

iSCSI 매개 변수

변수 설명 Type 주의
iscsi_authentication_type iSCSI 가상 머신에 대한 기본 인증을 정의합니다. 선택 사항
iscsi_authentication_username 관리자 계정 이름 선택 사항
iscsi_count iSCSI 가상 머신의 수 선택 사항
iscsi_size iSCSI 가상 머신의 크기 선택 사항
iscsi_image 사용할 가상 머신 이미지를 정의합니다(다음 표). 선택 사항
iscsi_nic_ips iSCSI 가상 머신의 IP 주소 선택 사항 iscsi_use_DHCP가 정의된 경우 무시됨
iscsi_use_DHCP Azure 서브넷에서 제공하는 동적 IP 주소를 사용할지를 제어합니다. 선택 사항
iscsi_vm_zones iSCSI 가상 머신의 가용성 영역 선택 사항

유틸리티 VM 매개 변수

변수 설명 Type 주의
utility_vm_count 배포할 유틸리티 가상 머신의 수를 정의합니다. 선택 사항 유틸리티 가상 머신을 사용하여 SAPGui 호스트
utility_vm_image 사용할 가상 머신 이미지를 정의합니다. 선택 사항 기본값: Windows Server 2019
utility_vm_nic_ips 가상 머신의 IP 주소를 정의합니다. 선택 사항
utility_vm_os_disk_size 가상 머신의 OS 디스크 크기를 정의합니다. 선택 사항 기본값: 128
utility_vm_os_disk_type 가상 머신의 OS 디스크 형식을 정의합니다. 선택 사항 기본값: Premium_LRS
utility_vm_size 유틸리티 가상 머신에 대한 SKU를 정의합니다. 선택 사항 기본값: Standard_D4ds_v4
utility_vm_useDHCP Azure 서브넷 제공 IP를 사용해야 하는지 여부를 정의합니다. 선택 사항
`user_assigned_identity_id 가상 머신에 할당할 사용자 할당 ID 선택 사항

가상 머신 및 운영 체제 이미지는 다음 구조를 사용하여 정의됩니다.

{
  os_type         = "linux"
  type            = "marketplace"
  source_image_id = ""
  publisher       = "SUSE"
  offer           = "sles-sap-15-sp5"
  sku             = "gen2"
  version=        " latest"
}

SAP 매개 변수용 Azure Monitor

변수 설명 Type 주의
create_ams_instance SAP 인스턴스용 Azure Monitor를 만들어야 하는지를 정의합니다. 선택 사항
ams_instance_name 인스턴스의 이름을 정의합니다. 선택 사항
ams_laws_arm_id Log Analytics 작업 영역에 대한 ARM 리소스 ID를 정의합니다. 선택 사항

Terraform 매개 변수

이 표에는 Terraform 매개 변수가 포함되어 있습니다. 배포 스크립트를 사용하지 않는 경우 이러한 매개 변수를 수동으로 입력해야 합니다.

변수 설명 Type
tfstate_resource_id Terraform 상태 파일을 포함할 SAP 라이브러리의 스토리지 계정에 대한 Azure 리소스 식별자. Required
deployer_tfstate_key 배포자의 상태 파일 이름. Required

다음 단계