편집

다음을 통해 공유


SAS on Azure 아키텍처

Azure Virtual Machines
Azure Virtual Network
Azure 파일

이 솔루션은 Azure에서 SAS 분석 워크로드를 실행합니다. 이 지침에서는 다양한 배포 시나리오를 다룹니다. 예를 들어 여러 버전의 SAS를 사용할 수 있습니다. 자체 관리형 VM(가상 머신)에서 SAS 소프트웨어를 실행할 수 있습니다. AKS(Azure Kubernetes Service)를 사용하여 컨테이너 기반 버전을 배포할 수도 있습니다.

아키텍처

SAS 제품을 Azure에 배포하는 방법을 보여 주는 아키텍처 다이어그램

다이어그램에는 Azure Virtual Network라는 레이블이 있는 큰 사각형이 포함되어 있습니다. 그 안에 있는 또 다른 큰 사각형에는 근접 배치 그룹 레이블이 있습니다. 두 개의 사각형이 그 안에 있습니다. 세로로 쌓여 있으며 각각에는 네트워크 보안 그룹 레이블이 있습니다. 각 보안 그룹 사각형에는 줄지어 정렬된 여러 개의 컴퓨터 아이콘이 포함되어 있습니다. 위쪽 사각형에서 위쪽 줄의 왼쪽에 있는 컴퓨터 아이콘에는 중간 계층 레이블이 있습니다. 오른쪽의 아이콘에는 메타데이터 계층 레이블이 있습니다. 아이콘의 아래쪽 행에는 컴퓨터 계층 레이블이 있습니다. 아래쪽 사각형에서 컴퓨터 아이콘의 위쪽 행에는 MGS 및 MDS 서버 레이블이 있습니다. 아래쪽 행에는 OST 및 OSS 서버 레이블이 있습니다.

이 아키텍처의 Visio 파일을 다운로드합니다.

워크플로

SAS Azure 배포에는 일반적으로 세 개의 레이어가 포함됩니다.

  • API 또는 시각화 계층. 이 레이어 내에서:

    • 메타데이터 계층은 데이터 원본, 리소스, 서버 및 사용자의 메타데이터에 대한 액세스 권한을 클라이언트 앱에 제공합니다.
    • 웹앱은 중간 계층의 인텔리전스 데이터에 대한 액세스를 제공합니다.
  • SAS 서버가 데이터를 처리하는 컴퓨팅 플랫폼.

  • SAS가 영구 스토리지에 사용하는 스토리지 계층. Azure에서 많이 선택되는 항목은 다음과 같습니다.

    • Lustre
    • IBM Spectrum Scale
    • NFS(네트워크 파일 시스템)

Azure Virtual Network는 클라우드에서 시스템을 격리합니다. 해당 네트워크 내에서:

  • 근접 배치 그룹은 VM 간의 대기 시간을 줄입니다.
  • 네트워크 보안 그룹은 원치 않는 트래픽으로부터 SAS 리소스를 보호합니다.

필수 조건

SAS 워크로드를 배포하기 전에 다음 구성 요소가 준비되었는지 확인합니다.

  • SAS 크기 조정 팀의 크기 조정 권장 사항
  • SAS 라이선스 파일
  • 리소스를 배포할 리소스 그룹에 대한 액세스 권한
  • 크기 조정 문서 및 VM 선택을 고려한 vCPU(가상 중앙 처리 장치) 구독 할당량
  • 보안 LDAP(Lightweight Directory Access Protocol) 서버에 대한 액세스 권한

시나리오 정보

이 가이드는 다양한 구현에 대해 논의하는 것 외에도 비용, DevOps, 복원력, 확장성 및 보안 분야에서 탁월한 성과를 달성하기 위해 Microsoft Azure Well-Architected Framework 개념에 따라 해당 내용을 다룹니다. 그러나 이 가이드를 사용하는 것 외에도 SAS 팀에 문의하여 특정 사용 사례에 대한 추가 유효성 검사를 받으세요.

파트너로서 Microsoft와 SAS는 클라우드에서 혁신을 이루려는 조직을 위한 로드맵을 개발하기 위해 노력하고 있습니다. 두 회사는 모두 Azure에서 SAS 제품 및 솔루션의 고품질 배포를 보장하기 위해 최선을 다하고 있습니다.

