빠른 시작: ARM 템플릿을 사용하여 Azure Synapse Analytics 전용 SQL 풀(이전의 SQL DW) 만들기

Tip

Microsoft Fabric Data Warehouse는 데이터 레이크 기반의 엔터프라이즈 규모 관계형 웨어하우스로, 미래 대비 아키텍처, 기본 제공 AI 및 새로운 기능을 제공합니다. 데이터 웨어하우징이 처음이라면, Fabric Data Warehouse부터 시작하세요. 기존 전용 SQL 풀 워크로드는 Fabric으로 업그레이드함으로써 데이터 과학, 실시간 분석 및 보고 전반에 걸쳐 새로운 기능에 액세스할 수 있습니다.

이 ARM 템플릿(Azure Resource Manager 템플릿)은 투명한 데이터 암호화가 활성화된 전용 SQL 풀(이전의 SQL DW)을 만듭니다. 전용 SQL 풀(이전의 SQL DW)은 Azure Synapse에서 일반적으로 사용할 수 있는 엔터프라이즈 데이터 웨어하우징 기능을 나타냅니다.

Azure Resource Manager 템플릿은 프로젝트에 대한 인프라 및 구성을 정의하는 JSON(JavaScript Object Notation) 파일입니다. 이 템플릿은 선언적 구문을 사용합니다. 배포를 만들기 위한 프로그래밍 명령의 시퀀스를 작성하지 않고 의도하는 배포를 설명합니다.

환경이 필수 구성 요소를 충족하고 ARM 템플릿 사용에 익숙한 경우 Azure에 배포 단추를 선택합니다. 그러면 Azure Portal에서 템플릿이 열립니다.

Resource Manager 템플릿을 Azure에 배포하는 단추

필수 조건

Azure 구독이 없는 경우, 시작하기 전에 무료 계정을 만드십시오.

템플릿 검토

이 빠른 시작에서 사용되는 템플릿은 Azure 빠른 시작 템플릿에서 나온 것입니다.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.26.54.24096",
      "templateHash": "15855786620646717380"
    }
  },
  "parameters": {
    "sqlServerName": {
      "type": "string",
      "defaultValue": "[format('sql{0}', uniqueString(resourceGroup().id))]",
      "metadata": {
        "description": "The SQL Logical Server name."
      }
    },
    "sqlAdministratorLogin": {
      "type": "string",
      "metadata": {
        "description": "The administrator username of the SQL Server."
      }
    },
    "sqlAdministratorPassword": {
      "type": "securestring",
      "metadata": {
        "description": "The administrator password of the SQL Server."
      }
    },
    "databasesName": {
      "type": "string",
      "metadata": {
        "description": "The name of the Database."
      }
    },
    "transparentDataEncryption": {
      "type": "string",
      "defaultValue": "Enabled",
      "allowedValues": [
        "Enabled",
        "Disabled"
      ],
      "metadata": {
        "description": "Enable/Disable Transparent Data Encryption"
      }
    },
    "capacity": {
      "type": "int",
      "minValue": 900,
      "maxValue": 54000,
      "metadata": {
        "description": "DW Performance Level expressed in DTU (i.e. 900 DTU = DW100c)"
      }
    },
    "databaseCollation": {
      "type": "string",
      "defaultValue": "SQL_Latin1_General_CP1_CI_AS",
      "metadata": {
        "description": "The SQL Database collation."
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Resource location"
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.Sql/servers",
      "apiVersion": "2023-08-01-preview",
      "name": "[parameters('sqlServerName')]",
      "location": "[parameters('location')]",
      "properties": {
        "administratorLogin": "[parameters('sqlAdministratorLogin')]",
        "administratorLoginPassword": "[parameters('sqlAdministratorPassword')]",
        "version": "12.0",
        "publicNetworkAccess": "Enabled",
        "minimalTlsVersion": "1.2",
        "restrictOutboundNetworkAccess": "Disabled"
      }
    },
    {
      "type": "Microsoft.Sql/servers/databases",
      "apiVersion": "2023-08-01-preview",
      "name": "[format('{0}/{1}', parameters('sqlServerName'), parameters('databasesName'))]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "DataWarehouse",
        "tier": "DataWarehouse",
        "capacity": "[parameters('capacity')]"
      },
      "properties": {
        "collation": "[parameters('databaseCollation')]",
        "catalogCollation": "[parameters('databaseCollation')]",
        "readScale": "Disabled",
        "requestedBackupStorageRedundancy": "Geo",
        "isLedgerOn": false
      },
      "dependsOn": [
        "[resourceId('Microsoft.Sql/servers', parameters('sqlServerName'))]"
      ]
    },
    {
      "type": "Microsoft.Sql/servers/databases/transparentDataEncryption",
      "apiVersion": "2023-08-01-preview",
      "name": "[format('{0}/{1}/{2}', parameters('sqlServerName'), parameters('databasesName'), 'current')]",
      "properties": {
        "state": "[parameters('transparentDataEncryption')]"
      },
      "dependsOn": [
        "[resourceId('Microsoft.Sql/servers/databases', parameters('sqlServerName'), parameters('databasesName'))]"
      ]
    },
    {
      "type": "Microsoft.Sql/servers/securityAlertPolicies",
      "apiVersion": "2023-08-01-preview",
      "name": "[format('{0}/{1}', parameters('sqlServerName'), 'default')]",
      "properties": {
        "state": "Enabled"
      },
      "dependsOn": [
        "[resourceId('Microsoft.Sql/servers', parameters('sqlServerName'))]"
      ]
    },
    {
      "type": "Microsoft.Sql/servers/auditingSettings",
      "apiVersion": "2023-08-01-preview",
      "name": "[format('{0}/{1}', parameters('sqlServerName'), 'default')]",
      "properties": {
        "isAzureMonitorTargetEnabled": true,
        "state": "Enabled",
        "retentionDays": 7,
        "auditActionsAndGroups": [
          "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
          "FAILED_DATABASE_AUTHENTICATION_GROUP",
          "BATCH_COMPLETED_GROUP"
        ]
      },
      "dependsOn": [
        "[resourceId('Microsoft.Sql/servers', parameters('sqlServerName'))]"
      ]
    }
  ],
  "outputs": {
    "location": {
      "type": "string",
      "value": "[parameters('location')]"
    },
    "name": {
      "type": "string",
      "value": "[parameters('sqlServerName')]"
    },
    "resourceGroupName": {
      "type": "string",
      "value": "[resourceGroup().name]"
    },
    "resourceId": {
      "type": "string",
      "value": "[resourceId('Microsoft.Sql/servers', parameters('sqlServerName'))]"
    }
  }
}

