SAP 애플리케이션에서 네트워크 대기 시간을 최적화하기 위한 Azure 근접 배치 그룹

중요

2021년 11월에 Microsoft는 영역 배포에서 SAP 워크로드와 함께 근접 배치 그룹을 사용하는 방식을 크게 변경했습니다.

SAP NetWeaver 또는 SAP S/4HANA 아키텍처를 기반으로 하는 SAP 애플리케이션은 SAP 애플리케이션 계층과 SAP 데이터베이스 계층 간의 네트워크 대기 시간에 민감합니다. 이러한 민감도는 애플리케이션 레이어에서 실행되는 대부분의 비즈니스 논리에 따른 결과입니다. SAP 애플리케이션 레이어는 비즈니스 논리를 실행하므로 데이터베이스 계층에 대한 쿼리를 초당 수천 또는 수만 개 속도의 높은 빈도로 실행합니다. 대부분의 경우 이러한 쿼리의 특성은 간단합니다. 즉 데이터베이스 계층에서 500마이크로초 이하로 실행되는 경우가 많습니다.

네트워크에서 이러한 쿼리를 애플리케이션 계층에서 데이터베이스 계층으로 보내고 결과 집합을 다시 받는 데 걸리는 시간은 비즈니스 프로세스를 실행하는 데 걸리는 시간에 큰 영향을 줍니다. 네트워크 대기 시간에 대한 이러한 민감도로 인해 SAP 배포 프로젝트에서 특정 최소 네트워크 대기 시간을 달성하려고 할 수 있습니다. 네트워크 대기 시간을 분류하는 방법에 대한 지침은 SAP Note #1100926 - FAQ: 네트워크 성능을 참조하세요.

많은 Azure 지역에서 데이터 센터의 수가 증가했습니다. 동시에, 특히 고급형 SAP 시스템의 고객은 M- 또는 Mv2 제품군과 같은 더 특별한 VM 제품군을 사용하거나 드물게 HANA 대규모 인스턴스를 사용하고 있습니다. 이러한 Azure Virtual Machines 형식은 Azure 지역으로 수집되는 각 데이터 센터에서 항상 사용할 수 있는 것은 아닙니다. 이러한 사실은 SAP 애플리케이션 레이어와 SAP DBMS 레이어 간의 네트워크 대기 시간을 최적화할 수 있는 기회를 창출할 수 있습니다.

Azure는 네트워크 대기 시간을 최적화할 수 있도록 근접 배치 그룹을 제공합니다. 근접 배치 그룹을 사용하여 단일 네트워크 스파인 아래에서 서로 다른 VM 형식을 강제로 그룹화할 수 있으며, 이는 아직까지 제공되지 않은 이러한 서로 다른 VM 형식 간에 충분한 낮은 네트워크 대기 시간을 제공합니다. 이러한 근접 배치 그룹에 첫 번째 VM을 배포하는 과정에서 VM은 특정 네트워크 스파인에 바인딩됩니다. 동일한 근접 배치 그룹에 배포할 다른 모든 VM과 마찬가지로 해당 VM은 동일한 네트워크 스파인 아래에 그룹화됩니다. 이 전망만큼 매력적일 수 있지만 이러한 구성을 사용하는 경우에도 다음과 같은 몇 가지 제한 사항 및 문제가 대두되었습니다.

  • 모든 Azure VM 형식이 모든 Azure 데이터 센터 또는 모든 네트워크 스파인 아래에서 사용 가능하다고 가정할 수 없습니다. 결과적으로 하나의 근접 배치 그룹 내에서 서로 다른 VM 형식의 조합이 심각하게 제한될 수 있습니다. 이러한 제한은 특정 VM 형식을 실행하는 데 필요한 호스트 하드웨어가 근접 배치 그룹이 할당된 데이터 센터 또는 네트워크 스파인 아래에 없을 수 있기 때문에 발생합니다.
  • 하나의 근접 배치 그룹 내에 있는 VM 부분의 크기를 조정하면 모든 경우에 동일한 데이터 센터 또는 근접 배치 그룹이 할당된 네트워크 스파인에서 새 VM 형식을 사용할 수 있다고 자동으로 가정할 수 없습니다.
  • Azure가 하드웨어를 폐기할 때 근접 배치 그룹의 특정 VM을 다른 Azure 데이터 센터 또는 다른 네트워크 스파인으로 강제로 이동할 수 있습니다. 이 사례에 대한 자세한 내용은 근접 배치 그룹 문서를 참조하세요.

