SAP 배포 자동화 프레임워크에 대한 구성은 매개 변수 파일을 통해 수행됩니다. 자동화 프레임워크가 배포에 사용하는 tfvars
파일에서 SAP 시스템 인프라에 대한 정보를 제공합니다.
samples
리포지토리에서 변수 파일의 예제를 찾을 수 있습니다.
자동화는 리소스 만들기(그린필드 배포) 또는 기존 리소스 사용(브라운필드 배포)을 지원합니다.
-
그린필드 시나리오: 자동화는 리소스의 기본 이름을 정의하지만 일부 리소스 이름은
tfvars
파일에 정의될 수 있습니다. - 브라운필드 시나리오: 리소스에 대한 Azure 리소스 식별자를 지정해야 합니다.
배포 토폴로지
자동화 프레임워크를 사용하여 다음 SAP 아키텍처를 배포할 수 있습니다.
- 독립 실행형
- 분산
- 분산형(고가용성)
독립 실행형
독립 실행형 아키텍처에서는 모든 SAP 역할이 단일 서버에 설치됩니다.
이 토폴로지를 구성하려면 데이터베이스 계층 값을 정의하고 enable_app_tier_deployment
를 false로 설정합니다.
분산
분산 아키텍처에는 별도의 데이터베이스 서버와 애플리케이션 계층이 있습니다. 가상 머신과 하나 이상의 애플리케이션 서버에 SAP 중앙 서비스를 두어 애플리케이션 계층을 추가로 분리할 수 있습니다.
이 토폴로지를 구성하려면 데이터베이스 계층 값을 정의하고 scs_server_count
= 1, application_server_count
>= 1을 정의합니다.
고가용성
분산(고가용성) 배포는 분산 아키텍처와 유사합니다. 이 배포에서 데이터베이스 및/또는 SAP 중앙 서비스는 각각 Pacemaker 클러스터 또는 Windows 장애 조치(failover) 클러스터링이 있는 두 개의 가상 머신을 사용하는 고가용성 구성을 사용하여 구성할 수 있습니다.
이 토폴로지를 구성하려면 데이터베이스 계층 값을 정의하고 database_high_availability
를 true로 설정합니다.
scs_server_count
= 1, scs_high_availability
= true, application_server_count
>= 1을 설정합니다.
HANA 스케일 아웃
HANA 스케일 아웃에 지원되는 구성은 다음과 같습니다.
- 대기 노드를 사용하여 스케일 아웃합니다. AZURE Netapp Files에 HANA 공유(단일 볼륨), HANA 데이터 및 HANA 로그를 배포해야 합니다.
- HANA 시스템 복제를 사용하여 복제되고 Pacemaker에서 관리하는 두 개의 사이트로 스케일 아웃합니다.
이 토폴로지를 구성하려면 데이터베이스 계층 값을 정의하고 database_HANA_use_scaleout_scenario
를 true로 설정합니다. 설정 = 원하는 대기 노트 수로 설정 stand_by_node_count
하거나 = false를 설정 database_HANA_no_standby_role
하여 사용하지 않도록 설정합니다.
환경 매개 변수
이 섹션에는 환경 설정을 정의하는 매개 변수가 포함되어 있습니다.
변수 | 설명 | 유형 | 주의 |
---|---|---|---|
environment |
워크로드 영역의 식별자(최대 5자) | 필수 | 예를 들어, 프로덕션 환경의 경우 PROD , 개발 및 테스팅 환경의 경우 NP 입니다. |
location |
배포할 Azure 지역 | 필수 | |
custom_prefix |
리소스 이름 지정에 사용되는 사용자 지정 접두사 지정 | 선택 사항 | |
use_prefix |
리소스 이름에 접두사가 포함되는지를 제어합니다. | 선택 사항 | DEV-WEEU-SAP01-X00_xxxx |
name_override_file |
이름 재정의 파일 | 선택 사항 | 사용자 지정 이름 지정을 참조하세요. |
save_naming_information |
샘플 이름 지정 JSON 파일을 만듭니다. | 선택 사항 | 사용자 지정 이름 지정을 참조하세요. |
tags |
모든 리소스와 연결할 태그 사전입니다. | 선택 사항 | |
prevent_deletion_if_contains_resources |
리소스 그룹 삭제를 제어합니다. | 선택 사항 | Terraform은 기본적으로 리소스를 포함하는 리소스 그룹을 삭제하지 않습니다. |
리소스 그룹 매개 변수
이 섹션에는 리소스 그룹을 정의하는 매개 변수가 포함되어 있습니다.
변수 | 설명 | 유형 |
---|---|---|
resourcegroup_name |
만들 리소스 그룹의 이름 | 선택 사항 |
resourcegroup_arm_id |
기존 리소스 그룹에 대한 Azure 리소스 식별자 | 선택 사항 |
resourcegroup_tags |
리소스 그룹과 연결할 태그 | 선택 사항 |
인프라 매개 변수
이 섹션에는 Azure 인프라와 관련된 매개 변수가 포함되어 있습니다.
변수 | 설명 | 유형 |
---|---|---|
custom_disk_sizes_filename |
디스크 크기 조정 파일 이름을 정의합니다. 사용자 지정 크기 조정을 참조하세요. | 선택 사항 |
resource_offset |
리소스 이름 지정에 대한 오프셋을 제공합니다. | 선택 사항 |
use_loadbalancers_for_standalone_deployments |
독립 실행형 설치를 위해 부하 분산 장치가 배포되는지를 제어합니다. | 선택 사항 |
user_assigned_identity_id |
가상 머신에 할당할 사용자 할당 ID | 선택 사항 |
vm_disk_encryption_set_id |
고객이 제공한 키를 사용하여 관리 디스크를 암호화하는 데 사용할 디스크 암호화 키입니다. | 선택 사항 |
use_random_id_for_storageaccounts |
정의된 경우 스토리지 계정 이름에 임의 문자열을 추가합니다. | 선택 사항 |
use_scalesets_for_deployment |
배포에 유연한 Virtual Machine Scale Sets 사용 | 선택 사항 |
scaleset_id |
가상 머신 확장 집합에 대한 Azure 리소스 식별자 | 선택 사항 |
선택 사항 | ||
proximityplacementgroup_arm_ids |
기존 근접 배치 그룹의 Azure 리소스 식별자를 지정합니다. | |
proximityplacementgroup_names |
근접 배치 그룹의 이름을 지정합니다. | |
use_app_proximityplacementgroups |
앱 계층 가상 머신이 데이터베이스와 다른 ppg에 배치되는지를 제어합니다. | 선택 사항 |
app_proximityplacementgroup_arm_ids |
앱 계층에 대한 기존 근접 배치 그룹의 Azure 리소스 식별자를 지정합니다. | |
app_proximityplacementgroup_names |
앱 계층에 대한 근접 배치 그룹의 이름을 지정합니다. | |
선택 사항 | ||
use_spn |
정의된 경우 서비스 주체를 사용하여 배포를 수행합니다. 그렇지 않으면 MSI를 사용합니다. | 선택 사항 |
use_private_endpoint |
프라이빗 엔드포인트를 사용합니다. | 선택 사항 |
선택 사항 | ||
shared_access_key_enabled |
스토리지 계정 권한 부여 유형, 공유 액세스 키 또는 Entra ID를 나타냅니다. | 선택 사항 |
shared_access_key_enabled_nfs |
파일 공유 스토리지 계정 권한 부여 유형, 공유 액세스 키 또는 Entra ID를 나타냅니다. | 선택 사항 |
data_plane_available |
데이터 평면을 통해 스토리지 계정 액세스가 있는지 여부를 나타내는 부울 값 | 선택 사항 |
resource_offset
매개 변수는 리소스의 이름 지정을 제어합니다. 예를 들어 resource_offset
을 1로 설정하면 첫 번째 디스크의 이름은 disk1
로 지정됩니다. 기본값은 0입니다.
SAP 애플리케이션 매개 변수
이 섹션에는 SAP 애플리케이션과 관련된 매개 변수가 포함되어 있습니다.
변수 | 설명 | 유형 |
---|---|---|
sid |
SAP 애플리케이션 SID를 정의합니다. | 필수 |
database_sid |
데이터베이스 SID를 정의합니다. | 필수 |
web_sid |
Web Dispatcher SID를 정의합니다. | 필수 |
scs_instance_number |
SCS의 인스턴스 번호 | 선택 사항 |
ers_instance_number |
ERS의 인스턴스 번호 | 선택 사항 |
pas_instance_number |
주 애플리케이션 서버의 인스턴스 번호 | 선택 사항 |
app_instance_number |
애플리케이션 서버의 인스턴스 번호 | 선택 사항 |
database_instance_number |
SCS의 인스턴스 번호 | 선택 사항 |
web_instance_number |
Web Dispatcher의 인스턴스 번호 | 선택 사항 |
bom_name |
제품 구성 정보 파일의 이름을 정의합니다. | 선택 사항 |
SAP 가상 호스트의 이름 매개 변수
SAP 배포 자동화 프레임워크에서 SAP 가상 호스트 이름은 use_secondary_ips
매개 변수를 지정하여 정의됩니다.
변수 | 설명 | 유형 |
---|---|---|
use_secondary_ips |
가상 호스트 이름을 사용하여 SAP를 설치해야 하는지 여부를 나타내는 부울 플래그 | 선택 사항 |
데이터베이스 계층 매개 변수
데이터베이스 계층은 데이터베이스 계층에 대한 인프라를 정의합니다. 지원되는 데이터베이스 백 엔드는 다음과 같습니다.
HANA
DB2
ORACLE
ORACLE-ASM
ASE
SQLSERVER
-
NONE
(이 경우 데이터베이스 계층이 배포되지 않음)
고가용성을 구성하는 방법에 대한 자세한 내용은 고가용성 구성을 참조하세요.
변수 | 설명 | 유형 | 주의 |
---|---|---|---|
database_platform |
데이터베이스 백 엔드를 정의합니다. | 필수 | |
database_vm_image |
사용할 가상 머신 이미지를 정의합니다. | 선택 사항 | |
database_vm_sku |
사용할 가상 머신 SKU를 정의합니다. | 선택 사항 | |
database_server_count |
데이터베이스 서버 수를 정의합니다. | 선택 사항 | |
database_high_availability |
데이터베이스 계층이 고가용성으로 배포되는지를 정의합니다. | 선택 사항 | |
database_vm_zones |
데이터베이스 서버의 가용성 영역을 정의합니다. | 선택 사항 | |
db_sizing_dictionary_key |
데이터베이스 크기 조정 정보를 정의합니다. | 필수 | 사용자 지정 크기 조정을 참조하세요. |
database_vm_use_DHCP |
Azure 서브넷 제공 IP 주소를 사용해야 하는지를 제어합니다. | 선택 사항 | |
database_vm_db_nic_ips |
데이터베이스 서버(데이터베이스 서브넷)에 대한 IP 주소를 정의합니다. | 선택 사항 | |
database_vm_db_nic_secondary_ips |
데이터베이스 서버(데이터베이스 서브넷)에 대한 보조 IP 주소를 정의합니다. | 선택 사항 | |
database_vm_admin_nic_ips |
데이터베이스 서버(관리자 서브넷)에 대한 IP 주소를 정의합니다. | 선택 사항 | |
database_loadbalancer_ips |
데이터베이스 부하 분산 장치에 대한 IP 주소 목록(DB 서브넷) | 선택 사항 | |
database_vm_authentication_type |
인증 유형(키/암호)을 정의합니다. | 선택 사항 | |
database_use_avset |
데이터베이스 서버가 가용성 집합에 배치되는지를 제어합니다. | 선택 사항 | |
database_use_ppg |
데이터베이스 서버가 근접 배치 그룹에 배치되는지를 제어합니다. | 선택 사항 | |
database_vm_avset_arm_ids |
기존 가용성 집합 Azure 리소스 ID를 정의합니다. | 선택 사항 | 주로 Azure NetApp Files 고정과 함께 사용됩니다. |
database_use_premium_v2_storage |
데이터베이스 계층에서 HANA(Premium Storage v2)를 사용할지 제어합니다. | 선택 사항 | |
database_dual_nics |
HANA 데이터베이스 서버에 이중 네트워크 인터페이스가 있는지를 제어합니다. | 선택 사항 | |
database_tags |
데이터베이스 서버에 적용할 태그 목록을 정의합니다. | 선택 사항 | |
use_sles_saphanasr_angi |
SAP HANA SR 클러스터를 SAP HANA SR - 차세대 인터페이스로 구성할지 여부를 정의합니다. | 선택 사항 | SUSE에만 적용 |
가상 머신 및 운영 체제 이미지는 다음 구조를 사용하여 정의됩니다.
{
os_type="linux"
type="marketplace"
source_image_id=""
publisher="SUSE"
offer="sles-sap-15-sp3"
sku="gen2"
version="latest"
}
일반적인 애플리케이션 계층 매개 변수
애플리케이션 계층은 애플리케이션 서버, 중앙 서비스 서버 및 웹 디스패치 서버로 구성될 수 있는 애플리케이션 계층에 대한 인프라를 정의합니다.
변수 | 설명 | 유형 | 주의 |
---|---|---|---|
enable_app_tier_deployment |
애플리케이션 계층이 배포되는지 정의합니다. | 선택 사항 | |
app_tier_sizing_dictionary_key |
애플리케이션 계층 서버에 대한 VM SKU 및 디스크 레이아웃을 정의하는 조회 값 | 선택 사항 | |
app_disk_sizes_filename |
애플리케이션 계층 서버에 대한 사용자 지정 디스크 크기 파일을 정의합니다. | 선택 사항 | 사용자 지정 크기 조정을 참조하세요. |
app_tier_authentication_type |
애플리케이션 계층 가상 머신에 대한 인증 유형을 정의합니다. | 선택 사항 | |
app_tier_use_DHCP |
Azure 서브넷 제공 IP 주소를 사용해야 하는지(동적)를 제어합니다. | 선택 사항 | |
app_tier_dual_nics |
애플리케이션 계층 서버에 두 개의 네트워크 인터페이스가 있는지 정의합니다. | 선택 사항 |
SAP 중앙 서비스 매개 변수
변수 | 설명 | 유형 | 주의 |
---|---|---|---|
scs_server_count |
SCS 서버 수를 정의합니다. | 필수 | |
scs_high_availability |
중앙 서비스가 고가용성인지 정의합니다. | 선택 사항 | 고가용성 구성을 참조하세요. |
scs_server_sku |
사용할 가상 머신 SKU를 정의합니다. | 선택 사항 | |
scs_server_image |
사용할 가상 머신 이미지를 정의합니다. | 필수 | |
scs_server_zones |
SCS 서버의 가용성 영역을 정의합니다. | 선택 사항 | |
scs_server_app_nic_ips |
SCS 서버의 IP 주소 목록(앱 서브넷) | 선택 사항 | |
scs_server_app_nic_secondary_ips |
SCS 서버의 보조 IP 주소 목록(앱 서브넷) | 선택 사항 | |
scs_server_app_admin_nic_ips |
SCS 서버의 IP 주소 목록(관리자 서브넷) | 선택 사항 | |
scs_server_loadbalancer_ips |
scs 부하 분산 장치(앱 서브넷)의 IP 주소 목록 | 선택 사항 | |
scs_server_use_ppg |
SCS 서버가 가용성 집합에 배치되는지를 제어합니다. | 선택 사항 | |
scs_server_use_avset |
SCS 서버가 근접 배치 그룹에 배치되는지를 제어합니다. | 선택 사항 | |
scs_server_tags |
SCS 서버에 적용할 태그 목록을 정의합니다. | 선택 사항 |
애플리케이션 서버 매개 변수
변수 | 설명 | 유형 | 주의 |
---|---|---|---|
application_server_count |
애플리케이션 서버 수를 정의합니다. | 필수 | |
application_server_sku |
사용할 가상 머신 SKU를 정의합니다. | 선택 사항 | |
application_server_image |
사용할 가상 머신 이미지를 정의합니다. | 필수 | |
application_server_zones |
애플리케이션 서버가 배포되는 가용성 영역을 정의합니다. | 선택 사항 | |
application_server_admin_nic_ips |
애플리케이션 서버의 IP 주소 목록(관리 서브넷) | 선택 사항 | |
application_server_app_nic_ips[] |
애플리케이션 서버의 IP 주소 목록(앱 서브넷) | 선택 사항 | |
application_server_nic_secondary_ips[] |
애플리케이션 서버의 보조 IP 주소 목록(앱 서브넷) | 선택 사항 | |
application_server_use_ppg |
애플리케이션 서버가 가용성 집합에 배치되는지를 제어합니다. | 선택 사항 | |
application_server_use_avset |
애플리케이션 서버가 근접 배치 그룹에 배치되는지를 제어합니다. | 선택 사항 | |
application_server_tags |
애플리케이션 서버에 적용할 태그 목록을 정의합니다. | 선택 사항 | |
application_server_vm_avset_arm_ids[] |
애플리케이션 서버에 대한 가용성 집합 리소스 ID 목록 | 선택 사항 |
Web Dispatcher 매개 변수
변수 | 설명 | 유형 | 주의 |
---|---|---|---|
webdispatcher_server_count |
웹 디스패처 서버 수를 정의합니다. | 필수 | |
webdispatcher_server_sku |
사용할 가상 머신 SKU를 정의합니다. | 선택 사항 | |
webdispatcher_server_image |
사용할 가상 머신 이미지를 정의합니다. | 선택 사항 | |
webdispatcher_server_zones |
웹 디스패처가 배포되는 가용성 영역을 정의합니다. | 선택 사항 | |
webdispatcher_server_app_nic_ips[] |
웹 디스패처 서버의 IP 주소 목록(앱/웹 서브넷) | 선택 사항 | |
webdispatcher_server_nic_secondary_ips[] |
웹 디스패처 서버의 보조 IP 주소 목록(앱/웹 서브넷) | 선택 사항 | |
webdispatcher_server_app_admin_nic_ips |
웹 디스패처 서버의 IP 주소 목록(관리 서브넷) | 선택 사항 | |
webdispatcher_server_use_ppg |
웹 디스패처가 가용성 집합에 배치되는지를 제어합니다. | 선택 사항 | |
webdispatcher_server_use_avset |
웹 디스패처가 근접 배치 그룹에 배치되는지를 제어합니다. | 선택 사항 | |
webdispatcher_server_tags |
웹 디스패처 서버에 적용할 태그 목록을 정의합니다. | 선택 사항 | |
webdispatcher_server_loadbalancer_ips |
웹 부하 분산 장치에 대한 IP 주소 목록(웹/앱 서브넷) | 선택 사항 |
네트워크 매개 변수
워크로드 영역 배포를 사용하여 서브넷을 배포하지 않는 경우 시스템의 tfvars 파일에 추가할 수 있습니다.
자동화 프레임워크는 가상 네트워크와 서브넷을 배포(그린필드 배포)하거나 기존 가상 네트워크와 기존 서브넷을 사용(브라운필드 배포)할 수 있습니다.
- 그린필드 시나리오: 가상 네트워크 주소 공간 및 서브넷 주소 접두사를 지정해야 합니다.
- 브라운필드 시나리오: 가상 네트워크 및 서브넷에 대한 Azure 리소스 식별자를 지정해야 합니다.
가상 네트워크 주소 공간이 모든 리소스를 호스트할 수 있을지 확인합니다.
이 섹션에는 네트워킹 매개 변수가 포함되어 있습니다.
변수 | 설명 | 유형 | 주의 |
---|---|---|---|
network_logical_name |
네트워크의 논리적 이름 | 필수 | |
admin_subnet_name |
admin 서브넷의 이름 |
선택 사항 | |
admin_subnet_address_prefix |
admin 서브넷에 대한 주소 범위 |
필수 | 그린필드 배포의 경우 |
admin_subnet_arm_id * |
admin 서브넷에 대한 Azure 리소스 식별자 |
필수 | 브라운필드 배포의 경우 |
admin_subnet_nsg_name |
admin 네트워크 보안 그룹의 이름 |
선택 사항 | |
admin_subnet_nsg_arm_id * |
admin 네트워크 보안 그룹에 대한 Azure 리소스 식별자 |
필수 | 브라운필드 배포의 경우 |
db_subnet_name |
db 서브넷의 이름 |
선택 사항 | |
db_subnet_address_prefix |
db 서브넷에 대한 주소 범위 |
필수 | 그린필드 배포의 경우 |
db_subnet_arm_id * |
db 서브넷에 대한 Azure 리소스 식별자 |
필수 | 브라운필드 배포의 경우 |
db_subnet_nsg_name |
db 네트워크 보안 그룹 이름의 이름 |
선택 사항 | |
db_subnet_nsg_arm_id * |
db 네트워크 보안 그룹에 대한 Azure 리소스 식별자 |
필수 | 브라운필드 배포의 경우 |
app_subnet_name |
app 서브넷의 이름 |
선택 사항 | |
app_subnet_address_prefix |
app 서브넷에 대한 주소 범위 |
필수 | 그린필드 배포의 경우 |
app_subnet_arm_id * |
app 서브넷에 대한 Azure 리소스 식별자 |
필수 | 브라운필드 배포의 경우 |
app_subnet_nsg_name |
app 네트워크 보안 그룹 이름의 이름 |
선택 사항 | |
app_subnet_nsg_arm_id * |
app 네트워크 보안 그룹에 대한 Azure 리소스 식별자 |
필수 | 브라운필드 배포의 경우 |
web_subnet_name |
web 서브넷의 이름 |
선택 사항 | |
web_subnet_address_prefix |
web 서브넷에 대한 주소 범위 |
필수 | 그린필드 배포의 경우 |
web_subnet_arm_id * |
web 서브넷에 대한 Azure 리소스 식별자 |
필수 | 브라운필드 배포의 경우 |
web_subnet_nsg_name |
web 네트워크 보안 그룹 이름의 이름 |
선택 사항 | |
web_subnet_nsg_arm_id * |
web 네트워크 보안 그룹에 대한 Azure 리소스 식별자 |
필수 | 브라운필드 배포의 경우 |
deploy_application_security_groups |
애플리케이션 보안 그룹 배포를 제어합니다. | 선택 사항 | |
nsg_asg_with_vnet |
true이면 네트워크 보안 그룹이 VNet과 함께 배치됩니다. | 선택 사항 |
* = 브라운필드 배포의 경우 필수입니다.
자격 증명 모음 매개 변수
워크로드 영역 키 자격 증명 모음을 사용하지 않으려면 시스템의 tfvar
파일에서 키 자격 증명 모음의 Azure 리소스 식별자를 정의할 수 있습니다.
이 섹션에서는 키 자격 증명 모음 정보를 정의하는 데 사용되는 매개 변수를 정의합니다.
변수 | 설명 | 유형 | 주의 |
---|---|---|---|
user_keyvault_id |
기존 시스템 자격 증명 키 자격 증명 모음에 대한 Azure 리소스 식별자 | 선택 사항 | |
spn_keyvault_id |
기존 SPN(배포 자격 증명) 키 자격 증명 모음에 대한 Azure 리소스 식별자 | 선택 사항 | |
enable_purge_control_for_keyvaults |
Azure Key Vault에 대한 제거 보호를 사용하지 않도록 설정합니다. | 선택 사항 | 테스트 환경에만 사용합니다. |
가상 머신 매개 변수 고정
SAP 배포 자동화 프레임워크는 앵커 가상 머신을 지원합니다. 앵커 가상 머신은 배포된 첫 번째 가상 머신입니다. 근접 배치 그룹을 고정하는 데 사용됩니다.
이 섹션에는 앵커 가상 머신과 관련된 매개 변수가 포함되어 있습니다.
변수 | 설명 | 유형 |
---|---|---|
deploy_anchor_vm |
앵커 가상 머신이 사용되는지 정의합니다. | 선택 사항 |
anchor_vm_accelerated_networking |
앵커 VM이 가속화된 네트워킹을 사용하도록 구성되어 있는지를 정의합니다. | 선택 사항 |
anchor_vm_authentication_type |
앵커 VM에 대한 인증 유형을 정의합니다(키 또는 암호). | 선택 사항 |
anchor_vm_authentication_username |
앵커 VM에 대한 사용자 이름을 정의합니다. | 선택 사항 |
anchor_vm_image |
사용할 VM 이미지를 정의합니다(다음 코드 샘플에 표시된 대로). | 선택 사항 |
anchor_vm_nic_ips[] |
앵커 VM에 대한 IP 주소 목록(앱 서브넷) | 선택 사항 |
anchor_vm_sku |
사용할 VM SKU를 정의합니다(예: Standard_D4s_v3). | 선택 사항 |
anchor_vm_use_DHCP |
Azure 서브넷에서 제공하는 동적 IP 주소를 사용할지를 제어합니다. | 선택 사항 |
가상 머신 및 운영 체제 이미지는 다음 구조를 사용하여 정의됩니다.
{
os_type = "linux"
type = "marketplace"
source_image_id = ""
publisher = "SUSE"
offer = "sles-sap-15-sp5"
sku = "gen2"
version= " latest"
}
인증 매개 변수
기본적으로 SAP 시스템 배포는 SAP 워크로드 영역의 자격 증명을 사용합니다. SAP 시스템에 고유한 자격 증명이 필요한 경우 이러한 매개 변수를 사용하여 제공할 수 있습니다.
변수 | 설명 | 유형 |
---|---|---|
automation_username |
관리자 계정 이름 | 선택 사항 |
automation_password |
관리자 암호 | 선택 사항 |
automation_path_to_public_key |
기존 공개 키에 대한 경로 | 선택 사항 |
automation_path_to_private_key |
기존 프라이빗 키에 대한 경로 | 선택 사항 |
기타 매개 변수
변수 | 설명 |
---|---|
license_type |
가상 머신의 라이선스 형식을 지정합니다. 가능한 값은 RHEL_BYOS 및 SLES_BYOS 입니다. Windows의 경우 가능한 값은 None , Windows_Client , Windows_Server 입니다. |
use_zonal_markers |
영역 가상 머신에 xooscs_z1_00l### 및 xooscs00l### 영역 식별자가 포함되는지를 지정합니다. |
deploy_v1_monitoring_extension |
Microsoft.AzureCAT.AzureEnhancedMonitoring 확장이 배포될지 정의합니다. |
NFS 지원
변수 | 설명 | 유형 |
---|---|---|
NFS_provider |
사용할 NFS 백 엔드를 정의합니다. 옵션은 Azure Files NFS의 경우 AFS 또는 Azure NetApp Files 의 경우 ANF 입니다. |
선택 사항 |
sapmnt_volume_size |
sapmnt 볼륨의 크기(GB)를 정의합니다. |
선택 사항 |
Azure Files NFS 지원
변수 | 설명 | 유형 |
---|---|---|
azure_files_sapmnt_id |
제공된 경우 sapmnt 에 사용되는 스토리지 계정의 Azure 리소스 ID입니다. |
선택 사항 |
sapmnt_private_endpoint_id |
제공된 경우 sapmnt 프라이빗 엔드포인트의 Azure 리소스 ID입니다. |
선택 사항 |
HANA 스케일 아웃 지원
변수 | 설명 | 유형 | 주의 |
---|---|---|---|
database_HANA_use_ANF_scaleout_scenario |
HANA 스케일 아웃이 사용되는지 정의합니다. | 선택 사항 | |
stand_by_node_count |
대기 노드 수입니다. | 선택 사항 |
Azure NetApp Files 지원
변수 | 설명 | 유형 | 주의 |
---|---|---|---|
ANF_HANA_use_AVG |
볼륨에 애플리케이션 볼륨 그룹을 사용합니다. | 선택 사항 | |
ANF_HANA_use_Zones |
Azure NetApp Files 볼륨을 영역적으로 배포합니다. | 선택 사항 | |
ANF_HANA_data |
HANA 데이터에 대한 Azure NetApp Files 볼륨을 만듭니다. | 선택 사항 | |
ANF_HANA_data_use_existing_volume |
HANA 데이터에 기존 Azure NetApp Files 볼륨을 사용합니다. | 선택 사항 | 미리 만든 볼륨에 사용합니다. |
ANF_HANA_data_volume_count |
HANA 데이터 볼륨의 수입니다. | 선택 사항 | |
ANF_HANA_data_volume_name |
HANA 데이터에 대한 Azure NetApp Files 볼륨 이름입니다. | 선택 사항 | |
ANF_HANA_data_volume_size |
HANA 데이터에 대한 Azure NetApp Files 볼륨 크기(GB)입니다. | 선택 사항 | 기본 크기는 256입니다. |
ANF_HANA_data_volume_throughput |
HANA 데이터에 대한 Azure NetApp Files 볼륨 처리량입니다. | 선택 사항 | 기본값은 128MB/초입니다. |
ANF_HANA_log |
HANA 로그에 대한 Azure NetApp Files 볼륨을 만듭니다. | 선택 사항 | |
ANF_HANA_log_use_existing |
HANA 로그에 기존 Azure NetApp Files 볼륨을 사용합니다. | 선택 사항 | 미리 만든 볼륨에 사용합니다. |
ANF_HANA_log_volume_count |
HANA 로그 볼륨의 수입니다. | 선택 사항 | |
ANF_HANA_log_volume_name |
HANA 로그에 대한 Azure NetApp Files 볼륨 이름입니다. | 선택 사항 | |
ANF_HANA_log_volume_size |
HANA 로그에 대한 Azure NetApp Files 볼륨 크기(GB)입니다. | 선택 사항 | 기본 크기는 128입니다. |
ANF_HANA_log_volume_throughput |
HANA 로그에 대한 Azure NetApp Files 볼륨 처리량입니다. | 선택 사항 | 기본값은 128MB/초입니다. |
ANF_HANA_shared |
HANA 공유에 대한 Azure NetApp Files 볼륨을 만듭니다. | 선택 사항 | |
ANF_HANA_shared_use_existing |
HANA 공유에 기존 Azure NetApp Files 볼륨을 사용합니다. | 선택 사항 | 미리 만든 볼륨에 사용합니다. |
ANF_HANA_shared_volume_name |
HANA 공유에 대한 Azure NetApp Files 볼륨 이름입니다. | 선택 사항 | |
ANF_HANA_shared_volume_size |
HANA 공유에 대한 Azure NetApp Files 볼륨 크기(GB)입니다. | 선택 사항 | 기본 크기는 128입니다. |
ANF_HANA_shared_volume_throughput |
HANA 공유에 대한 Azure NetApp Files 볼륨 처리량입니다. | 선택 사항 | 기본값은 128MB/초입니다. |
ANF_sapmnt |
sapmnt 에 대한 Azure NetApp Files 볼륨을 만듭니다. |
선택 사항 | |
ANF_sapmnt_use_existing_volume |
sapmnt 에 기존 Azure NetApp Files 볼륨을 사용합니다. |
선택 사항 | 미리 만든 볼륨에 사용합니다. |
ANF_sapmnt_volume_name |
sapmnt 에 대한 Azure NetApp Files 볼륨 이름입니다. |
선택 사항 | |
ANF_sapmnt_volume_size |
sapmnt 에 대한 Azure NetApp Files 볼륨 크기(GB)입니다. |
선택 사항 | 기본 크기는 128입니다. |
ANF_sapmnt_throughput |
sapmnt 에 대한 Azure NetApp Files 볼륨 처리량입니다. |
선택 사항 | 기본값은 128MB/초입니다. |
ANF_sapmnt_use_clone_in_secondary_zone |
복제본으로 보조 sapmnt 볼륨 만들기 | 선택 사항 | 기본값은 128MB/초입니다. |
ANF_usr_sap |
usrsap 에 대한 Azure NetApp Files 볼륨을 만듭니다. |
선택 사항 | |
ANF_usr_sap_use_existing |
usrsap 에 기존 Azure NetApp Files 볼륨을 사용합니다. |
선택 사항 | 미리 만든 볼륨에 사용합니다. |
ANF_usr_sap_volume_name |
usrsap 에 대한 Azure NetApp Files 볼륨 이름입니다. |
선택 사항 | |
ANF_usr_sap_volume_size |
usrsap 에 대한 Azure NetApp Files 볼륨 크기(GB)입니다. |
선택 사항 | 기본 크기는 128입니다. |
ANF_usr_sap_throughput |
usrsap 에 대한 Azure NetApp Files 볼륨 처리량입니다. |
선택 사항 | 기본값은 128MB/초입니다. |
Oracle 매개 변수
이러한 매개 변수는 Oracle 기반 시스템을 배포할 때 sap-parameters.yaml 파일에서 업데이트해야 합니다.
변수 | 설명 | 유형 | 주의 |
---|---|---|---|
ora_release |
Oracle 릴리스(예: 19) | 필수 | |
ora_version |
Oracle 버전(예: 19.0.0) | 필수 | |
oracle_sbp_patch |
Oracle SBP 패치 파일 이름(예: SAP19P_2202-70004508.ZIP) | 필수 | BOM(제품 구성 정보)의 일부여야 합니다. |
use_observer |
관찰자를 사용할지 정의합니다. | 선택 사항 |
configuration_settings
변수를 사용하여 Terraform이 sap-parameters.yaml 파일에 추가하도록 할 수 있습니다.
configuration_settings = {
ora_release = "19",
ora_version = "19.0.0",
oracle_sbp_patch = "SAP19P_2202-70004508.ZIP",
oraclegrid_sbp_patch = "GIRU19P_2202-70004508.ZIP",
}
DNS 지원
변수 | 설명 | 유형 |
---|---|---|
management_dns_resourcegroup_name |
프라이빗 DNS 영역이 포함된 리소스 그룹. | 선택 사항 |
management_dns_subscription_id |
프라이빗 DNS 영역이 포함된 구독의 구독 ID. | 선택 사항 |
use_custom_dns_a_registration |
기존 프라이빗 DNS 영역을 사용합니다. | 선택 사항 |
dns_a_records_for_secondary_names |
보조 IP 주소에 대한 A 레코드를 등록합니다. | 선택 사항 |
SAP용 Azure Monitor 매개 변수
변수 | 설명 | 유형 | 주의 |
---|---|---|---|
ams_resource_id |
SAP용 Azure Monitor의 ARM 리소스 ID를 정의합니다. | 선택 사항 | |
enable_ha_monitoring |
Prometheus 고가용성 클러스터 모니터링이 활성화되어 있는지 정의합니다. | 선택 사항 | |
enable_os_monitoring |
Prometheus 고가용성 OS 모니터링이 활성화되어 있는지 정의합니다. | 선택 사항 |
다른 매개 변수
변수 | 설명 | 유형 | 주의 |
---|---|---|---|
Agent_IP |
에이전트의 IP 주소입니다. | 선택 사항 | |
add_Agent_IP |
에이전트 IP가 키 자격 증명 모음 및 스토리지 계정 방화벽에 추가되는지 제어합니다. | 선택 사항 |
Terraform 매개 변수
이 섹션에는 Terraform 매개 변수가 포함되어 있습니다. 배포 스크립트를 사용하지 않는 경우 이러한 매개 변수를 수동으로 입력해야 합니다.
변수 | 설명 | 유형 |
---|---|---|
tfstate_resource_id |
Terraform 상태 파일을 포함할 SAP 라이브러리의 Storage 계정에 대한 Azure 리소스 식별자 | 필수 * |
deployer_tfstate_key |
배포자에 대한 상태 파일의 이름 | 필수 * |
landscaper_tfstate_key |
워크로드 영역에 대한 상태 파일의 이름 | 필수 * |
* = 수동 배포에 필요
Scale Out 구성
이 섹션에는 HANA Scale Out 구성에 대한 구성 설정이 포함되어 있습니다.
변수 | 설명 | 유형 |
---|---|---|
database_HANA_use_scaleout_scenario |
SCALE Out 구성을 사용하여 HANA 데이터베이스를 구성하는지 정의합니다. | 선택 사항 |
database_HANA_no_standby_role |
Scale Out 계층에 대기 노드가 없음을 정의합니다. | 선택 사항 |
stand_by_node_count |
대기 노드 수 | 선택 사항 |
hanashared_id |
미리 만든 HANA 공유 리소스에 대한 Azure 리소스 식별자 | 선택 사항 |
hanashared_private_endpoint_id |
미리 만든 프라이빗 엔드포인트에 대한 Azure 리소스 식별자 | 선택 사항 |
고가용성 구성
데이터베이스 계층 및 SCS 계층에 대한 고가용성 구성은 database_high_availability
및 scs_high_availability
플래그를 사용하여 구성됩니다. Red Hat 및 SUSE는 가상 머신 이미지의 적절한 HA 버전(RHEL-SAP-HA, sles-sap-15-sp?)을 사용해야 합니다.
고가용성 구성은 Azure 펜싱 에이전트에서 Pacemaker를 사용합니다.
클러스터 매개 변수
이 섹션에는 클러스터 구성과 관련된 매개 변수가 포함되어 있습니다.
변수 | 설명 | 유형 |
---|---|---|
database_cluster_disk_lun |
데이터베이스 클러스터에 대한 공유 디스크의 LUN을 지정합니다. | 선택 사항 |
database_cluster_disk_size |
데이터베이스 클러스터에 대한 공유 디스크의 크기입니다. | 선택 사항 |
database_cluster_type |
클러스터 쿼럼 형식; AFA(Azure 펜싱 에이전트), ASD(Azure 공유 디스크), ISCSI | 선택 사항 |
fencing_role_name |
펜싱을 사용하도록 할당할 Azure 역할 할당을 지정합니다. | 선택 사항 |
idle_timeout_scs_ers |
SCS 및 ERS 부하 분산 장치에 대한 유휴 시간 제한 설정을 설정합니다. | 선택 사항 |
scs_cluster_disk_lun |
중앙 서비스 클러스터에 대한 공유 디스크의 LUN을 지정합니다. | 선택 사항 |
scs_cluster_disk_size |
중앙 서비스 클러스터의 공유 디스크 크기입니다. | 선택 사항 |
scs_cluster_type |
클러스터 쿼럼 형식; AFA(Azure 펜싱 에이전트), ASD(Azure 공유 디스크), ISCSI | 선택 사항 |
use_msi_for_clusters |
정의된 경우 관리 ID를 사용하여 Pacemaker 클러스터를 구성합니다. | 선택 사항 |
use_simple_mount |
단순 탑재를 사용할지 여부를 지정합니다(SLES 15 SP# 이상에 적용 가능). | 선택 사항 |
use_fence_kdump |
펜스 에이전트 fence_kdump를 기반으로 펜싱 디바이스 구성 | 선택 사항 |
use_fence_kdump_lun_db |
kdump 디스크의 기본 lun 번호(데이터베이스) | 선택 사항 |
use_fence_kdump_lun_scs |
kdump 디스크의 기본 lun 번호(Central Services) | 선택 사항 |
use_fence_kdump_size_gb_db |
kdump 디스크의 기본 크기(데이터베이스) | 선택 사항 |
use_fence_kdump_size_gb_scs |
kdump 디스크의 기본 크기(Central Services) | 선택 사항 |
참고 항목
고가용성 중앙 서비스 배포에는 sap_mnt
에 대한 공유 파일 시스템을 사용해야 합니다.
NFS_provider
특성을 사용하여 Azure Files 또는 Azure NetApp Files를 사용할 수 있습니다. 기본값은 Azure Files입니다. Azure NetApp Files를 사용하려면 NFS_provider
특성을 ANF
로 설정합니다.
펜싱 에이전트 구성
SAP 배포 자동화 프레임워크는 펜싱 에이전트에 대한 관리 ID 또는 서비스 주체 사용을 지원합니다. 다음 섹션에서는 각 옵션을 구성하는 방법을 설명합니다.
변수 use_msi_for_clusters
를 true
로 설정하면 펜싱 에이전트는 관리 ID를 사용합니다.
펜싱 에이전트에 서비스 주체를 사용하려면 해당 변수를 false로 설정합니다.
펜싱 에이전트는 가상 머신을 중지하고 시작할 수 있는 권한이 있는 고유한 서비스 주체를 사용하도록 구성해야 합니다. 자세한 내용은 펜싱 에이전트 만들기를 참조하세요.
az ad sp create-for-rbac --role="Linux Fence Agent Role" --scopes="/subscriptions/<subscriptionID>" --name="<prefix>-Fencing-Agent"
<prefix>
를 환경 이름 접두사(예: DEV-WEEU-SAP01
)로 바꿉니다.
<subscriptionID>
를 워크로드 영역 구독 ID로 바꿉니다.
중요합니다
펜싱 에이전트 서비스 주체의 이름은 테넌트에서 고유해야 합니다. 스크립트는 역할 Linux Fence Agent Role
이 이미 만들어진 것으로 가정합니다.
펜싱 에이전트 SPN의 값을 기록합니다.
- appId (앱 ID)
- 암호
- 테넌트
펜싱 에이전트 세부 정보는 미리 정의된 명명 규칙을 사용하여 워크로드 영역 키 자격 증명 모음에 저장되어야 합니다.
<prefix>
를 환경 이름 접두사(예: DEV-WEEU-SAP01
)로 바꿉니다.
<workload_kv_name>
을 워크로드 영역 리소스 그룹의 키 자격 증명 모음 이름으로 바꿉니다. 다른 값의 경우 이전 단계에서 기록한 값을 사용하고 스크립트를 실행합니다.
az keyvault secret set --name "<prefix>-fencing-spn-id" --vault-name "<workload_kv_name>" --value "<appId>";
az keyvault secret set --name "<prefix>-fencing-spn-pwd" --vault-name "<workload_kv_name>" --value "<password>";
az keyvault secret set --name "<prefix>-fencing-spn-tenant" --vault-name "<workload_kv_name>" --value "<tenant>";