자습서: AKS(Azure Kubernetes Services)의 AD 모드에서 SQL Server 빅 데이터 클러스터 배포

이 문서에서는 참조 아키텍처를 사용하여 Active Directory 인증 모드에서 SQL Server 빅 데이터 클러스터를 배포하는 방법을 설명합니다. 참조 아키텍처는 온-프레미스 AD DS(Active Directory Domain Services)를 Azure로 확장합니다. Azure 아키텍처 센터에서 Azure 구성 요소를 사용하여 배포할 수 있습니다.

Important

Microsoft SQL Server 2019 빅 데이터 클러스터 추가 기능이 사용 중지됩니다. SQL Server 2019 빅 데이터 클러스터에 대한 지원은 2025년 2월 28일에 종료됩니다. Software Assurance를 사용하는 SQL Server 2019의 모든 기존 사용자는 플랫폼에서 완전히 지원되며, 소프트웨어는 지원 종료 시점까지 SQL Server 누적 업데이트를 통해 계속 유지 관리됩니다. 자세한 내용은 공지 블로그 게시물Microsoft SQL Server 플랫폼의 빅 데이터 옵션을 참조하세요.

필수 조건

SQL Server 빅 데이터 클러스터를 배포하기 전에 다음을 수행해야 합니다.

  • 관리를 위해 Azure VM에 액세스합니다. 이 VM은 빅 데이터 클러스터를 배포할 Azure Virtual Network(VNet)에 대한 액세스 권한이 필요합니다. 동일한 VNet 또는 피어된 VNet에 있어야 합니다.
  • 관리 VM에 빅 데이터 도구를 설치합니다.
  • 온-프레미스 AD 컨트롤러의 Active Directory 인증 모드에서 클러스터 배포를 준비합니다.

AKS 서브넷 만들기

  1. 환경 변수 설정

    export REGION_NAME=< your Azure Region >
    export RESOURCE_GROUP=<your resource group >
    export SUBNET_NAME=aks-subnet
    export VNet_NAME= adds-vnet
    export AKS_NAME= <your aks cluster name>
    
  2. AKS 서브넷 만들기

    SUBNET_ID=$(az network vnet subnet show \
     --resource-group $RESOURCE_GROUP \
     --vnet-name $VNet_NAME \
     --name $SUBNET_NAME \
     --query id -o tsv)
    

다음 스크린샷은 아키텍처의 VNet에 있는 서브넷을 계획하는 방법을 보여줍니다.

Diagram of the AKS cluster with AD and SQL Server Big Data Cluster.

AKS 프라이빗 클러스터 만들기

다음 명령을 사용하여 AKS 프라이빗 클러스터를 배포할 수 있습니다. 프라이빗 클러스터가 필요하지 않은 경우 명령에서 --enable-private-cluster 매개 변수를 제거합니다. 다른 요구 사항에 대한 자세한 내용은 AKS(Azure Kubernetes Cluster)를 배포하는 방법을 참조하세요.

az aks create \
    --resource-group $RESOURCE_GROUP \
    --name $AKS_NAME \
    --load-balancer-sku standard \
    --enable-private-cluster \
    --network-plugin azure \
    --vnet-subnet-id $SUBNET_ID \
    --docker-bridge-address 172.17.0.1/16 \
    --dns-service-ip 10.3.0.10 \
    --service-cidr 10.3.0.0/24 \
    --node-vm-size Standard_D13_v2 \
    --node-count 2 \
    --generate-ssh-keys

AKS 클러스터를 배포한 후 AKS 클러스터에 연결합니다.

도메인 컨트롤러에 대한 역방향 DNS 항목 확인

AKS 클러스터의 AD 모드에서 SQL Server 빅 데이터 클러스터 배포를 시작하려면 먼저 도메인 컨트롤러 자체에서 A 레코드PTR 레코드(역방향 DNS 항목)가 DNS 서버에 등록되어 있는지 확인합니다.

이 설정을 확인하려면 nslookup 명령을 실행하거나 PowerShell 스크립트를 실행하여 역방향 DNS 항목(PTR 레코드)이 구성되어 있는지 확인합니다.

빅 데이터 클러스터 배포 프로필 만들기

다음 명령을 사용하여 배포 프로필을 만듭니다.

azdata bdc config init --source kubeadm-prod  --target bdc-ad-aks

다음 명령을 사용하여 배포 프로필에 대한 매개 변수를 설정합니다.

control.json

azdata bdc config replace -p bdc-ad-aks/control.json -j "$.spec.storage.data.className=default"
azdata bdc config replace -p bdc-ad-aks/control.json -j "$.spec.storage.logs.className=default"
azdata bdc config replace -p bdc-ad-aks/control.json -j "$.spec.endpoints[0].serviceType=NodePort"
azdata bdc config replace -p bdc-ad-aks/control.json -j "$.spec.endpoints[1].serviceType=NodePort"
azdata bdc config replace -p bdc-ad-aks/control.json -j "$.spec.endpoints[0].dnsName=controller.contoso.com"
azdata bdc config replace -p bdc-ad-aks/control.json -j "$.spec.endpoints[1].dnsName=proxys.contoso.com"

# security settings 
azdata bdc config replace -p bdc-ad-aks/control.json -j "$.security.activeDirectory.ouDistinguishedName=OU\=bdc\,DC\=contoso\,DC\=com"
azdata bdc config replace -p bdc-ad-aks/control.json -j "$.security.activeDirectory.dnsIpAddresses=[\"192.168.0.4\"]"
azdata bdc config replace -p bdc-ad-aks/control.json -j "$.security.activeDirectory.domainControllerFullyQualifiedDns=[\"ad1.contoso.com\"]"
azdata bdc config replace -p bdc-ad-aks/control.json -j "$.security.activeDirectory.domainDnsName=contoso.com"
azdata bdc config replace -p bdc-ad-aks/control.json -j "$.security.activeDirectory.clusterAdmins=[\"bdcadminsgroup\"]"
azdata bdc config replace -p bdc-ad-aks/control.json -j "$.security.activeDirectory.clusterUsers=[\"bdcusersgroup\"]"

bdc.json

azdata bdc config replace -p bdc-ad-aks/bdc.json -j "$.spec.resources.master.spec.endpoints[0].dnsName=master.contoso.com"
azdata bdc config replace -p bdc-ad-aks/bdc.json -j "$.spec.resources.master.spec.endpoints[0].serviceType=NodePort"
azdata bdc config replace -p bdc-ad-aks/bdc.json -j "$.spec.resources.master.spec.endpoints[1].dnsName=mastersec.contoso.com"
azdata bdc config replace -p bdc-ad-aks/bdc.json -j "$.spec.resources.master.spec.endpoints[1].serviceType=NodePort"
azdata bdc config replace -p bdc-ad-aks/bdc.json -j "$.spec.resources.gateway.spec.endpoints[0].dnsName=gateway.contoso.com"
azdata bdc config replace -p bdc-ad-aks/bdc.json -j "$.spec.resources.gateway.spec.endpoints[0].serviceType=NodePort"
azdata bdc config replace -p bdc-ad-aks/bdc.json -j "$.spec.resources.appproxy.spec.endpoints[0].dnsName=approxy.contoso.com"
azdata bdc config replace -p bdc-ad-aks/bdc.json -j "$.spec.resources.appproxy.spec.endpoints[0].serviceType=NodePort"

배포 시작

다음 명령은 빅 데이터 클러스터 배포를 시작합니다.

azdata bdc create --config-profile bdc-ad-aks --accept-eula yes