중요

잠재적인 제한으로 인해 근접 배치 그룹만 사용해야 합니다.

  • 특정 시나리오에서 필요한 경우(나중에 참조)
  • 애플리케이션 계층과 DBMS 계층 간의 네트워크 대기 시간이 너무 길어 워크로드에 영향을 미치는 경우
  • 전체 시스템 환경 또는 전체 SAP 환경이 아닌 단일 SAP 시스템의 세분성에서만
  • 다른 VM 유형과 근접 배치 그룹 내의 VM 수를 최소로 유지하는 방식에서

지금까지 근접 배치 그룹을 사용한 시나리오는 다음과 같습니다.

  • 가용성 집합이 있는 SAP 워크로드 배포. 여기서 SAP 데이터베이스 계층, SAP 애플리케이션 계층 및 ASCS/SCS VM은 서로 다른 세 가지 가용성 집합으로 그룹화되었습니다. 이 경우 Azure 지역에 따라 SAP 워크로드에 부정적인 영향을 줄 수 있는 네트워크 대기 시간이 발생할 수 있으므로 가용성 집합이 전체 Azure 지역에 분산되지 않았는지 확인하려고 했습니다.
  • SAP 워크로드의 중요한 리소스를 다양한 가용성 영역에 배포하고 싶었고, 다른 한편으로는 각 영역에 있는 애플리케이션 계층의 VM이 가용 집합을 사용하여 서로 다른 장애 도메인에 분산되도록 하고 싶었습니다. 이 경우 나중에 문서에서 설명한 대로 근접 배치 그룹은 필요한 접착제입니다.
  • 근접 배치 그룹을 사용하여 VM을 함께 그룹화하여 VM에서 호스팅되는 서비스 간에 최적의 네트워크 대기 시간을 달성했습니다.

배포 시나리오 #1의 경우 많은 지역, 특히 가용성 영역이 없는 지역과 가용성 영역이 있는 대부분의 지역에서 VM이 있는 위치에 관계없이 네트워크 대기 시간이 허용됩니다. 근접 배치 그룹을 사용하지 않고 세 가지 다른 가용성 집합을 배치하지 않고는 충분히 좋은 환경을 제공할 수 없는 Azure의 일부 지역이 있습니다. 배포 시나리오 #2와 관련하여 이 문서의 다음 섹션에서 근접 배치 그룹을 사용하는 다른 방법을 권장합니다.

근접 배치 그룹이란?

Azure 근접 배치 그룹은 논리적 구조입니다. 근접 배치 그룹이 정의되면 Azure 지역 및 Azure 리소스 그룹에 바인딩됩니다. VM이 배포되면 다음에서 근접 배치 그룹을 참조합니다.

  • Azure 컴퓨팅 단위가 많고 네트워크 대기 시간이 짧은 네트워크 스파인 아래에 배포된 첫 번째 Azure VM입니다. 이러한 네트워크 스파인은 종종 단일 Azure 데이터 센터와 일치합니다. 첫 번째 가상 머신은 결국 배포 매개 변수와 결합되는 Azure 할당 알고리즘을 기반으로 하는 컴퓨팅 확장 단위에 배포되는 "범위 VM"으로 생각할 수 있습니다.
  • 근접 배치 그룹을 참조하는 배포된 모든 후속 VM은 첫 번째 가상 머신과 동일한 네트워크 스파인 아래에 배포됩니다.

참고

