SAP Deployment Automation Framework를 사용하여 SAP 배포 계획

SAP 배포 자동화 프레임워크는 Terraform 및 Ansible을 사용하여 Azure SAP 배포를 자동화하는 오픈 소스 오케스트레이션 도구입니다. 배포하기 전에 구독, 자격 증명 관리 및 가상 네트워크 디자인을 계획해야 합니다.

이 문서에서는 배포를 시작하기 전에 수행해야 하는 주요 계획 결정에 대해 설명합니다. 일반적인 SAP on Azure 디자인 고려 사항에 대해서는 SAP 채택 시나리오 소개를 참조하세요.

구독 계획

참고 사항

Terraform 배포는 SAP 배포 자동화 프레임워크 리포지토리 Microsoft 제공하는 Terraform 템플릿을 사용합니다. 템플릿은 시스템별 정보가 포함된 매개 변수 파일을 사용하여 배포를 수행합니다.

컨트롤 플레인과 워크로드 영역을 다른 구독에 배포합니다. 컨트롤 플레인은 SAP 자동화 프레임워크의 관리 구성 요소를 호스트하는 허브 구독에 있어야 합니다.

SAP 시스템 전용 스포크 구독에서 SAP 시스템을 호스트합니다. 예를 들어 전용 가상 네트워크를 사용하여 별도의 구독에서 개발 시스템을 호스트할 수 있습니다. 프로덕션 시스템은 전용 가상 네트워크를 사용하여 자체 구독에 상주할 수 있습니다.

이 방법은 보안 경계와 의무 및 책임의 명확한 분리를 모두 제공합니다. 예를 들어, SAP Basis 팀은 시스템을 워크로드 영역에 배포할 수 있고 인프라 팀은 컨트롤 플레인을 관리할 수 있습니다.

컨트롤 플레인 계획

Azure Pipelines 또는 Azure 호스팅 Linux VM(가상 머신)에서 직접 제공된 셸 스크립트를 사용하여 배포 및 구성 작업을 수행합니다. 이 환경을 컨트롤 플레인이라고 합니다. 배포 프레임워크에 대한 Azure DevOps 설정하려면 SAP Deployment Automation Framework에 대한 Azure DevOps 설정 참조하세요. Linux VM을 배포자로 설정하려면 SAP 배포 자동화 프레임워크에 대한 Linux VM 설정을 참조하세요.

컨트롤 플레인을 디자인하기 전에 다음 질문을 고려하세요.

  • SAP 시스템을 배포해야 하는 지역은 어디인가요?
  • 컨트롤 플레인에 대한 전용 구독이 있나요?
  • 컨트롤 플레인에 대한 전용 배포 자격 증명(서비스 주체)이 있나요?
  • 기존 가상 네트워크가 있나요? 아니면 새 가상 네트워크가 필요한가요?
  • VM에 대해 아웃바운드 인터넷은 어떻게 제공합니까?
  • 아웃바운드 인터넷 연결을 위해 Azure Firewall 배포하시겠습니까?
  • 스토리지 계정과 Key Vault에 프라이빗 엔드포인트가 필요한가요?
  • VM에 대한 기존 private DNS 영역을 사용하거나 프라이빗 DNS 호스팅에 컨트롤 플레인을 사용하시겠습니까?
  • VM에 대한 보안 원격 액세스를 위해 Azure Bastion 사용하시겠습니까?
  • 구성 및 배포 작업을 수행하기 위해 SAP 배포 자동화 프레임워크 구성 웹 애플리케이션을 사용할 예정인가요?

제어 평면

컨트롤 플레인은 다음 서비스를 제공합니다.

  • Azure DevOps의 자체 호스팅 에이전트 역할을 하며, Terraform 배포 및 Ansible 구성을 수행하는 배포 VM.
  • 배포를 수행할 때 Terraform에서 사용된 배포 자격 증명(서비스 주체)이 포함된 키 볼트입니다.
  • 아웃바운드 인터넷 연결을 제공하는 Azure Firewall.
  • 배포된 VM에 대한 보안 원격 액세스를 제공하는 Azure Bastion.
  • SAP Deployment Automation Framework 구성은 Azure에서 구성 및 배포 작업을 수행하기 위한 웹 애플리케이션입니다.