SAS 소개

SAS 분석 소프트웨어는 데이터로부터 인사이트를 획득하여 지능형 결정을 내리는 데 사용할 수 있는 서비스 및 도구 모음을 제공합니다. SAS 플랫폼은 데이터 관리, 사기 행위 감지, 위험 분석 및 시각화와 같은 영역에 대한 솔루션을 완벽하게 지원합니다. SAS는 Microsoft가 검증한 다음과 같은 기본 플랫폼을 제공합니다.

  • SAS Grid 9.4
  • SAS Viya

다음과 같은 아키텍처가 테스트되었습니다.

  • Linux의 SAS Grid 9.4
  • SAS 9 Foundation
  • Linux에서 SMP(대칭적 다중 처리) 및 MPP(대규모 병렬 처리) 아키텍처를 사용하는 SAS Viya 3.5
  • AKS에서 MPP 아키텍처를 사용하는 SAS Viya 2020 이상

이 가이드는 플랫폼별 정보가 아닌 Azure에서 SAS를 실행하기 위한 일반 정보를 제공합니다. 이러한 지침에서는 자체 테넌트의 Azure에서 고유한 SAS 솔루션을 호스트한다고 가정합니다. SAS는 Azure에서 솔루션을 호스트하지 않습니다. SAS에서 제공하는 Azure 호스팅 및 관리 서비스에 대한 자세한 내용은 SAS 관리형 애플리케이션 서비스를 참조하세요.

권장 사항

구현을 디자인할 때는 다음 섹션에 있는 요소를 고려합니다.

SAS 설명서는 코어(물리적 CPU 코어를 의미)별 요구 사항을 제공합니다. 그러나 Azure는 vCPU 목록을 제공합니다. SAS와 함께 사용하도록 권장되는 VM에는 모든 물리적 코어마다 두 개의 vCPU가 있습니다. 따라서 vCPU 요구 사항의 값을 계산하려면 코어 요구 사항 값의 절반을 사용합니다. 예를 들어 150MBps의 물리적 코어 요구 사항은 vCPU당 75MBps로 바뀝니다. Azure 컴퓨팅 성능에 대한 자세한 내용은 ACU(Azure 컴퓨팅 단위)를 참조하세요.

참고 항목

외부화된 파일 시스템이 아닌 단일 노드 SAS 배포에서 데이터를 확장하고 유지하는 경우 SAS 설명서에서 150MB/s 이상의 대역폭을 권장합니다. 이 대역폭을 달성하려면 여러 P30 Premium(이상) 디스크를 스트라이프해야 합니다.

운영 체제

Linux는 SAS 워크로드를 실행하는 데 가장 적합합니다. SAS는 다음 운영 체제의 64비트 버전을 지원합니다.

  • Red Hat 7 이상
  • SLES(SUSE Linux Enterprise Server) 12.2
  • Oracle Linux 6 이상

특정 SAS 릴리스에 대한 자세한 내용은 SAS 운영 체제 지원 매트릭스를 참조하세요. 여러 대의 컴퓨터를 사용하는 환경에서는 모든 컴퓨터에서 동일한 버전의 Linux를 실행하는 것이 가장 좋습니다. Azure는 Linux 32비트 배포를 지원하지 않습니다.

Azure와의 호환성 및 통합을 최적화하려면 Azure Marketplace에서 운영 체제 이미지를 사용하여 시작합니다. 추가 구성 없이 사용자 지정 이미지를 사용하면 SAS 성능을 저하시킬 수 있습니다.

커널 문제

운영 체제를 선택할 경우 전체 Red Hat 7.x 시리즈에 영향을 주는 소프트 잠금 문제를 알고 있어야 합니다. 이 문제는 다음과 같은 커널에서 발생합니다.

  • Linux 3.x 커널
  • 4.4 이전 버전

Linux와 Hyper-V의 메모리 및 I/O 관리 관련 문제로 인해 이 문제가 발생합니다. 이 문제가 발생하면 시스템 로그에 NMI(Non-Maskable Interrupt)를 언급하는 항목이 포함됩니다.