첫 번째 VM이 배치된 네트워크 스파인에서 특정 VM 형식을 실행할 수 있는 호스트 하드웨어가 배포되지 않은 경우 요청한 VM 형식의 배포가 성공하지 못합니다. 근접 배치 그룹의 경계 내에서 VM을 지원할 수 없음을 나타내는 할당 실패 메시지가 표시됩니다.

하나의 Azure 리소스 그룹에 여러 근접 배치 그룹을 할당할 수 있습니다. 그러나 근접 배치 그룹은 하나의 Azure 리소스 그룹에만 할당할 수 있습니다.

Azure VM만 사용하는 SAP 시스템이 포함된 근접 배치 그룹

이 섹션에서는 지금까지 사용된 배포 아키텍처와 새로운 권장 사항을 살펴봅니다.

영역 배포가 있는 근접 배치 그룹

HANA 대규모 인스턴스를 사용하지 않는 배포의 경우 SAP 애플리케이션 계층과 DBMS 계층 간에 합리적으로 낮은 네트워크 대기 시간을 제공하는 것이 중요합니다. 제한된 시나리오 집합에 대해 합리적으로 낮은 네트워크 대기 시간을 사용하도록 설정하기 위해 이러한 SAP 시스템에 대해 Azure 근접 배치 그룹을 정의할 수 있습니다.

단일 근접 배치 그룹에서 여러 SAP 프로덕션 또는 비 프로덕션 시스템을 번들로 묶지 않습니다. 더 많은 시스템을 근접 배치 그룹에 그룹화할수록 다음과 같은 가능성이 높아지므로 SAP 시스템 번들을 사용하지 않습니다.

  • 근접 배치 그룹이 할당된 네트워크 스파인에서 사용할 수 없는 VM 형식이 필요합니다.
  • M 시리즈 VM과 같은 비주류 VM의 리소스는 시간이 지남에 따라 VM 수를 근접 배치 그룹으로 확장해야 하는 경우 결국에는 충족되지 않을 수 있습니다.

지금까지 권장한 근접 배치 그룹 사용은 이 그래픽과 같습니다.

Old Proximity placement groups with zones

SAP 시스템을 배포한 두 가용성 영역 각각에 PPG(근접 배치 그룹)를 만들었습니다. 특정 영역의 모든 VM은 해당 특정 영역의 개별 근접 배치 그룹의 일부입니다. 각 영역에서 시작하여 DBMS VM을 배포하여 PPG의 범위를 지정한 다음 ASCS VM을 동일한 영역 및 PPG에 배포했습니다. 세 번째 단계에서는 Azure 가용성 집합을 만들고 범위가 할당된 PPG에 가용성 집합을 할당하고 여기에 SAP 애플리케이션 계층을 배포했습니다. 이 구성의 장점은 모든 구성 요소가 동일한 네트워크 스파인 아래에 멋지게 정렬되었다는 것입니다. 가장 큰 단점은 가상 머신의 크기 조정에 대한 유연성이 제한될 수 있다는 것입니다.

Azure 가용성 영역 내에서 네트워크 대기 시간을 줄이기 위해 Microsoft에서 Azure 지역에 배포한 많은 개선 사항을 기반으로 하는 영역 배포에 대한 새로운 배포 지침은 다음과 같습니다.

New Proximity placement groups with zones

지금까지 제공된 권장 사항과의 차이점은 두 영역의 데이터베이스 VM이 더 이상 근접 배치 그룹의 일부가 아니라는 것입니다. 영역당 근접 배치 그룹은 이제 SAP ASCS/SCS 인스턴스를 실행하는 VM 배포로 범위가 지정됩니다. 이는 또한 여러 데이터 센터에서 가용성 영역을 수집하는 지역의 경우 ASCS/SCS 인스턴스 및 애플리케이션 계층이 하나의 네트워크 스파인에서 실행될 수 있고 데이터베이스 VM이 다른 네트워크 스파인에서 실행될 수 있음을 의미합니다. 네트워크가 개선되었지만 SAP 애플리케이션 계층과 DBMS 계층 간의 네트워크 대기 시간은 여전히 충분히 우수한 성능과 처리량을 유지하기에 충분해야 합니다. 이 새로운 구성의 장점은 VM의 크기를 조정하거나 DBMS 계층 또는/및 SAP 시스템의 애플리케이션 계층을 사용하여 새 VM 형식으로 이동할 때 더 많은 유연성이 있다는 것입니다.