컨트롤 플레인은 두 개의 구성 파일(배포자용 및 SAP 라이브러리용)을 사용하여 정의됩니다.

배포자 구성 파일은 지역, 환경 이름 및 가상 네트워크 정보를 정의합니다. 예시:

# Deployer Configuration File
environment = "MGMT"
location = "westeurope"

management_network_logical_name = "DEP01"

management_network_address_space = "10.170.20.0/24"
management_subnet_address_prefix = "10.170.20.64/28"

firewall_deployment = true
management_firewall_subnet_address_prefix = "10.170.20.0/26"

bastion_deployment = true
management_bastion_subnet_address_prefix = "10.170.20.128/26"

use_webapp = true

webapp_subnet_address_prefix = "10.170.20.192/27"
deployer_assign_subscription_permissions = true

deployer_count = 2

use_service_endpoint = false
use_private_endpoint = false
public_network_access_enabled = true

DNS 고려 사항

자동화 프레임워크에 대한 DNS 구성을 계획할 때 다음 질문을 고려합니다.

  • 솔루션이 통합할 수 있는 기존 프라이빗 DNS가 있나요 아니면 배포 환경을 위해 사용자 지정 프라이빗 DNS 영역을 사용해야 하나요?
  • VM에 미리 정의된 IP 주소를 사용할 것인가요, 아니면 Azure가 동적으로 할당하도록 할 건가요?

기존 프라이빗 DNS 영역과 통합하려면 파일에 다음 값을 tfvars 제공합니다.

management_dns_subscription_id = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
#management_dns_resourcegroup_name = "RESOURCEGROUPNAME"
use_custom_dns_a_registration = false

이러한 값이 없으면 SAP 라이브러리 리소스 그룹에 프라이빗 DNS 영역이 만들어집니다.

자세한 내용은 배포자를 구성하는 방법에 대한 자세한 설명을 참조하세요.

SAP 라이브러리 구성

SAP 라이브러리 리소스 그룹은 SAP 설치 미디어, 자재 명세서 파일, Terraform 상태 파일 및 선택적으로 프라이빗 DNS 영역을 위한 스토리지를 제공합니다. 구성 파일은 SAP 라이브러리의 지역 및 환경 이름을 정의합니다. 매개 변수 정보 및 예는 자동화를 위한 SAP 라이브러리 구성을 참조하세요.

워크로드 영역 계획

대부분의 SAP 애플리케이션 환경은 서로 다른 계층으로 분할됩니다. SAP 배포 자동화 프레임워크에서는 이러한 계층을 워크로드 영역이라고 합니다. 예를 들어 개발, 품질 보증 및 프로덕션 시스템에 대해 서로 다른 워크로드 영역이 있을 수 있습니다. 자세한 내용은 워크로드 영역을 참조하세요.

워크로드 영역은 SAP 애플리케이션에 대해 다음과 같은 공유 서비스를 제공합니다.

  • 가상 네트워크, 서브넷 및 네트워크 보안 그룹의 경우 Azure Virtual Network.
  • 가상 머신 및 SAP 시스템 자격 증명을 저장하기 위한 Azure Key Vault.
  • 부팅 진단 및 클라우드 감시용 Azure Storage 계정.
  • AZURE FILES 또는 Azure NetApp Files SAP 시스템에 대한 공유 스토리지입니다.

워크로드 영역 레이아웃을 디자인하기 전에 다음 질문을 고려하세요.

  • 워크로드를 배포해야 하는 지역은 무엇인가요?
  • 시나리오에 필요한 워크로드 영역(개발, 품질 보증 및 프로덕션)은 몇 개인가요?
  • 새 가상 네트워크에 배포하거나 기존 가상 네트워크를 사용하고 있나요?
  • 공유 스토리지(Azure Files NFS(네트워크 파일 공유) 또는 Azure NetApp Files)에 필요한 스토리지 유형은 무엇인가요?
  • 아웃바운드 인터넷 연결을 위해 NAT Gateway를 배포하실 건가요?