Message from syslogd@ronieuwe-sas-e48-2 at Sep 13 08:26:08
kernel:NMI watchdog: BUG: soft lockup - CPU#12 stuck for 22s! [swapper/12:0]

또 다른 문제는 이전 버전의 Red Hat에 영향을 줍니다. 특히 다음 조건을 충족하는 버전에서 발생할 수 있습니다.

  • 3.10.0-957.27.2 이전의 Linux 커널 사용
  • NVMe(비휘발성 메모리 Express) 드라이브 사용

시스템에서 메모리 사용량이 높아지면 일반 Linux NVMe 드라이버가 쓰기 작업에 충분한 메모리를 할당하지 못할 수 있습니다. 그 결과, 시스템은 실제 교착 상태에서 비롯된 소프트 잠금을 보고합니다.

커널을 업그레이드하여 두 가지 문제를 모두 방지합니다. 또는 다음과 같은 해결 방법을 시도해 보세요.

  • 기본값 512를 사용하는 대신 /sys/block/nvme0n1/queue/max_sectors_kb128로 설정합니다.
  • VM의 각 NVMe 디바이스 및 VM 부팅 시 이 설정을 변경합니다.

다음 명령을 실행하여 해당 설정을 조정합니다.

# cat /sys/block/nvme0n1/queue/max_sectors_kb
512
# echo 128 >/sys/block/nvme0n1/queue/max_sectors_kb
# cat /sys/block/nvme0n1/queue/max_sectors_kb
128

VM 크기 조정 권장 사항

SAS 배포는 다음과 같은 VM SKU를 사용하는 경우가 많습니다.

Edsv5 시리즈

Edsv5 시리즈의 VM은 Viya 및 Grid의 기본 SAS 머신입니다. 다음과 같은 기능을 제공합니다.

  • 제한된 코어. 이 시리즈의 많은 컴퓨터에서 VM vCPU 수를 제한할 수 있습니다.
  • 양호한 CPU 대 메모리 비율.
  • 로컬로 연결된 높은 처리량의 디스크. I/O 속도는 SAS가 임시 파일에 사용하는 SASWORK와 같은 폴더 및 CAS_CACHE와 같은 CAS(Cloud Analytics Services) 캐시에서 중요합니다.

Edsv5 시리즈 VM을 사용할 수 없는 경우 이전 세대를 사용하는 것이 좋습니다. Edsv4 시리즈 VM은 테스트를 거쳤으며 SAS 워크로드에서 잘 수행되었습니다.

Ebsv5 시리즈

경우에 따라 로컬로 연결된 디스크에 SASWORK 또는 CAS_CACHE를 위한 충분한 스토리지 공간이 없는 경우도 있습니다. 더 큰 작업 디렉터리를 얻으려면 프리미엄 연결 디스크가 있는 Ebsv5 시리즈 VM을 사용합니다. 이러한 VM은 다음과 같은 기능을 제공합니다.

  • Edsv5 및 Esv5 VM과 동일한 사양
  • 원격 연결된 디스크에 대한 높은 처리량(최대 4GB/s)으로 SAS의 I/O 요구 사항에 따라 필요한 만큼 큰 SASWORK 또는 CAS_CACHE를 제공합니다.

Edsv5 시리즈 VM이 충분한 스토리지를 제공한다면 비용 효율성이 높기 때문에 VM을 사용하는 것이 좋습니다.

M 시리즈

많은 워크로드에서 다음을 포함한 M 시리즈 VM을 사용합니다.

  • 소프트웨어 아키텍처에 대한 Viya 접근 방식을 사용하는 SPRE(SAS Programming Runtime Environment) 구현.
  • 특정 SAS Grid 워크로드.

M 시리즈 VM은 다음과 같은 기능을 제공합니다.

  • 제한된 코어
  • 많은 양의 메모리를 사용하는 워크로드에 적합한 최대 3.8TiB의 메모리
  • 로컬로 사용 가능한 디스크가 부족한 경우 SASWORK 폴더에서 잘 작동하는 원격 디스크에 대한 높은 처리량

