다음을 통해 공유


HPC용 Azure Well-Architected Framework

Azure HPC(고성능 컴퓨팅) 계획은 시나리오를 합리화하고, 기술 노력의 우선 순위를 지정하고, 워크로드를 식별하는 프로세스를 간략하게 설명합니다. 많은 워크로드의 경우 일련의 아키텍처 원칙을 준수하는 것이 중요합니다. 이러한 원칙은 워크로드의 개발 및 최적화를 안내하는 데 도움이 됩니다. 5가지 아키텍처 구성은 Azure Well-Architected Framework에 자세히 설명되어 있습니다. 이 지침은 이러한 원칙을 데이터 워크로드 관리에 적용하는 방법에 대한 요약을 제공합니다.

안정성

모든 것이 깨질 가능성이 있습니다. 데이터 파이프라인도 예외는 아닙니다. 뛰어난 아키텍처는 가용성과 복원력을 염두에 두고 설계되었습니다. 주요 고려 사항은 변경 사항을 감지하는 데 걸리는 시간과 작업을 얼마나 빨리 다시 시작할 수 있는지입니다.

데이터 환경은 탄력적인 아키텍처, 교차 지역 중복, 서비스 수준, SLA(서비스 수준 계약) 및 중요한 지원을 고려해야 합니다. 기존 환경에는 통합 모니터링 및 알림 프레임워크를 사용하여 감사, 모니터링 및 경고도 포함되어야 합니다.

이러한 환경 제어 외에도 워크로드 팀은 다음을 고려해야 합니다.

  • 서비스 수준 SLA를 개선하기 위해 더 많은 아키텍처 수정을 수행합니다.
  • 중복 워크로드별 아키텍처 설정
  • 클라우드 운영 팀이 제공하는 것 이상으로 모니터링 및 알림을 위한 프로세스를 설정합니다.

하이브리드 ExpressRoute 연결

중요 업무용 HPC 워크로드를 지원하려면 Azure ExpressRoute 고가용성 구성을 사용합니다. 중복 ExpressRoute 연결이 있을 수 있는 단일 사이트, 고가용성 설정에서도 단일 에지 사이트 가동 중지 시간으로부터 보호되지 않습니다. 두 시설에서 두 연결을 사용하도록 설정하면 기본 위치에 재해가 발생하는 경우 중복성을 통해 비즈니스를 계속할 수 있습니다. ExpressRoute 고가용성을 사용하면 단일 지역에서 ExpressRoute 중단이 발생하는 경우 Azure에 대한 연결을 보장할 수 있습니다.

권장 사항

  • 최대 중복성을 위해 서로 다른 두 ExpressRoute 에지 사이트 위치에서 두 개의 ExpressRoute 회로를 사용하도록 설정합니다.
    • 이 설정을 사용하려면 Azure Portal에서 두 개의 ExpressRoute 에지 사이트 위치에 대해 두 개의 ExpressRoute 회로를 설정해야 합니다. 그런 다음 두 ExpressRoute 회로를 Azure의 동일한 가상 허브 네트워크에 연결합니다.
    • 두 에지 사이트 위치를 동일한 Azure 지역에 배치합니다. 피어링 위치 중 하나가 실패할 경우 중복성을 제공하는 것입니다. 두 ExpressRoute 연결은 모두 Azure에서 동일한 가상 허브 네트워크로 종료됩니다. ExpressRoute 위치 및 연결 파트너 목록을 확인하여 ExpressRoute 피어링 위치를 계획합니다.
    • 공급자와 협력하여 두 번째 ExpressRoute 사이트를 구성합니다.
    • 중요한 두 번째 위치로 트래픽을 장애 조치하여 두 번째 연결이 작동하는지 확인합니다. 정기적인 훈련을 수행하여 연결을 보장합니다.

최대 복원력 ExpressRoute 구성에 대한 자세한 내용은 ExpressRoute를 사용한 재해 복구를 위한 디자인을 참조하세요.

보안

HPC 환경에 보안 원칙을 적용하여 고의적인 공격 및 중요한 데이터 및 시스템 남용에 대한 안전 장치를 제공합니다. 사용자 운영 체제 이미지 및 사용자 액세스를 보호하는 방법과 Azure Batch 및 Azure CycleCloud 보안 지침을 따릅니다. 자세한 내용은 보안 핵심 요소의 원칙을 참조하세요.