워크로드 영역의 기본 명명 규칙은 [ENVIRONMENT]-[REGIONCODE]-[NETWORK]-INFRASTRUCTURE입니다. 예를 들어, DEV-WEEU-SAP01-INFRASTRUCTURE는 SAP01 가상 네트워크를 사용하여 서유럽 지역에서 호스트되는 개발 환경용입니다. PRD-WEEU-SAP02-INFRASTRUCTURE는 SAP02 가상 네트워크를 사용하여 서유럽 지역에서 호스트되는 프로덕션 환경용입니다.

SAP01SAP02 지정은 Azure 가상 네트워크에 대한 논리적 이름을 정의합니다. 이를 사용하여 환경을 추가로 분할할 수 있습니다. 동일한 워크로드 영역에 두 개의 Azure 가상 네트워크가 필요하다고 가정합니다. 예를 들어, 두 구독에서 개발 환경을 호스팅하는 다중 구독 시나리오가 있을 수 있습니다. 각 가상 네트워크에 대해 서로 다른 논리적 이름을 사용할 수 있습니다. 예를 들어, DEV-WEEU-SAP01-INFRASTRUCTUREDEV-WEEU-SAP02-INFRASTRUCTURE를 사용할 수 있습니다.

자세한 내용은 자동화를 위한 워크로드 영역 배포 구성을 참조하세요.

Windows 기반 배포

Windows 기반 배포를 수행할 때 워크로드 영역의 가상 네트워크에 있는 VM은 Active Directory 통신하여 SAP VM을 Active Directory 도메인에 조인할 수 있어야 합니다. 제공된 DNS 이름은 Active Directory에 의해 해결될 수 있어야 합니다.

SAP Deployment Automation Framework는 Active Directory 계정을 만들지 않으므로 계정을 미리 만들고 워크로드 영역 키 자격 증명 모음에 저장해야 합니다.

자격 증명 이름 예시
도메인 가입 작업을 수행할 수 있는 계정 [IDENTIFIER]-ad-svc-account DEV-WEEU-SAP01-ad-svc-account
도메인 가입을 수행하는 계정의 암호 [IDENTIFIER]-ad-svc-account-password DEV-WEEU-SAP01-ad-svc-account-password
sidadm 계정 암호 [IDENTIFIER]-[SID]-win-sidadm_password_id DEV-WEEU-SAP01-W01-winsidadm_password_id
SID 서비스 계정 암호 [IDENTIFIER]-[SID]-svc-sidadm-password DEV-WEEU-SAP01-W01-svc-sidadm-password
SQL Server 서비스 계정 [IDENTIFIER]-[SID]-sql-svc-account DEV-WEEU-SAP01-W01-sql-svc-account
SQL Server 서비스 계정 암호 [IDENTIFIER]-[SID]-sql-svc-password DEV-WEEU-SAP01-W01-sql-svc-password
SQL Server 에이전트 서비스 계정 [IDENTIFIER]-[SID]-SQL 에이전트 계정 DEV-WEEU-SAP01-W01-sql-agent-account (SQL 에이전트 계정)
SQL Server 에이전트 서비스 계정 암호 [IDENTIFIER]-[SID]-sql-agent-password DEV-WEEU-SAP01-W01-sql-agent-password

DNS 설정

고가용성 시나리오의 경우 SAP 중앙 서비스 클러스터에 대한 Active Directory DNS 레코드가 필요합니다. DNS 레코드는 Active Directory DNS 영역에 만들어야 합니다. DNS 레코드 이름은 [sid]>scs[scs instance number]cl1로 정의됩니다. 예를 들어, 클러스터에는 w01scs00cl1이 사용되고 SID에는 W01, 인스턴스 번호에는 00이 사용됩니다.

자격 증명 관리

자동화 프레임워크는 인프라 배포에 서비스 주체를 사용합니다. 각 워크로드 영역에 대해 서로 다른 배포 자격 증명(서비스 주체)을 사용하는 것이 좋습니다. 프레임워크는 이러한 자격 증명을 배포자 키 자격 증명 모음에 저장합니다. 그런 다음, 프레임워크는 배포 프로세스 중에 이러한 자격 증명을 동적으로 검색합니다.