Ls 시리즈

특정 I/O가 많은 환경에서는 Lsv2 시리즈 또는 Lsv3 시리즈 VM을 사용해야 합니다. 특히 빠르고 짧은 대기 시간의 I/O 속도와 많은 양의 메모리가 필요한 구현은 이러한 유형의 머신에서 이점을 얻을 수 있습니다. 예제에는 SASWORK 폴더 또는 CAS_CACHE를 많이 사용하는 시스템이 포함되어 있습니다.

참고

SAS는 Intel MKL(Math Kernel Library)과 함께 사용할 수 있도록 서비스를 최적화합니다.

  • 수학 작업이 많은 워크로드에서는 Intel 프로세서를 사용하지 않는 VM(Lsv2 및 Lasv3)을 피합니다.
  • AMD CPU를 선택할 때는 MKL이 해당 CPU에서 어떻게 수행되는지 유효성을 검사합니다.

경고

가능하면 Lsv2 VM을 사용하지 않도록 합니다. 대신 Intel 칩셋이 장착된 Lsv3 VM을 사용하세요.

Azure를 사용하면 요청 시 다음과 같이 SAS Viya 시스템의 규모를 확장하여 최종 기한을 맞출 수 있습니다.

  • 노드 풀의 컴퓨팅 용량 증가
  • AKS 클러스터 자동 크기 조정기를 사용하여 노드를 추가하고 수평으로 크기 조정
  • SAS 워크로드를 가속화하기 위해 인프라를 일시적으로 스케일 업

참고

컴퓨팅 구성 요소의 크기를 조정하는 경우 스토리지 I/O 병목 현상을 방지하기 위해 스토리지를 스케일 업하는 것도 고려해 보세요.

Viya 3.5 및 Grid 워크로드에서는 Azure가 현재 수평 또는 수직 크기 조정을 지원하지 않습니다. Viya 2022는 수평 크기 조정을 지원합니다.

네트워크 및 VM 배치 고려 사항

SAS 워크로드는 종종 대화량이 많습니다. 따라서 상당한 양의 데이터가 전송될 수 있습니다. 모든 SAS 플랫폼에서 다음 권장 사항에 따라 많은 대화량의 영향을 줄입니다.

  • 동일한 가상 네트워크에 SAS 및 스토리지 플랫폼을 배포합니다. 이 방식을 사용하면 피어링 비용도 발생하지 않습니다.
  • 노드 간의 대기 시간을 줄이기 위해 SAS 컴퓨터를 근접 배치 그룹에 배치합니다.
  • 가능하면 동일한 근접 배치 그룹에 SAS 컴퓨터와 VM 기반 데이터 스토리지 플랫폼을 배포합니다.
  • 영역 간 대기 시간을 방지하기 위해 동일한 가용성 영역에 SAS 및 스토리지 어플라이언스를 배포합니다. 솔루션 구성 요소가 동일한 영역에 배포되었는지 확인할 수 없는 경우 Azure 지원 팀에 문의하세요.

SAS에는 VM에 대한 특정 FQDN(정규화된 도메인 이름) 요구 사항이 있습니다. 컴퓨터의 FQDN을 올바르게 설정하고 DNS(Domain Name System) 서비스가 작동하는지 확인합니다. Azure DNS를 사용하여 이름을 설정할 수 있습니다. etc 구성 폴더에서 hosts 파일을 편집할 수도 있습니다.

참고

SAS 배포에서 모든 노드에 대해 가속화된 네트워킹을 켭니다. 이 기능을 끄면 성능이 크게 저하됩니다.

VM에서 가속화된 네트워킹을 켜려면 다음 단계를 수행합니다.

  1. Azure CLI에서 다음 명령을 실행하여 VM 할당을 취소합니다.

    az vm deallocate --resource-group <resource_group_name> --name <VM_name>

  2. VM을 끕니다.

  3. CLI에서 다음 명령을 실행합니다.

    az network nic update -n <network_interface_name> -g <resource_group_name> --accelerated-networking true

Azure에서 데이터를 마이그레이션하거나 SAS와 상호 작용하는 경우 다음 솔루션 중 하나를 사용하여 온-프레미스 리소스를 Azure에 연결하는 것이 좋습니다.