운영 체제 이미지

Azure Marketplace는 클러스터에서 사용할 Linux 기반 HPC 이미지를 제공합니다. 이러한 이미지에는 다음과 같은 많은 인기 있는 라이브러리, 소프트웨어 패키지 및 진단 도구가 포함되어 있습니다.

  • InfiniBand 기반 메시지 전달 인터페이스(MPI) 라이브러리입니다.
  • 멜라녹스 OFED.
  • InfiniBand를 통해 미리 구성된 IP입니다.
  • 통신 런타임.
  • Intel/AMD 최적화 라이브러리.
  • Azure HPC 진단 도구.

이미지로 시작한 다음 조직의 보안 정책을 적용하여 취약성 및 사이버 위협에 대한 소프트웨어 이미지를 강화할 수 있습니다. 유효성 검사 후 Azure Compute 갤러리에 새 이미지를 저장할 수 있습니다. 그런 다음, 이미지를 사용하여 Azure CycleCloud, Azure HPC 및 Batch에서 가상 머신을 만들 수 있습니다.

사용자 액세스

  • 각 기능에 대한 명확한 책임 및 의무 분리를 정의합니다.
  • 알아야 할 필요성 및 최소 권한 보안 원칙에 따라 액세스를 제한합니다.
  • Azure 역할 기반 액세스 제어를 통해 특정 범위에서 사용자, 그룹 및 애플리케이션에 권한을 할당합니다. 가능한 경우 기본 제공 역할을 사용합니다.
  • 관리 잠금을 통해 리소스, 리소스 그룹 또는 구독의 삭제 또는 수정을 방지합니다.
  • 관리 ID를 사용하여 Azure의 리소스에 액세스합니다.
  • 단일 엔터프라이즈 디렉터리를 지원합니다. 중요한 영향 계정을 제외하고 클라우드 및 온-프레미스 디렉터리를 동기화된 상태로 유지합니다.
  • Microsoft Entra 조건부 액세스를 설정합니다. 특히 중요한 영향 계정에 대해 모든 사용자를 인증할 때 주요 보안 특성을 적용하고 측정합니다.
  • 암호 없는 방법을 사용하거나 최신 암호 방법을 선택합니다.
  • 레거시 프로토콜 및 인증 메서드를 차단합니다.

Azure Batch 보안

Batch에 대한 보안을 사용하도록 설정하려면 모범 사례를 따릅니다.

Azure CycleCloud 보안

모범 사례를 따라 Azure CycleCloud에 대한 보안을 사용하도록 설정합니다.

비용 최적화

Azure에서 환경을 최대한 활용하려면 비용 관리 및 선행 계획 연습의 우선 순위를 지정합니다. 비용 관리 및 계획은 일반적으로 조직의 성공적인 클라우드 마이그레이션 경험에서 가장 중요한 고려 사항입니다. Microsoft Cost Management 는 클라우드 투자를 최대화하기 위해 지출을 계획, 분석 및 줄일 수 있는 도구를 제공합니다. 클라우드 비용을 계획하고 최적화할 수 있는 방법에 대한 자세한 내용은 Cost Management 청구 모범 사례를 참조 하세요. 다음 고려 사항은 비용 최적화에서 가장 중요한 사항 중 일부입니다.

운영 체제 선택

Linux는 HPC 워크로드의 주요 운영 체제입니다. Linux는 오픈 소스이며 HPC 인프라를 사용하기 위해 성능을 조정합니다. 따라서 MPI 라이브러리 및 Infiniband 드라이버는 Linux와 Windows에서 잘 작동합니다. HPC 클러스터를 설정하기 위해 Linux VM(가상 머신) 및 Windows를 사용하면 비용을 확실히 절감할 수 있습니다. 그러나 일부 사용자는 특히 계산 유체 역학과 같은 워크로드에서 사전 처리 및 후처리 작업을 수행하는 동안 Windows 환경에 대한 강력한 선호도를 가질 수 있습니다. 이 경우 Windows 프런트 엔드가 시뮬레이션에 컴퓨팅 노드를 사용하는 헤드 노드인 Linux 호스트에 작업을 제출하도록 하는 것이 좋습니다.

자동 확장