SAP 및 가상 머신 자격 증명 관리

자동화 프레임워크는 자동화 사용자 자격 증명과 SAP 시스템 자격 증명을 모두 저장하기 위해 워크로드 영역 키 자격 증명 모음을 사용합니다. 다음 표에는 가상 머신 자격 증명의 이름이 나열되어 있습니다.

자격 증명 이름 예시
프라이빗 키 [IDENTIFIER]-sshkey DEV-WEEU-SAP01-sid-sshkey
공개 키 [IDENTIFIER]-sshkey-pub DEV-WEEU-SAP01-sid-sshkey-pub
사용자 이름 [IDENTIFIER]-사용자 이름 DEV-WEEU-SAP01-sid-username
암호 [IDENTIFIER]-비밀번호 DEV-WEEU-SAP01-sid-password
sidadm 암호 [IDENTIFIER]-[SID]-sap-password DEV-WEEU-SAP01-X00-sap-password
sidadm 계정 암호 [IDENTIFIER]-[SID]-winsidadm_password_id DEV-WEEU-SAP01-W01-winsidadm_password_id
SID 서비스 계정 암호 [IDENTIFIER]-[SID]-svc-sidadm-password DEV-WEEU-SAP01-W01-svc-sidadm-password

서비스 주체 만들기

서비스 프린시펄을 생성하려면:

  1. 서비스 주체를 만들 수 있는 권한이 있는 계정으로 Azure CLI 로그인합니다.

  2. az ad sp create-for-rbac 명령을 실행하여 새 서비스 주체를 만듭니다. 에 대한 설명이 포함된 이름을 사용해야 합니다 --name. 예시:

    az ad sp create-for-rbac --role="Contributor" --scopes="/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e" --name="DEV-Deployment-Account"
    
  3. 출력을 기록해 둡니다. 다음 단계를 위해 애플리케이션 식별자(appId), 암호(password) 및 테넌트 식별자(tenant)가 필요합니다. 예시:

    {
        "appId": "00001111-aaaa-2222-bbbb-3333cccc4444",
        "displayName": "DEV-Deployment-Account",
        "name": "http://DEV-Deployment-Account",
        "password": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "tenant": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
    }
    
  4. 서비스 주체에 사용자 액세스 관리자 역할을 할당합니다. 예시:

    az role assignment create --assignee <your-application-ID> --role "User Access Administrator" --scope /subscriptions/<your-subscription-ID>/resourceGroups/<your-resource-group-name>
    

자세한 내용은 서비스 주체를 만들기 위한 Azure CLI 설명서를 참조하세요.

중요합니다

서비스 주체에 사용자 액세스 관리자 역할을 할당하지 않으면 자동화를 사용하여 권한을 할당할 수 없습니다.

권한 관리

잠긴 환경에서 서비스 주체에 다른 권한을 할당해야 할 수 있습니다. 예를 들어 서비스 주체에 사용자 액세스 관리자 역할을 할당해야 할 수 있습니다.

필요한 사용 권한

다음 표에서는 서비스 주체에 필요한 권한을 보여 줍니다.

자격 증명 영역 필요한 사용 권한 기간
컨트롤 플레인 SPN 컨트롤 플레인 구독 기여자
컨트롤 플레인 SPN 배포자 리소스 그룹 기여자
컨트롤 플레인 SPN 배포자 리소스 그룹 사용자 액세스 관리자 설정 중
컨트롤 플레인 SPN SAP 라이브러리 리소스 그룹 기여자
컨트롤 플레인 SPN SAP 라이브러리 리소스 그룹 사용자 액세스 관리자
워크로드 영역 SPN 대상 구독 기여자
워크로드 영역 SPN 워크로드 영역 리소스 그룹 기여자, 사용자 액세스 관리자
워크로드 영역 SPN 컨트롤 플레인 구독 판독기
워크로드 영역 SPN 컨트롤 플레인 가상 네트워크 네트워크 기여자
워크로드 영역 SPN SAP 라이브러리 tfstate 스토리지 계정 스토리지 계정 기여자
워크로드 영역 SPN SAP 라이브러리 sapbits 스토리지 계정 판독기
워크로드 영역 SPN 프라이빗 DNS 영역 프라이빗 DNS 영역 기여자
웹 애플리케이션 ID 대상 구독 판독기
클러스터 가상 머신 ID 리소스 그룹 보안 역할