Azure의 프로덕션 SAS 워크로드에서 ExpressRoute는 사이트 간 VPN에 비해 다음과 같은 이점을 제공하는 신뢰할 수 있는 프라이빗 전용 연결을 제공합니다.

  • 더 빠른 속도
  • 짧아진 대기 시간
  • 강화된 보안

SAS와 비 SAS 애플리케이션 간의 대기 시간에 민감한 인터페이스에 주의합니다. SAS에 가깝게 데이터 원본 및 싱크를 이동하는 것이 좋습니다.

ID 관리

SAS 플랫폼은 로컬 사용자 계정을 사용할 수 있습니다. 보안 LDAP 서버를 사용하여 사용자의 유효성을 검사할 수도 있습니다. Azure에서 도메인 컨트롤러를 실행하는 것이 좋습니다. 그런 다음, 도메인 가입 기능을 사용하여 보안 액세스를 제대로 관리합니다. 도메인 컨트롤러를 설정하지 않은 경우 Microsoft Entra Domain Services를 배포하는 것이 좋습니다. 도메인 가입 기능을 사용하는 경우 컴퓨터 이름이 15자 제한을 초과하지 않도록 합니다.

참고

일부 환경에서는 온-프레미스와 Azure 호스팅 SAS 환경 간의 온-프레미스 연결 또는 공유 데이터 세트에 대한 요구 사항이 있습니다. 이러한 상황에서는 Azure에 도메인 컨트롤러를 배포하는 것이 가장 좋습니다.

Microsoft Entra Domain Services 포리스트는 Microsoft Entra 디바이스에 대해 인증할 수 있지만 온-프레미스 리소스에 대해 인증할 수 없는 사용자를 생성하며 그 반대의 경우도 마찬가지입니다.

데이터 원본

SAS 솔루션은 여러 시스템의 데이터에 액세스하는 경우가 많습니다. 이러한 데이터 원본은 다음 두 가지 범주로 구분됩니다.

  • SAS가 SASDATA 폴더에 저장하는 SAS 데이터 세트
  • SAS에서 부하가 많이 발생하는 데이터베이스

최상의 성능을 얻으려면:

  • 데이터 원본을 SAS 인프라에 최대한 가깝게 배치합니다.
  • 데이터 원본과 SAS 인프라 사이의 네트워크 홉 및 어플라이언스 수를 제한합니다.

참고

데이터 원본을 SAS 인프라에 가깝게 이동할 수 없는 경우에는 분석을 실행하지 않도록 합니다. 대신 ETL(추출, 변환, 로드) 프로세스를 먼저 실행하고 나중에 분석합니다. 스트레스 상태의 데이터 원본과 동일한 접근 방식을 취합니다.

SAS 데이터에 대한 영구 원격 스토리지

SAS와 Microsoft는 SAS 데이터 세트를 호스트하는 데 사용할 수 있는 일련의 데이터 플랫폼을 테스트했습니다. SAS 블로그에서 성능 특성을 포함한 결과에 대해 자세히 설명합니다. 테스트에는 다음 플랫폼이 포함됩니다.

SAS는 Viya 및 Grid 아키텍처에 대한 성능 테스트 스크립트를 제공합니다. SAS 포럼에서는 이러한 플랫폼에서 스크립트를 사용하여 테스트를 수행하는 방법에 대한 설명서를 제공합니다.

IBM Spectrum Scale에서 제공하는 Sycomp Storage(GPFS)

IBM Spectrum Scale에 의해 제공되는 Sycomp Storage가 성능 기대치를 충족하는 방법에 대한 자세한 내용은 SAS Grid용 Sycomp의 SAS 리뷰를 참조하세요.

크기 조정을 위해 Sycomp는 다음과 같은 권장 사항을 제공합니다.

  • 코어당 150MBps의 구성으로 8개 코어마다 하나의 GPFS 확장 노드를 제공합니다.
  • 인스턴스당 최소 5개의 P30 드라이브를 사용합니다.
Azure Managed Lustre