DBMS 환경에서 ANF(Azure NetApp Files)를 사용하는 특별한 경우와 ANF 관련 SAP HANA용 Azure NetApp Files 애플리케이션 볼륨 그룹의 새로운 기능 및 근접 배치 그룹에 대한 필요성의 경우 SAP HANA용 Azure NetApp Files의 NFS v4.1 볼륨 문서를 확인하세요.

가용성 집합 배포가 있는 근접 배치 그룹

이 경우 목적은 근접 배치 그룹을 사용하여 다른 가용성 집합을 통해 배포되는 VM을 배치하는 것입니다. 이 사용 시나리오에서는 한 지역의 서로 다른 가용성 영역에 걸쳐 제어된 배포를 사용하지 않습니다. 대신 가용성 집합을 사용하여 SAP 시스템을 배포하려고 합니다. 결과적으로 DBMS VM, ASCS/SCS VM 및 애플리케이션 계층 VM에 대한 가용성 집합이 하나 이상 있습니다. VM의 배포 시간에 가용성 집합 및 가용성 영역을 지정할 수 없으므로 다른 가용성 집합의 VM이 할당될 위치를 제어할 수 없습니다. 이로 인해 다른 VM 간의 네트워크 대기 시간이 여전히 너무 높아서 충분히 우수한 성능 환경을 제공할 수 없는 일부 Azure 지역이 발생할 수 있습니다. 결과 아키텍처는 다음과 같습니다.

Proximity placement groups with AvSets

이 그래픽에서 단일 근접 배치 그룹은 단일 SAP 시스템에 할당됩니다. 이 PPG는 세 가지 가용성 집합에 할당됩니다. 그런 다음 첫 번째 데이터베이스 계층 VM을 DBMS 가용성 집합에 배포하여 근접 배치 그룹의 범위를 지정합니다. 이 아키텍처 권장 사항은 동일한 네트워크 스파인 아래에 모든 VM을 배치합니다. 이 문서의 앞부분에서 언급한 제한 사항을 소개합니다. 따라서 근접 배치 그룹 아키텍처는 드물게 사용되어야 합니다.

근접 배치 그룹 및 HANA(대규모 인스턴스)

일부 SAP 시스템에서 HANA(대규모 인스턴스)를 애플리케이션 레이어에 사용하는 경우 수정 버전 4 행 또는 스탬프에 배포된 HANA(대규모 인스턴스) 단위를 사용하면 HANA(대규모 인스턴스) 단위와 Azure VM 간의 네트워크 대기 시간이 크게 향상될 수 있습니다. 향상된 한 가지 사항은 HANA(대규모 인스턴스) 단위가 배포될 때 근접 배치 그룹과 함께 배포된다는 것입니다. 이 근접 배치 그룹을 사용하여 애플리케이션 레이어 VM을 배포할 수 있습니다. 따라서 이러한 VM은 HANA(대규모 인스턴스) 단위를 호스팅하는 동일한 데이터 센터에 배포됩니다.

HANA(대규모 인스턴스) 단위가 수정 버전 4 스탬프 또는 행에 배포되었는지 확인하려면 Azure Portal을 통한 Azure HANA(대규모 인스턴스) 제어 문서를 확인합니다. HANA(대규모 인스턴스) 단위를 배포할 때 만들어졌으므로 HANA(대규모 인스턴스) 단위의 특성 개요에서 근접 배치 그룹의 이름을 확인할 수도 있습니다. 특성 개요에 표시되는 이름은 애플리케이션 레이어 VM을 배포해야 하는 근접 배치 그룹의 이름입니다.