방화벽 구성

구성 요소 주소 기간 참고
SDAF github.com/Azure/sap-automation, github.com/Azure/sap-automation-samples, githubusercontent.com 배포자 설정
Terraform (테라폼) releases.hashicorp.com registry.terraform.io checkpoint-api.hashicorp.com 배포자 설정 Terraform 설치를 참조하세요.
Azure CLI Azure CLI 설치 배포자 설정 및 배포 중 Azure CLI 설치에 대한 방화벽 요구 사항은 Installing Azure CLI에 정의되어 있습니다.
PIP bootstrap.pypa.io 배포자 설정 Ansible 설치를 참조하세요.
Ansible pypi.org, pythonhosted.org, files.pythonhosted.org, galaxy.ansible.comhttps://ansible-galaxy-ng.s3.dualstack.us-east-1.amazonaws.com 배포자 설정
PowerShell 갤러리 onegetcdn.azureedge.net psg-prod-centralus.azureedge.net psg-prod-eastus.azureedge.net Windows 기반 시스템 설정 PowerShell 갤러리 참조하세요.
Windows 구성 요소 download.visualstudio.microsoft.com download.visualstudio.microsoft.com download.visualstudio.com Windows 기반 시스템 설정 Visual Studio 구성 요소 참조하세요.
SAP 다운로드 softwaredownloads.sap.com                                    SAP 소프트웨어 다운로드 SAP 다운로드를 참조하세요.
Azure DevOps 에이전트 https://vstsagentpackage.azureedge.net                                   Azure DevOps 설정

Azure run-command 기능을 사용하는 PowerShell 스크립트를 사용하여 Azure Linux 가상 머신에서 URL에 대한 연결을 테스트합니다.

다음 예제에서는 대화형 PowerShell 스크립트를 사용하여 URL에 대한 연결을 테스트하는 방법을 보여줍니다.

$sdaf_path = Get-Location
if ( $PSVersionTable.Platform -eq "Unix") {
    if ( -Not (Test-Path "SDAF") ) {
      $sdaf_path = New-Item -Path "SDAF" -Type Directory
    }
}
else {
    $sdaf_path = Join-Path -Path $Env:HOMEDRIVE -ChildPath "SDAF"
    if ( -not (Test-Path $sdaf_path)) {
        New-Item -Path $sdaf_path -Type Directory
    }
}

Set-Location -Path $sdaf_path

git clone https://github.com/Azure/sap-automation.git

cd sap-automation
cd deploy
cd scripts

if ( $PSVersionTable.Platform -eq "Unix") {
 ./Test-SDAFURLs.ps1
}
else {
 .\Test-SDAFURLs.ps1
}

DevOps 구조

배포 프레임워크는 배포 아티팩트에 대해 세 개의 별도 리포지토리를 사용합니다. 사용자 고유한 매개 변수 파일의 경우 이러한 파일을 사용자가 관리하는 소스 제어 리포지토리에 보관하는 것이 가장 좋습니다.

주 저장소

이 리포지토리에는 Terraform 매개 변수 파일과 모든 워크로드 영역 및 시스템 배포에 대한 Ansible 플레이북에 필요한 파일이 포함되어 있습니다.

SAP 배포 자동화 프레임워크 부트스트랩 리포지토리를 소스 제어 리포지토리에 복제하여 이 리포지토리를 만듭니다.

중요합니다

이 리포지토리는 Azure DevOps 프로젝트의 기본 리포지토리여야 합니다.

폴더 구조

다음 샘플 폴더 계층 구조에서는 자동화 프레임워크 파일과 함께 구성 파일을 구성하는 방법을 보여 줍니다.