Azure Managed Lustre는 HPC(고성능 컴퓨팅) 및 AI 워크로드를 위해 생성된 관리형 파일 시스템입니다. Managed Lustre는 SAS 9 및 Viya 워크로드를 병렬로 실행할 수 있습니다. 파일 시스템의 성능을 최적화하려면 다음 권장 사항을 따릅니다.

  • Managed Lustre를 배포할 때 모든 클라이언트 노드에서 튜닝을 수행하여 Lustre 클라이언트 읽기를 늘리고 SAS I/O 패턴에 대한 동시성을 최적화합니다. 이 튜닝을 수행하려면 다음 명령을 실행합니다.

    lctl set_param mdc.*.max_rpcs_in_flight=128 osc.*.max_pages_per_rpc=16M osc.*.max_rpcs_in_flight=16 osc.*.max_dirty_mb=1024 llite.*.max_read_ahead_mb=2048 osc.*.checksums=0  llite.*.max_read_ahead_per_file_mb=256
    
  • 모든 SAS VM에서 가속화된 네트워킹을 사용하도록 설정됩니다.

  • 네트워크 대기 시간을 줄이려면 MANAGED Lustre가 배포된 것과 동일한 가용성 영역에 SAS VM을 배치합니다.

Azure Files 프리미엄 계층

Azure Files 프리미엄 계층은 NFS 4.1 프로토콜을 지원하는 관리되는 서비스입니다. 비용 효율적이고 탄력적이고 성능이 뛰어나며 POSIX 규격 파일 시스템을 제공합니다. NFS 공유의 IOPS 및 처리량은 프로비전된 용량으로 확장됩니다. SAS는 Azure Files의 프리미엄 계층을 광범위하게 테스트했으며 성능이 SAS 설치에 충분한 것으로 나타났습니다.

성능을 개선하기 위해 nconnect를 사용할 수 있습니다. 이 탑재 옵션은 여러 채널을 통해 IO 요청을 분산합니다. 자세한 내용은 NFS 성능을 참조하세요.

Azure Files에서 NFS Azure 파일 공유를 사용하는 경우 다음 사항을 고려합니다.

  • 성능 요구 사항을 충족하도록 프로비전된 용량을 조정합니다. NFS 공유의 IOPS 및 처리량은 프로비전된 용량으로 확장됩니다. 자세한 내용은 NFS 성능을 참조하세요.
  • 최적의 성능 병렬 채널 사용을 위해 nconnect=4의 설정과 함께 탑재에서 nConnect를 사용합니다.
  • 미리 읽기 설정을 rsizewsize의 15배로 최적화합니다. 대부분의 워크로드의 경우 rsizewsize는 1MB, read-ahead 설정은 15MB로 하는 것이 좋습니다. 자세한 내용은 미리 읽기 크기 증가를 참조하세요.
Azure NetApp Files(NFS)

SAS는 테스트를 통해 SAS Grid에 대한 NetApp 성능의 유효성을 검사했습니다. 특히 테스트에서는 Azure NetApp Files가 여러 컴퓨터에 걸쳐 최대 32개의 물리적 코어로 구성된 SAS Grid 클러스터에 대한 실행 가능한 기본 스토리지 옵션임을 보여 줍니다. NetApp에서 제공하는 최적화 및 Linux 기능을 사용하는 경우 Azure NetApp Files는 여러 컴퓨터에 걸쳐 최대 48개의 물리적 코어 클러스터에 대한 기본 옵션이 될 수 있습니다.