템플릿은 하나의 리소스를 정의합니다.

템플릿 배포

  1. 다음 이미지를 선택하여 Azure에 로그인하고 템플릿을 엽니다. 이 템플릿은 전용 SQL 풀(이전의 SQL DW)을 만듭니다.

    Resource Manager 템플릿을 Azure에 배포하는 단추

  2. 다음 값을 입력하거나 업데이트합니다.

    • 구독: Azure 구독을 선택합니다.
    • 리소스 그룹: 새로 만들기를 선택하고 리소스 그룹에 고유한 이름을 입력하고 확인을 선택합니다. 새 리소스 그룹은 리소스 정리를 용이하게 합니다.
    • 지역: 지역을 선택합니다. 예: 미국 중부
    • SQL Server name: 기본 이름을 적용하거나 SQL Server 이름의 이름을 입력합니다.
    • SQL 관리자 로그인: SQL Server의 관리자 사용자 이름을 입력합니다.
    • SQL 관리자 암호: SQL Server의 관리자 암호를 입력합니다.
    • 데이터 웨어하우스 이름: 전용 SQL 풀 이름을 입력합니다.
    • 투명한 데이터 암호화: 기본값인 사용을 수락합니다.
    • 서비스 수준 목표: 기본값인 DW400c를 수락합니다.
    • 위치: 리소스 그룹의 기본 위치를 수락합니다.
    • 검토 및 만들기: 선택합니다.
    • 만들기: 선택합니다.

배포된 리소스 검토

Azure Portal을 사용하여 배포된 리소스를 확인하거나 Azure CLI 또는 Azure PowerShell 스크립트를 사용하여 배포된 리소스를 나열할 수 있습니다.

echo "Enter the resource group where your dedicated SQL pool (formerly SQL DW) exists:" &&
read resourcegroupName &&
az resource list --resource-group $resourcegroupName

리소스 정리

더 이상 필요하지 않은 경우 Azure CLI 또는 Azure PowerShell을 사용하여 리소스 그룹을 삭제합니다.

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."

다음 단계

이 빠른 시작에서는 ARM 템플릿을 사용하여 전용 SQL 풀(이전의 SQL DW)을 만들고 배포의 유효성을 검사했습니다. Azure Synapse Analytics 및 Azure Resource Manager에 대해 자세히 알아보려면 아래 문서를 참조하세요.