폴더 이름 목차 설명
BOMS (BOM의 시스템) BoM 파일 수동 BoM 다운로드에 사용됨
배치자 배포자에 대한 구성 파일 환경에서 관리하는 모든 배포에 대한 배포자 구성 파일이 있는 폴더입니다. 각 하위 폴더의 이름을 환경 - 지역 - Virtual Network 명명 규칙으로 지정합니다. 예를 들어 PROD-WEEU-DEP00-INFRASTRUCTURE입니다.
도서관 SAP 라이브러리에 대한 구성 파일 환경에서 관리하는 모든 배포에 대한 SAP 라이브러리 구성 파일이 있는 폴더입니다. 각 하위 폴더의 이름을 환경 - 지역 - Virtual Network 명명 규칙으로 지정합니다. 예를 들어 PROD-WEEU-SAP-LIBRARY입니다.
LANDSCAPE 워크로드 영역에 대한 구성 파일 환경에서 관리하는 모든 워크로드 영역에 대한 구성 파일이 있는 폴더입니다. 각 하위 폴더의 이름을 명명 규칙 Environment - Region - Virtual Network 지정합니다. 예를 들어 PROD-WEEU-SAP00-INFRASTRUCTURE입니다.
시스템 SAP 시스템에 대한 구성 파일 환경에서 관리하는 모든 SAP SID(시스템 식별) 배포를 위한 구성 파일이 있는 폴더입니다. 각 하위 폴더의 이름을 명명 규칙 Environment - Region - Virtual Network - SID 지정합니다. 예를 들어 PROD-WEEU-SAPO00-ABC입니다.

SAP HANA 및 여러 워크로드 환경에 대한 별도의 폴더가 있는 예제 폴더 구조의 스크린샷.

매개 변수 파일의 이름은 Terraform 상태 파일의 이름이 됩니다. 이러한 이유로 고유한 매개 변수 파일 이름을 사용해야 합니다.

코드 리포지토리

이 리포지토리에는 Terraform 자동화 템플릿, Ansible 플레이북, 배포 파이프라인 및 스크립트가 포함되어 있습니다. 대부분의 사용 사례에서는 이 리포지토리를 읽기 전용으로 간주하고 수정하지 마세요.

이 리포지토리를 만들려면 SAP 배포 자동화 프레임워크 리포지토리를 소스 제어 리포지토리에 복제합니다.

이 리포지토리의 이름을 sap-automation으로 지정합니다.

샘플 리포지토리

이 리포지토리에는 샘플 자재 명세서 파일 및 샘플 Terraform 구성 파일이 포함되어 있습니다.

이 리포지토리를 만들려면 SAP Deployment Automation Framework 샘플 리포지토리를 소스 제어 리포지토리에 복제합니다.

이 리포지토리의 이름을 samples으로 지정합니다.

지원되는 배포 시나리오

자동화 프레임워크는 새로운 시나리오와 기존 시나리오 모두에 배포를 지원합니다.

Azure 지역

솔루션을 배포하기 전에 사용할 Azure 지역을 고려해야 합니다. 특정 시나리오에 따라 다른 Azure 지역이 범위에 있을 수 있습니다.

자동화 프레임워크는 여러 Azure 지역에 대한 배포를 지원합니다. 각 지역은 다음을 호스트합니다.

  • 배포 인프라.
  • 상태 파일 및 설치 미디어가 있는 SAP 라이브러리
  • 1-N 워크로드 영역.
  • 워크로드 영역의 1-N SAP 시스템입니다.

배포 환경

한 지역에서 여러 워크로드 영역을 지원하는 경우 배포 환경 및 SAP 라이브러리에 대한 고유 식별자를 사용합니다. 워크로드 영역에 식별자를 사용하지 마세요. 예를 들어 관리 목적으로 MGMT를 사용합니다.

자동화 프레임워크는 배포 환경과 SAP 라이브러리를 워크로드 영역과 별도의 구독에 포함하는 것도 지원합니다.

배포 환경에서는 다음 서비스를 제공합니다.

  • 하나 이상의 배포 VM- Terraform을 사용하여 인프라 배포를 수행하고 Ansible 플레이북을 사용하여 시스템 구성 및 SAP 설치를 수행합니다.
  • Terraform 배포에서 사용할 서비스 주체 ID 정보가 포함된 키 자격 증명 저장소입니다.
  • 아웃바운드 인터넷 연결을 제공하는 Azure Firewall 구성 요소입니다.