이 서비스를 사용하는 경우 다음 사항을 고려하세요.

  • Azure NetApp Files는 Viya 배포에서 원활하게 작동합니다. 쓰기 처리량이 부적절하므로 Viya에서 CAS 캐시에는 Azure NetApp Files를 사용하지 않도록 합니다. 가능하면 VM의 로컬 임시 디스크를 대신 사용합니다.
  • Grid 9.4를 사용하는 SAS 9 Foundation에서 SASDATA 파일에 대해 SAS를 사용한 Azure NetApp Files의 성능은 최대 32개의 물리적 코어 클러스터에 적합합니다. 튜닝이 적용되면 최대 48개의 코어까지 높일 수 있습니다.
  • 성능을 높이려면 Azure NetApp Files를 배포할 때 프리미엄 또는 Ultra 스토리지 계층 서비스 수준 이상을 선택합니다. 매우 큰 볼륨에는 표준 서비스 수준을 선택할 수 있습니다. 프리미엄 수준에서 시작하여 나중에 Ultra 또는 표준으로 전환하는 것이 좋습니다. 서비스 수준은 중단 또는 데이터 마이그레이션 없이 온라인으로 변경할 수 있습니다.
  • Azure NetApp Files에서는 읽기 성능 및 쓰기 성능이 서로 다릅니다. SAS에 대한 쓰기 처리량은 약 1600MiB/s의 제한에 도달하지만 읽기 처리량은 이 제한을 넘어 약 4500MiB/s까지 도달합니다. 연속적으로 높은 쓰기 처리량이 필요한 경우에는 Azure NetApp Files가 적합하지 않을 수 있습니다.
NFS 미리 읽기 튜닝

SAS 워크로드의 성능을 향상시키려면 NFS 공유가 탑재되는 방식에 영향을 주는 read-ahead 커널 설정을 조정 하는 것이 중요합니다. 미리 읽기를 사용하도록 설정하면 Linux 커널은 애플리케이션에서 실제 I/O 전에 블록을 요청할 수 있습니다. 그 결과 순차적 읽기 처리량이 향상되었습니다. 대부분의 SAS 워크로드는 추가 처리를 위해 많은 대용량 파일을 읽으므로 SAS는 대규모 미리 읽기 버퍼의 이점을 크게 활용합니다.

Linux 커널 5.4 이상에서는 기본 미리 읽기가 15MB에서 128KB로 변경되었습니다. 새 기본값은 SAS에 대한 읽기 성능을 감소시킵니다. 성능을 극대화하려면 SAS Linux VM에서 미리 읽기 설정을 늘립니다. SAS 및 Microsoft는 미리 읽기를 rsizewsize의 15배로 설정하는 것이 좋습니다. 이상적으로는 rsizewsize 모두 1MB이고 read-ahead는 15MB입니다.

가상 머신에서 미리 읽기를 설정하는 것은 간단합니다. udev 규칙을 추가해야 합니다.

Kubernetes의 경우 이 프로세스는 Pod가 아닌 호스트에서 수행해야 하기 때문에 더 복잡합니다. SAS는 게시물에 미리 읽기 값을 자동으로 설정하는 AKS의 Viya에 대한 스크립트를 제공합니다. 자세한 내용은 Kubernetes의 SAS Viya용 Azure Files에서 NFS Premium 공유 사용을 참조하세요.

기타 데이터 원본

SAS 플랫폼은 다양한 데이터 원본을 지원합니다.

고려 사항

이러한 고려 사항은 워크로드의 품질을 향상시키는 데 사용할 수 있는 일단의 지침 원칙인 Azure Well-Architected Framework의 핵심 요소를 구현합니다. 자세한 내용은 Microsoft Azure Well-Architected Framework를 참조하세요.

보안

우수한 보안은 중요한 데이터 및 시스템에 대한 고의적인 공격과 악용을 방어합니다. 자세한 내용은 보안 요소의 개요를 참조하세요.

SAS 워크로드의 출력은 조직의 중요한 자산 중 하나일 수 있습니다. SAS 출력은 내부 효율성에 대한 인사이트를 제공하며 보고 전략에서 중요한 역할을 할 수 있습니다. 따라서 SAS 아키텍처에 대한 액세스를 보호하는 것이 중요합니다. 이 목표를 달성하려면 보안 인증을 사용하고 네트워크 취약성을 해결합니다. 암호화를 사용하여 아키텍처에 들어오고 나가는 모든 데이터를 보호할 수 있습니다.

Azure는 IaaS(Infrastructure as a Service) 클라우드 모델을 사용하여 SAS를 제공합니다. Microsoft는 다음 수준에서 서비스에 보안 대책을 빌드합니다.

  • 실제 데이터 센터
  • 실제 네트워크
  • 물리적 호스트
  • 하이퍼바이저