자동 크기 조정을 사용하면 작업을 제출하거나 작업이 활성 상태일 때만 VM을 설정하고 사용할 수 있습니다. 작업이 완료되면 노드가 자동으로 꺼집니다. 자동 크기 조정을 사용하면 애플리케이션에서 사용하는 컴퓨팅 리소스를 조정하여 시간과 비용을 절약할 수 있습니다. Azure CycleCloud에는 기본적으로 스케줄러에서 자동 크기 조정이 설정되어 있습니다. 노드를 끄는 기본 시간 제한은 15분입니다. 시간 제한을 사용자 지정할 수 있습니다. 시간 제한은 사용자가 사용하는 것에 대해서만 비용을 지불하는 데 도움이 됩니다. Batch는 자동 크기 조정 수식을 선택한 매개 변수와 통합하는 메커니즘을 제공합니다. 자세한 내용은 Azure에서 자동 크기 조정 시작을 참조하세요.

종량제 및 예약 인스턴스 및 스폿 인스턴스 비교

Azure는 다양한 가격 책정 옵션, 종량제, 1년 또는 3년 옵션이 있는 예약 인스턴스 및 데이터 센터에서 사용할 수 있는 용량이 적용되는 스폿 인스턴스를 제공합니다. 종량제 인스턴스는 용량에 대한 산발적인 수요를 수용하기 때문에 비용 효율적입니다. 예약 인스턴스는 HPC에 대한 지속적인 수요가 있거나 Azure HPC에서 실행되는 많은 애플리케이션이 있는 경우 비용 효율적일 수 있습니다. 둘 다 프로덕션 준비 워크로드에 적합합니다. 스폿 인스턴스는 간단한 테스트 및 실험에 적합하거나 애플리케이션에 검사포인트링(예: 유전체학)이 필요한 경우에 적합합니다. 스폿 인스턴스는 데이터 센터에서 사용할 수 있는 용량의 적용을 받습니다. 가격은 이러한 요인에 따라 달라집니다. 최소 알림으로 스폿 인스턴스를 제거할 수 있습니다.

데이터 분류

HPC 워크로드는 높은 처리량 스토리지의 이점을 누릴 수 있습니다. 예를 들어 Azure Managed Lustre, Azure Net App Files 또는 BeeGFS 병렬 파일 시스템을 사용합니다. 이러한 스토리지 서비스는 성능을 제공하지만 비용이 발생할 수 있습니다. 애플리케이션별 데이터만 이러한 시스템에 상주하도록 데이터를 미리 분류하는 것이 중요합니다. 다른 모든 데이터는 Azure Data Lake Storage 또는 Azure Blob Storage와 같은 저비용 스토리지 솔루션에 상주할 수 있습니다.

또한 데이터가 Blob Storage와 같은 저비용 스토리지 서비스와 동기화되도록 요청 시 HPC 스토리지 시스템을 설정하는 것이 유용할 수 있습니다. 주문형 스토리지는 고성능 스토리지 시스템이 꺼져 있을 때 Blob Storage에 데이터가 유지되도록 합니다. 관리되는 Lustre 및 Net App Files는 동기화 서비스를 제공합니다.

예산 설정

Azure CycleCloud를 사용하면 클러스터당 예산을 설정할 수 있으며, 예산이 소진되는 경우 받는 사람에게 알림을 보낼 수 있습니다. Batch의 경우 Azure Portal에서 Batch 풀 또는 Batch 계정에 대한 예산 및 지출 경고를 만들 수 있습니다. 예산 및 경고는 지출 경고가 지연되고 예산을 약간 초과할 수 있지만 초과 지출의 위험을 관련자에게 알리는 데 유용합니다.

운영 우수성

HPC 애플리케이션을 프로덕션 환경에서 계속 실행하는 경우 배포는 안정적이고 예측 가능해야 합니다. 안정적이고 예측 가능한 배포는 IaC(Infrastructure as Code) 솔루션을 사용하여 HPC 워크로드를 자동화하는 것으로 구성됩니다. 또한 노드 상태 검사 수행하여 HPC 워크로드를 분석하고 모니터링해야 합니다.

배포 제안에 대한 자세한 내용은 인프라를 코드로 사용하는 권장 사항 참조하세요. 모니터링 제안에 대한 자세한 내용은 모니터링 시스템을 디자인하고 만들기 위한 권장 사항 참조하세요.

코드 제공 인프라(Infrastructure as code)