Azure 가상 머신만 사용하는 SAP 시스템과 비교하여 HANA(대규모 인스턴스)를 사용하는 경우 사용할 Azure 리소스 그룹의 수를 결정하는 데 있어 유연성이 떨어집니다. 이 문서에서 설명한 대로 HANA(대규모 인스턴스) 테넌트의 모든 HANA(대규모 인스턴스) 단위는 단일 리소스 그룹으로 그룹화됩니다. 예를 들어 프로덕션 시스템과 비 프로덕션 시스템 또는 다른 시스템과 같이 분리하기 위해 다른 테넌트에 배포하는 경우를 제외하고는 모든 HANA(대규모 인스턴스) 단위가 하나의 HANA(대규모 인스턴스) 테넌트에 배포됩니다. 이 테넌트는 리소스 그룹과 일대일 관계에 있습니다. 그러나 각 단일 단위에 대해 별도의 근접 배치 그룹이 정의됩니다.

따라서 단일 테넌트에 대한 Azure 리소스 그룹과 근접 배치 그룹 간의 관계는 다음과 같습니다.

Proximity placement groups and HANA Large Instances를 입력합니다.

근접 배치 그룹을 사용한 배포의 예제

다음은 Azure 근접 배치 그룹을 사용하여 VM을 배포하는 데 사용할 수 있는 몇 가지 PowerShell 명령입니다.

Azure Cloud Shell에 로그인한 후 첫 번째 단계는 배포에 사용하려는 Azure 구독에 있는지 확인하는 것입니다.


Get-AzureRmContext

다른 구독으로 변경해야 하는 경우 다음 명령을 실행하여 변경할 수 있습니다.


Set-AzureRmContext -Subscription "PPG test subscription"

다음 명령을 실행하여 새 Azure 리소스 그룹을 만듭니다.


New-AzResourceGroup -Name "ppgexercise" -Location "westus2"

다음 명령을 실행하여 새 근접 배치 그룹을 만듭니다.


New-AzProximityPlacementGroup -ResourceGroupName "ppgexercise" -Name "collocate" -Location "westus2"

다음과 같은 명령을 사용하여 첫 번째 VM을 근접 배치 그룹에 배포합니다.


New-AzVm -ResourceGroupName "ppgexercise" -Name "ppgscopevm" -Location "westus2" -OpenPorts 80,3389 -ProximityPlacementGroup "collocate" -Size "Standard_E16s_v4"

이전 명령에서는 Windows 기반 VM을 배포합니다. 이 VM 배포가 성공하면 근접 배치 그룹의 네트워크 스파인 범위가 Azure 지역 내에서 정의됩니다. 이전 명령에 표시된 대로 근접 배치 그룹을 참조하는 모든 후속 VM 배포는 VM 유형이 해당 네트워크 스파인 아래에 배치된 하드웨어에서 호스팅될 수 있고 해당 VM 유형에 대한 용량을 사용할 수 있는 한 동일한 네트워크 스파인 아래에 배포됩니다.

근접 배치 그룹과 가용성 집합 및 가용성 영역 결합

SAP 시스템 배포에 가용성 영역을 사용할 때의 문제 중 하나는 특정 가용성 영역 내의 가용성 집합을 사용하여 SAP 애플리케이션 계층을 배포할 수 없다는 것입니다. SAP 애플리케이션 계층이 SAP ASCS/SCS VM과 동일한 영역에 배포되기를 원합니다. 단일 VM을 배포할 때 가용성 영역 및 가용성 집합을 참조하는 것은 현재로서는 불가능합니다. 그러나 가용성 영역에 지시하는 VM을 배포하기만 하면 애플리케이션 계층 VM이 서로 다른 업데이트 및 오류 도메인에 분산되어 있는지 확인할 수 있는 기능을 잃게 됩니다.

