SAP 자동화 프레임워크 배포 계획
SAP 배포 자동화 프레임워크를 사용하여 SAP 배포를 계획하는 데는 여러 가지 고려 사항이 있습니다. 여기에는 구독 계획, 자격 증명 관리되는 가상 네트워크 디자인이 포함됩니다.
일반 Azure의 SAP 디자인 고려 사항은 SAP 도입 시나리오 소개를 참조하세요.
참고 항목
Terraform 배포는 SAP 배포 자동화 프레임워크 리포지토리에서 Microsoft가 제공하는 Terraform 템플릿을 사용합니다. 템플릿은 시스템별 정보가 포함된 매개 변수 파일을 사용하여 배포를 수행합니다.
구독 계획
컨트롤 플레인과 워크로드 영역을 서로 다른 구독에 배포해야 합니다. 컨트롤 플레인은 SAP 자동화 프레임워크의 관리 구성 요소를 호스팅하는 데 사용되는 허브 구독에 있어야 합니다.
SAP 시스템은 SAP 시스템 전용인 스포크 구독에서 호스트되어야 합니다. 시스템을 분할하는 예는 전용 가상 네트워크를 사용하여 별도의 구독에서 개발 시스템을 호스트하는 것이며, 프로덕션 시스템은 전용 가상 네트워크를 사용하여 자체 구독에서 호스트됩니다.
이 방식은 보안 경계를 제공하고 의무와 책임을 명확하게 분리합니다. 예를 들어, SAP Basis 팀은 시스템을 워크로드 영역에 배포할 수 있고 인프라 팀은 컨트롤 플레인을 관리할 수 있습니다.
컨트롤 플레인 계획
Azure Pipelines 또는 Azure 호스팅 Linux 가상 머신에서 직접 제공된 셸 스크립트를 사용하여 배포 및 구성 작업을 수행할 수 있습니다. 이 환경을 컨트롤 플레인이라고 합니다. 배포 프레임워크용 Azure DevOps를 설정하려면 SAP 배포 자동화 프레임워크용 Azure DevOps 설정을 참조하세요. Linux 가상 머신을 배포자로 설정하려면 SAP 배포 자동화 프레임워크용 Linux 가상 머신 설정을 참조하세요.
컨트롤 플레인을 디자인하기 전에 다음 질문을 고려하세요.
- SAP 시스템을 배포해야 하는 지역은 어디인가요?
- 컨트롤 플레인에 대한 전용 구독이 있나요?
- 컨트롤 플레인에 대한 전용 배포 자격 증명(서비스 주체)이 있나요?
- 기존 가상 네트워크가 있나요? 아니면 새 가상 네트워크가 필요한가요?
- 가상 머신에 대한 아웃바운드 인터넷은 어떻게 제공되나요?
- 아웃바운드 인터넷 연결을 위해 Azure Firewall을 배포하시겠나요?
- 스토리지 계정 및 키 자격 증명 모음에 프라이빗 엔드포인트가 필요하나요?
- 가상 머신에 기존 프라이빗 DNS 영역을 사용할 예정인가요, 아니면 프라이빗 DNS 호스팅을 위해 컨트롤 플레인을 사용하실 건가요?
- 가상 머신에 대한 보안 원격 액세스를 위해 Azure Bastion을 사용하실 건가요?
- 구성 및 배포 작업을 수행하기 위해 SAP 배포 자동화 프레임워크 구성 웹 애플리케이션을 사용할 예정인가요?
제어 평면
컨트롤 플레인은 다음 서비스를 제공합니다.
- Terraform 배포 및 Ansible 구성을 수행하는 배포 VM Azure DevOps 자체 호스팅 에이전트 역할을 합니다.
- 배포를 수행할 때 Terraform에서 사용된 배포 자격 증명(서비스 주체)이 포함된 키 자격 증명 모음입니다.
- 아웃바운드 인터넷 연결을 제공하는 Azure Firewall.
- 배포된 가상 머신에 대한 보안 원격 액세스를 제공하기 위한 Azure Bastion입니다.
- 구성 및 배포 작업을 수행하기 위한 SAP 배포 자동화 프레임워크 구성 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 영역을 사용해야 하나요?
- 가상 머신에 미리 정의된 IP 주소를 사용하거나 Azure에서 동적으로 할당하도록 하실 건가요?
tfvars
파일에 다음 값을 제공하여 기존 프라이빗 DNS 영역과 통합할 수 있습니다.
management_dns_subscription_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
#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 Networks
- 가상 머신 및 SAP 시스템 자격 증명을 저장하기 위한 Azure Key Vault.
- 부팅 진단 및 클라우드 감시를 위한 Azure Storage 계정
- SAP 시스템용 공유 스토리지(Azure Files 또는 Azure NetApp Files).
워크로드 영역 레이아웃을 디자인하기 전에 다음 질문을 고려하세요.
- 워크로드를 배포해야 하는 지역은 무엇인가요?
- 시나리오에 필요한 워크로드 영역(개발, 품질 보증 및 프로덕션)은 몇 개인가요?
- 새 가상 네트워크에 배포하거나 기존 가상 네트워크를 사용하고 있나요?
- 공유 스토리지에 필요한 스토리지 유형(Azure Files NFS 또는 Azure NetApp Files)은 무엇인가요?
- 아웃바운드 인터넷 연결을 위해 NAT Gateway를 배포하실 건가요?
워크로드 영역의 기본 명명 규칙은 [ENVIRONMENT]-[REGIONCODE]-[NETWORK]-INFRASTRUCTURE
입니다. 예를 들어, DEV-WEEU-SAP01-INFRASTRUCTURE
는 SAP01 가상 네트워크를 사용하여 서유럽 지역에서 호스트되는 개발 환경용입니다. PRD-WEEU-SAP02-INFRASTRUCTURE
는 SAP02 가상 네트워크를 사용하여 서유럽 지역에서 호스트되는 프로덕션 환경용입니다.
SAP01
및 SAP02
지정은 Azure Virtual Network의 논리적 이름을 정의합니다. 이를 사용하여 환경을 추가로 분할할 수 있습니다. 동일한 워크로드 영역에 대해 두 개의 Azure 가상 네트워크가 필요하다고 가정합니다. 예를 들어, 두 구독에서 개발 환경을 호스팅하는 다중 구독 시나리오가 있을 수 있습니다. 각 가상 네트워크에 대해 서로 다른 논리적 이름을 사용할 수 있습니다. 예를 들어, DEV-WEEU-SAP01-INFRASTRUCTURE
및 DEV-WEEU-SAP02-INFRASTRUCTURE
를 사용할 수 있습니다.
자세한 내용은 자동화를 위한 워크로드 영역 배포 구성을 참조하세요.
Windows 기반 배포
Windows 기반 배포를 수행하는 경우 워크로드 영역의 가상 네트워크에 있는 가상 머신은 SAP 가상 머신을 Active Directory 도메인에 조인하기 위해 Active Directory와 통신할 수 있어야 합니다. 제공된 DNS 이름은 Active Directory에서 확인할 수 있어야 합니다.
SAP 배포 자동화 프레임워크는 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 서버 서비스 계정 암호 | [IDENTIFIER]-[SID]-sql-svc-password | DEV-WEEU-SAP01-W01-sql-svc-password |
SQL Server 에이전트 서비스 계정 | [IDENTIFIER]-[SID]-sql-agent-account | DEV-WEEU-SAP01-W01-sql-agent-account |
SQL Server 에이전트 서비스 계정 암호 | [IDENTIFIER]-[SID]-sql-agent-password | DEV-WEEU-SAP01-W01-sql-agent-password |
DNS 설정
고가용성 시나리오의 경우 SAP Central Services 클러스터용 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]-username | DEV-WEEU-SAP01-sid-username |
암호 | [IDENTIFIER]-password | 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 |
서비스 주체 만들기
서비스 주체를 만들려면:
서비스 주체를 만들 수 있는 권한이 있는 계정으로 Azure CLI에 로그인합니다.
az ad sp create-for-rbac
명령을 실행하여 새 서비스 주체를 만듭니다.--name
에 대한 설명 이름을 사용해야 합니다. 예시:az ad sp create-for-rbac --role="Contributor" --scopes="/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" --name="DEV-Deployment-Account"
출력을 기록해 둡니다. 다음 단계를 위해 애플리케이션 식별자(
appId
), 암호(password
) 및 테넌트 식별자(tenant
)가 필요합니다. 예시:{ "appId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "displayName": "DEV-Deployment-Account", "name": "http://DEV-Deployment-Account", "password": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "tenant": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" }
서비스 주체에 사용자 액세스 관리자 역할을 할당합니다. 예시:
az role assignment create --assignee <your-application-ID> --role "User Access Administrator" --scope /subscriptions/<your-subscription-ID>/resourceGroups/<your-resource-group-name>
자세한 내용은 서비스 주체를 만들기 위한 Azure CLI 설명서를 참조하세요.
Important
서비스 주체에 사용자 액세스 관리자 역할을 할당하지 않으면 자동화를 사용하여 권한을 할당할 수 없습니다.
권한 관리
잠긴 환경에서 서비스 주체에 다른 권한을 할당해야 할 수 있습니다. 예를 들어 서비스 주체에 사용자 액세스 관리자 역할을 할당해야 할 수 있습니다.
필요한 사용 권한
다음 표에서는 서비스 주체에 필요한 권한을 보여 줍니다.
자격 증명 | 지역 | 필요한 사용 권한 | 기간 |
---|---|---|---|
컨트롤 플레인 SPN | 컨트롤 플레인 구독 | 참가자 | |
컨트롤 플레인 SPN | 배포자 리소스 그룹 | 참가자 | |
컨트롤 플레인 SPN | 배포자 리소스 그룹 | 사용자 액세스 관리자 | 설정 중 |
컨트롤 플레인 SPN | SAP 라이브러리 리소스 그룹 | 참가자 | |
컨트롤 플레인 SPN | SAP 라이브러리 리소스 그룹 | 사용자 액세스 관리자 | |
워크로드 영역 SPN | 대상 구독 | 참가자 | |
워크로드 영역 SPN | 워크로드 영역 리소스 그룹 | 기여자, 사용자 액세스 관리자 | |
워크로드 영역 SPN | 컨트롤 플레인 구독 | 판독기 | |
워크로드 영역 SPN | 컨트롤 플레인 가상 네트워크 | 네트워크 기여자 | |
워크로드 영역 SPN | SAP 라이브러리 tfstate 스토리지 계정 |
스토리지 계정 기여자 | |
워크로드 영역 SPN | SAP 라이브러리 sapbits 스토리지 계정 |
판독기 | |
워크로드 영역 SPN | 프라이빗 DNS 영역 | 프라이빗 DNS 영역 기여자 | |
웹 애플리케이션 ID | 대상 구독 | 판독기 | |
클러스터 가상 머신 ID | Resource group | 펜싱 역할 |
방화벽 구성
구성 요소 | 주소 | 기간 | 주의 |
---|---|---|---|
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 설치를 위한 방화벽 요구 사항은 Azure CLI 설치에 정의되어 있습니다. |
PIP | bootstrap.pypa.io |
배포자 설정 | Ansible 설치를 참조하세요. |
Ansible | pypi.org , pythonhosted.org , files.pythonhosted.org , galaxy.ansible.com 'https://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' 기능을 사용하여 URL에 대한 연결을 테스트하는 PowerShell 스크립트를 사용하여 Azure의 Linux Virtual Machine에서 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 배포 자동화 프레임워크 부트스트랩 리포지토리를 소스 제어 리포지토리에 복제하여 이 리포지토리를 만들 수 있습니다.
Important
이 리포지토리는 Azure DevOps 프로젝트의 기본 리포지토리여야 합니다.
폴더 구조
다음 샘플 폴더 계층 구조에서는 자동화 프레임워크 파일과 함께 구성 파일을 구성하는 방법을 보여 줍니다.
폴더 이름 | 콘텐츠 | 설명 |
---|---|---|
BOMS | BoM 파일 | 수동 BoM 다운로드에 사용됨 |
DEPLOYER | 배포자에 대한 구성 파일 | 환경에서 관리하는 모든 배포에 대한 배포자 구성 파일이 있는 폴더입니다. 환경 - 지역 - 가상 네트워크의 명명 규칙에 따라 각 하위 폴더의 이름을 지정합니다. 예를 들어 PROD-WEEU-DEP00-INFRASTRUCTURE입니다. |
LIBRARY | SAP 라이브러리에 대한 구성 파일 | 환경에서 관리하는 모든 배포에 대한 SAP 라이브러리 구성 파일이 있는 폴더입니다. 환경 - 지역 - 가상 네트워크의 명명 규칙에 따라 각 하위 폴더의 이름을 지정합니다. 예를 들어 PROD-WEEU-SAP-LIBRARY입니다. |
LANDSCAPE | 워크로드 영역에 대한 구성 파일 | 환경에서 관리하는 모든 워크로드 영역에 대한 구성 파일이 있는 폴더입니다. 환경 - 지역 - 가상 네트워크의 명명 규칙에 따라 각 하위 폴더의 이름을 지정합니다. 예를 들어 PROD-WEEU-SAP00-INFRASTRUCTURE입니다. |
SYSTEM | SAP 시스템에 대한 구성 파일 | 환경에서 관리하는 모든 SAP SID(시스템 식별) 배포를 위한 구성 파일이 있는 폴더입니다. 환경 - 지역 - 가상 네트워크 - SID 명명 규칙에 따라 각 하위 폴더의 이름을 지정합니다. 예를 들어 PROD-WEEU-SAPO00-ABC입니다. |
매개 변수 파일의 이름은 Terraform 상태 파일의 이름이 됩니다. 이러한 이유로 고유한 매개 변수 파일 이름을 사용해야 합니다.
코드 리포지토리
이 리포지토리에는 Terraform 자동화 템플릿, Ansible 플레이북, 배포 파이프라인 및 스크립트가 포함되어 있습니다. 대부분의 사용 사례에서는 이 리포지토리를 읽기 전용으로 간주하고 수정하지 마세요.
이 리포지토리를 만들려면 SAP 배포 자동화 프레임워크 리포지토리를 소스 제어 리포지토리에 복제합니다.
이 리포지토리의 이름을 sap-automation
으로 지정합니다.
샘플 리포지토리
이 리포지토리에는 샘플 제품 구성 정보 및 샘플 Terraform 구성 파일이 포함되어 있습니다.
이 리포지토리를 만들려면 SAP 배포 자동화 프레임워크 샘플 리포지토리를 소스 제어 리포지토리에 복제합니다.
이 리포지토리의 이름을 samples
으로 지정합니다.
지원되는 배포 시나리오
자동화 프레임워크는 새로운 시나리오와 기존 시나리오 모두에 배포를 지원합니다.
Azure 지역
솔루션을 배포하기 전에 사용할 Azure 지역을 고려하는 것이 중요합니다. 특정 시나리오에 따라 다른 Azure 지역이 범위에 포함될 수 있습니다.
자동화 프레임워크는 여러 Azure 지역에서의 배포를 지원합니다. 각 지역은 다음을 호스트합니다.
- 배포 인프라.
- 상태 파일 및 설치 미디어가 있는 SAP 라이브러리
- 1-N 워크로드 영역입니다.
- 워크로드 영역의 1-N SAP 시스템입니다.
배포 환경
한 지역에서 여러 워크로드 영역을 지원하는 경우 배포 환경 및 SAP 라이브러리에 대한 고유 식별자를 사용합니다. 워크로드 영역에 식별자를 사용하지 마세요. 예를 들어 관리 목적으로 MGMT
를 사용합니다.
자동화 프레임워크는 배포 환경과 SAP 라이브러리를 워크로드 영역과 별도의 구독에 포함하는 것도 지원합니다.
배포 환경에서는 다음 서비스를 제공합니다.
- 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 Virtual Networks
- 시스템 자격 증명 및 배포 서비스 주체에 대한 Azure Key Vault
- 부팅 진단 및 클라우드 감시를 위한 Azure Storage 계정
- SAP 시스템용 공유 스토리지(Azure Files 또는 Azure NetApp Files).
워크로드 영역 레이아웃을 디자인하기 전에 다음 질문을 고려하세요.
- 시나리오에 필요한 워크로드 영역은 몇 개인가요?
- 워크로드를 배포해야 하는 지역은 무엇인가요?
- 귀하의 배포 시나리오는 무엇인가요?
자세한 내용은 자동화를 위한 워크로드 영역 배포 구성을 참조하세요.
SAP 시스템 설정
SAP 시스템에는 SAP 애플리케이션을 호스트하는 데 필요한 모든 Azure 구성 요소가 포함되어 있습니다.
SAP 시스템을 구성하기 전에 다음 질문을 고려하세요.
- 어떤 데이터베이스 백 엔드를 사용하려고 하나요?
- 얼마나 많은 대상 서버가 필요하십니까?
- 시나리오에 고가용성이 필요한가요?
- 얼마나 많은 애플리케이션 서버가 필요한가요?
- 필요한 웹 디스패처는 몇 명인가요?
- 필요한 중앙 서비스 인스턴스는 몇 개 인가요?
- 어떤 크기의 가상 머신이 필요하나요?
- 어떤 가상 머신 이미지를 사용하려고 하나요? Azure Marketplace 또는 사용자 지정 이미지인가요?
- 새 배포 시나리오 또는 기존 배포 시나리오에 배포 중인가요?
- 사용자의 IP 할당 전략은 무엇인가요? Azure에서 IP를 설정하거나 사용자 지정 설정을 사용하시겠습니까?
자세한 내용은 자동화를 위한 SAP 시스템 구성을 참조하세요.
배포 흐름
배포를 계획할 때 전체 흐름을 고려해야 합니다. 자동화 프레임워크를 통해 Azure에 SAP를 배포하기 위한 세 가지 주요 단계가 있습니다.
컨트롤 플레인을 배포합니다. 이 단계에서는 지정된 Azure 지역에서 SAP 자동화 프레임워크를 지원하는 구성 요소를 배포합니다.
- 배포 환경을 만듭니다.
- Terraform 상태 파일을 위한 공유 스토리지를 만듭니다.
- SAP 설치 미디어용 공유 스토리지를 만듭니다.
워크로드 영역을 배포합니다. 이 단계에서는 가상 네트워크 및 키 자격 증명 모음과 같은 워크로드 영역 구성 요소를 배포합니다.
시스템을 배포합니다. 이 단계에는 SAP 시스템을 위한 인프라 배포와 SAP 구성 및 SAP 설치가 포함됩니다.
명명 규칙
자동화 프레임워크는 기본 명명 규칙을 사용합니다. 사용자 지정 명명 규칙을 사용하려면 배포 전에 사용자 지정 이름을 계획하고 정의합니다. 자세한 내용은 명명 규칙 구성을 참조하세요.
디스크 크기 조정
사용자 지정 디스크 크기를 구성하려면 배포 전에 사용자 지정 설정을 계획해야 합니다.