배포 구성 파일은 지역, 환경 이름 및 가상 네트워크 정보를 정의합니다. 예시:

# 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 구성에는 다양한 애플리케이션 계층에 대한 여러 워크로드 영역이 있습니다. 예를 들어 개발, 품질 보증 및 프로덕션에 대해 서로 다른 워크로드 영역이 있을 수 있습니다.

각 워크로드 영역에서 다음 서비스를 만들거나 이에 대한 액세스 권한을 부여합니다.

  • Azure 가상 네트워크, 즉 가상 네트워크, 서브넷 및 네트워크 보안 그룹입니다.
  • 시스템 자격 증명 및 배포 서비스 주체에 대한 Azure Key Vault.
  • Azure Storage 계정은 부팅 진단 및 클라우드 감시를 위해 사용됩니다.
  • AZURE FILES 또는 Azure NetApp Files SAP 시스템에 대한 공유 스토리지입니다.

워크로드 영역 레이아웃을 디자인하기 전에 다음 질문을 고려하세요.

  • 시나리오에 필요한 워크로드 영역은 몇 개인가요?
  • 워크로드를 배포해야 하는 지역은 무엇인가요?
  • 귀하의 배포 시나리오는 무엇인가요?

자세한 내용은 자동화를 위한 워크로드 영역 배포 구성을 참조하세요.

SAP 시스템 설정

SAP 시스템에는 SAP 애플리케이션을 호스트하는 데 필요한 모든 Azure 구성 요소가 포함되어 있습니다.

SAP 시스템을 구성하기 전에 다음 질문을 고려하세요.

  • 어떤 데이터베이스 백 엔드를 사용하려고 하나요?
  • 얼마나 많은 데이터베이스 서버가 필요하십니까?
  • 시나리오에 고가용성이 필요한가요?
  • 얼마나 많은 애플리케이션 서버가 필요한가요?
  • 필요한 웹 디스패처는 몇 명인가요?
  • 필요한 중앙 서비스 인스턴스는 몇 개 인가요?
  • 어떤 크기의 가상 머신이 필요하나요?
  • 어떤 가상 머신 이미지를 사용하려고 하나요? 이미지가 Azure Marketplace 또는 사용자 지정에 있나요?
  • 새 배포 시나리오 또는 기존 배포 시나리오에 배포 중인가요?
  • 사용자의 IP 할당 전략은 무엇인가요? Azure IP를 설정하거나 사용자 지정 설정을 사용하시겠습니까?

자세한 내용은 자동화를 위한 SAP 시스템 구성을 참조하세요.

배포 흐름

배포를 계획할 때 전체 흐름을 고려해야 합니다. 자동화 프레임워크를 사용하여 Azure SAP 배포의 세 가지 주요 단계가 있습니다.

  1. 컨트롤 플레인을 배포합니다. 이 단계에서는 지정된 Azure 지역에서 SAP 자동화 프레임워크를 지원하기 위해 구성 요소를 배포합니다.

    1. 배포 환경을 만듭니다.
    2. Terraform 상태 파일을 위한 공유 스토리지를 만듭니다.
    3. SAP 설치 미디어용 공유 스토리지를 만듭니다.
  2. 워크로드 영역을 배포합니다. 이 단계에서는 가상 네트워크 및 키 자격 증명 모음과 같은 워크로드 영역 구성 요소를 배포합니다.

  3. 시스템을 배포합니다. 이 단계에는 SAP 시스템을 위한 인프라 배포와 SAP 구성 및 SAP 설치가 포함됩니다.

명명 규칙

자동화 프레임워크는 기본 명명 규칙을 사용합니다. 사용자 지정 명명 규칙을 사용하려면 배포 전에 사용자 지정 이름을 계획하고 정의합니다. 자세한 내용은 명명 규칙 구성을 참조하세요.

디스크 크기 조정

사용자 지정 디스크 크기를 구성하려면 배포 전에 사용자 지정 설정을 계획해야 합니다.