근접 배치 그룹을 사용하면 이 제한을 무시할 수 있습니다. 배포 시퀀스는 다음과 같습니다.

  • 근접 배치 그룹을 만듭니다.
  • 가용성 영역을 참조하여 앵커 VM(ASCS/SCS VM 권장)을 배포합니다.
  • Azure 근접 그룹을 참조하는 가용성 집합을 만듭니다. (이 문서의 뒷부분에 나오는 명령을 참조하세요.)
  • 가용성 집합 및 근접 배치 그룹을 참조하여 애플리케이션 레이어 VM을 배포합니다.

이전 섹션에서 설명한 대로 첫 번째 VM을 배포하는 대신, VM을 배포할 때 가용성 영역 및 근접 배치 그룹을 참조합니다.


New-AzVm -ResourceGroupName "ppgexercise" -Name "centralserviceszone1" -Location "westus2" -OpenPorts 80,3389 -Zone "1" -ProximityPlacementGroup "collocate" -Size "Standard_E8s_v4"

이 가상 머신의 성공적인 배포는 하나의 가용성 영역에서 SAP 컴퓨터의 ASCS/SCS 인스턴스를 호스팅합니다. 근접 배치 그룹의 범위는 정의한 가용성 영역의 네트워크 스파인 중 하나로 고정됩니다.

다음 단계에서는 SAP 시스템의 애플리케이션 레이어에 사용하려는 가용성 집합을 만들어야 합니다.

근접 배치 그룹을 정의하고 만듭니다. 가용성 집합을 만드는 명령에는 이름이 아닌 근접 배치 그룹 ID에 대한 추가 참조가 필요합니다. 다음 명령을 사용하여 근접 배치 그룹의 ID를 가져올 수 있습니다.


Get-AzProximityPlacementGroup -ResourceGroupName "ppgexercise" -Name "collocate"

가용성 집합을 만들 때 관리 디스크(달리 지정되지 않은 경우 기본값) 및 근접 배치 그룹을 사용하는 경우 다음과 같은 추가 매개 변수를 고려해야 합니다.


New-AzAvailabilitySet -ResourceGroupName "ppgexercise" -Name "ppgavset" -Location "westus2" -ProximityPlacementGroupId "/subscriptions/my very long ppg id string" -sku "aligned" -PlatformUpdateDomainCount 3 -PlatformFaultDomainCount 2 

세 개의 장애 도메인을 사용하는 것이 가장 좋습니다. 그러나 지원되는 장애 도메인의 수는 지역마다 다를 수 있습니다. 이 경우 특정 지역에 사용할 수 있는 최대 장애 도메인 수는 2개입니다. 애플리케이션 레이어 VM을 배포하려면 다음과 같이 가용성 집합 이름 및 근접 배치 그룹 이름에 대한 참조를 추가해야 합니다.


New-AzVm -ResourceGroupName "ppgexercise" -Name "appinstance1" -Location "westus2" -OpenPorts 80,3389 -AvailabilitySetName "myppgavset" -ProximityPlacementGroup "collocate" -Size "Standard_E16s_v4"

이 배포의 결과는 다음과 같습니다.

  • 특정 가용성 영역에 있는 SAP 시스템용 중앙 서비스.
  • SAP Central Services(ASCS/SCS) VM과 동일한 네트워크 스파인의 가용성 집합을 통해 위치한 SAP 애플리케이션 계층입니다.

참고

하나의 DBMS 및 ASCS/SCS VM을 한 영역에 배포하고 두 번째 DBMS 및 ASCS/SCS VM을 다른 영역에 배포하여 고가용성 구성을 만들기 때문에 각 영역에 대해 서로 다른 근접 배치 그룹이 필요합니다. 사용하는 모든 가용성 집합에 대해서도 마찬가지입니다.

기존 시스템의 근접 배치 그룹 구성 변경

지금까지 제공된 권장 사항에 따라 근접 배치 그룹을 구현했으며 새 구성으로 조정하려는 경우 다음 문서에 설명된 방법으로 조정할 수 있습니다.

근접 배치 그룹의 기존 VM이 있는 새 VM 형식으로 이동할 수 없는 경우 할당 오류가 발생하는 경우에도 이러한 명령을 사용할 수 있습니다.

다음 단계

다음 설명서를 확인하세요.