SAS용 게스트 운영 체제와 같이 하이퍼바이저 위의 영역에 대해 선택한 서비스 및 기술을 신중하게 평가합니다. 아키텍처에 적절한 보안 장치를 제공해야 합니다.

SAS는 현재 Microsoft Entra ID를 완전히 지원하지 않습니다. SAS의 시각화 레이어에 대한 인증의 경우 Microsoft Entra ID를 사용할 수 있습니다. 그러나 백 엔드 권한 부여의 경우 온-프레미스 인증과 유사한 전략을 사용합니다. IaaS 리소스를 관리하는 경우 Azure Portal 인증 및 권한 부여에 Microsoft Entra ID를 사용할 수 있습니다. Microsoft Entra Domain Services를 사용하는 경우 게스트 계정을 인증할 수 없습니다. 게스트의 로그인 시도는 실패합니다.

가상 네트워크의 리소스에 들어오고 나가는 네트워크 트래픽을 필터링하려면 네트워크 보안 그룹을 사용합니다. 이러한 그룹을 사용하면 SAS 서비스에 대한 액세스 권한을 부여하거나 거부하는 규칙을 정의할 수 있습니다. 다음은 이러한 템플릿의 예입니다.

  • 온-프레미스 IP 주소 범위에서 CAS 작업자 포트에 대한 액세스 권한을 부여합니다.
  • 인터넷에서의 SAS 서비스에 대한 액세스를 차단합니다.

운영 체제 내에서 암호화에 Azure Disk Encryption을 사용할 수 있습니다. 이 솔루션은 Linux의 DM-Crypt 기능을 사용합니다. 그러나 현재는 Azure Disk Encryption을 사용하지 않는 것이 좋습니다. 특히 로컬에서 SASWORK 파일을 사용하는 경우 성능이 심각하게 저하될 수 있습니다.

Azure Disk Storage의 SSE(서버 쪽 암호화)는 데이터를 보호합니다. 또한 조직의 보안 및 규정 준수 약정을 충족하는 데 도움이 됩니다. 데이터를 클라우드에 유지하는 경우 SSE는 Azure 관리 디스크를 사용하여 미사용 데이터를 암호화합니다. 이 동작은 OS 및 데이터 디스크 모두에 기본적으로 적용됩니다. 플랫폼 관리형 키 또는 사용자 고유의 키를 사용하여 관리 디스크를 암호화할 수 있습니다.

인프라 준비

배포하는 Azure 리소스에 대한 액세스를 제어합니다. 모든 Azure 구독은 Microsoft Entra 테넌트와 트러스트 관계가 있습니다. Azure RBAC(Azure 역할 기반 액세스 제어)를 사용하여 조직 내의 사용자에게 Azure 리소스에 대한 올바른 사용 권한을 부여합니다. 특정 범위에서 사용자 또는 그룹에 Azure 역할을 할당하여 액세스를 부여합니다. 범위는 구독, 리소스 그룹 또는 단일 리소스일 수 있습니다. 인프라에 대한 모든 변경 내용을 감사해야 합니다.

Azure Bastion을 통해 VM에 대한 원격 액세스를 관리합니다. 이러한 구성 요소를 인터넷에 노출하지 않도록 합니다.

  • VM
  • SSH(보안 셸 프로토콜) 포트
  • RDP(원격 데스크톱 프로토콜) 포트

시나리오 배포

IaC(Infrastructure as Code) 프로세스를 사용하여 워크로드를 배포하는 것이 가장 좋습니다. SAS 워크로드는 수동 배포에서 자주 발생하는 잘못된 구성에 민감할 수 있으며 생산성이 저하될 수 있습니다.

환경을 빌드할 때 CoreCompete SAS 9 또는 Azure의 Viya에서 빠른 시작 참조 자료를 참조하세요.

참가자

Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.

주요 작성자:

기타 기여자:

비공개 LinkedIn 프로필을 보려면 LinkedIn에 로그인합니다.

다음 단계

시작에 대한 도움말은 다음 리소스를 참조하세요.

자동화 프로세스에 대한 도움말은 SAS에서 제공하는 다음 템플릿을 참조하세요.