Azure의 HPC는 Azure CycleCloud, HPC 클러스터, 스토리지, 시각화 노드, 라이선스 서버 등과 같은 여러 리소스를 배포합니다. 배포를 자동화하려면 Terraform, Ansible 및 Packer와 같은 업계 표준 도구를 사용하여 프로세스를 간소화하는 것이 좋습니다.

노드 상태 검사

Azure Managed Grafana는 분석 및 모니터링 솔루션을 위한 완전 관리형 서비스입니다. Grafana Labs는 Grafana를 지원하고 확장 가능한 데이터 시각화를 제공합니다. 예를 들어 HPC 워크로드에 이 솔루션을 통합할 수 있습니다. 자세한 내용은 Azure HPC OnDemand 플랫폼을 참조 하세요.

성능 효율성

HPC 환경이 효율적으로 확장되어 사용자가 요구하는 사항을 충족할 수 있는지 확인합니다. 애플리케이션 공급업체 권장 사항에 따라 HPC 애플리케이션에 적합한 플랫폼을 선택합니다. 수요를 충족하기 위해 추가 인프라가 필요한 경우 용량 계획에 투자합니다. 사용자가 시스템을 사용할 때 HPC 인프라 성능을 모니터링합니다.

자세한 내용은 성능 효율성 문서를 참조 하세요.

HPC 애플리케이션에 적합한 플랫폼 선택

Azure는 Intel, AMD CPU 및 NVIDIA 및 AMD GPU를 기반으로 하는 VM을 위한 다양한 플랫폼을 제공합니다. 대부분의 애플리케이션은 사용 가능한 것과 호환되지만 특정 유형의 CPU 또는 GPU만 활용할 수 있습니다. 클라우드에 인프라를 배포하기 전에 ISV(애플리케이션 공급업체)의 권장 사항을 통해 다음과 같은 요구 사항을 이해해야 합니다.

  • 애플리케이션이 메모리 바인딩, CPU 바인딩 또는 GPU 바인딩된 경우
  • 성능에 대한 모든 유형의 CPU 또는 GPU 아키텍처에 대한 권장 사항이 있는 경우
  • MPI 유형과 해당 애플리케이션이 활용할 수 있는 버전이 있는 경우
  • 스케줄러 유형에 대한 권장 사항이 있는 경우
  • 병렬 파일 시스템의 IOPS/처리량에 대한 권장 사항이 있는 경우

용량 계획에 투자

애플리케이션의 유형 및 해당 라이선스 조건에 따라 라이선스가 특정 수의 코어를 사용하도록 설정되어 있는지 검토합니다. HPC에 맞게 라이선스를 사용하도록 투자를 평가한 다음 그에 따라 용량을 계획합니다.

인프라 성능 모니터링

  • 사용자가 시스템을 사용하는 방식을 추적하고, 리소스 사용을 추적하고, 일반적으로 시스템의 상태 및 성능을 모니터링할 수 있어야 합니다. 이 정보를 진단 보조 기능으로 사용하여 문제를 검색하고 수정할 수 있으며 잠재적 문제를 발견하여 이 문제가 발생하지 않도록 할 수 있습니다. 리소스를 모니터링하는 데 사용할 수 있는 Azure 구성 요소 및 서비스에 대한 개요는 Azure Monitor 개요를 참조하세요.
  • 모니터는 VM 인스턴스 및 스토리지에 병목 현상이 있는지 식별하는 데 유용한 도구입니다.
  • 스토리지 제한으로 인해 애플리케이션이 크게 느려지고 성능에 영향을 줄 수 있습니다. 제한은 스토리지 내의 입력 및 출력 작업이 설정한 처리량 제한을 초과할 때 발생합니다. Azure Storage 서비스는 읽기 및 쓰기 작업 그래프를 제공하여 제한에 문제가 있는지 모니터링합니다.
  • Azure CycleCloud는 모니터 및 Microsoft Cost Management 도구와 같은 Azure 서비스와 통합됩니다. 또한 플러그형 아키텍처를 통해 외부 서비스 모니터링을 지원합니다. 자세한 내용은 모니터링을 참조 하세요.
  • 또한 Batch를 사용하는 경우 Batch 탐색기는 Batch 애플리케이션을 만들고, 디버그하고, 모니터링하는 데 도움이 되는 풍부한 기능을 갖춘 독립 실행형 클라이언트 도구입니다.

다음 단계