Azure Stack Hub에서 SQL Server 리소스 공급자 배포

중요

Azure Stack Hub 빌드 2108부터 액세스 권한이 부여된 구독에 SQL 및 MySQL 리소스 공급자가 제공됩니다. 이 기능을 사용하거나 이전 버전에서 업그레이드해야 하는 경우 지원 사례를 열고 지원 엔지니어가 배포 또는 업그레이드 프로세스를 안내합니다.

Azure Stack Hub SQL Server 리소스 공급자를 사용하여 SQL 데이터베이스를 Azure Stack Hub 서비스로 노출합니다.

SQL 리소스 공급자는 Windows Server 2016 Server Core 가상 머신에서 서비스로 실행됩니다.

SQL 리소스 공급자는 특수 추가 기능 RP Windows Server에서 서비스로 실행됩니다.

중요

리소스 공급자만 SQL 또는 MySQL을 호스트하는 서버에 항목을 만들어야 합니다. 리소스 공급자가 만들지 않은 호스트 서버에서 만든 항목은 지원되지 않으며 상태가 일치하지 않을 수 있습니다.

사전 요구 사항

리소스 공급자를 이미 설치한 경우 다음 필수 구성 요소를 완료했을 가능성이 높으며 이 섹션을 건너뛸 수 있습니다. 그렇지 않은 경우 계속하기 전에 다음 단계를 완료합니다.

  1. Azure Stack Hub 인스턴스를 등록하지 않은 경우 Azure에 등록합니다. 이 단계는 Azure에서 마켓플레이스에 연결하고 마켓플레이스에 항목을 다운로드하기 때문에 필요합니다.

  2. Azure Stack Hub 관리자 포털의 Marketplace 관리 기능에 익숙하지 않은 경우 Azure에서 마켓플레이스 항목 다운로드를 검토하고 Azure Stack Hub에 게시합니다. 이 문서에서는 Azure에서 Azure Stack Hub 마켓플레이스로 항목을 다운로드하는 과정을 안내합니다. 연결된 시나리오와 연결되지 않은 시나리오를 모두 다룹니다. Azure Stack Hub 인스턴스의 연결이 끊어지거나 부분적으로 연결된 경우 설치를 준비하기 위해 완료해야 하는 추가 필수 구성 요소가 있습니다.

  3. Azure Active Directory(Azure AD) 홈 디렉터리를 업데이트합니다. 빌드 1910부터 홈 디렉터리 테넌트에 새 애플리케이션을 등록해야 합니다. 이 앱을 사용하면 Azure Stack Hub가 Azure AD 테넌트에 최신 리소스 공급자(예: Event Hubs 및 기타)를 성공적으로 만들고 등록할 수 있습니다. 이는 빌드 1910 이상으로 업그레이드한 후 수행해야 하는 일회성 작업입니다. 이 단계가 완료되지 않으면 마켓플레이스 리소스 공급자 설치가 실패합니다.

SQL Server 리소스 공급자 필수 구성 요소

  • 액세스할 수 있는 컴퓨터와 계정이 필요합니다.

    • Azure Stack Hub 관리자 포털
    • 권한 있는 엔드포인트(SQL Server 리소스 공급자 V1을 배포하거나 SQL Server 리소스 공급자 V1에서 SQL Server 리소스 공급자 V2로 업그레이드하는 경우에만 필요).
    • Azure Resource Manager 관리자 엔드포인트https://adminmanagement.region.<fqdn>( 정규화된 도메인 이름)<fqdn>.
    • Azure Stack Hub가 id 공급자로 Azure Active Directory(Azure AD)를 사용하도록 배포된 경우 인터넷입니다.
  • 아래 버전 매핑 테이블에 따라 지원되는 SQL 리소스 공급자 이진 버전을 다운로드합니다. V2 SQL 리소스 공급자의 경우 Azure Stack Hub에 마켓플레이스 항목을 다운로드합니다.

    지원되는 Azure Stack Hub 버전 SQL RP 버전 RP 서비스가 실행 중인 Windows 서버
    2108 SQL RP 버전 2.0.6.x Microsoft AzureStack 추가 기능 RP Windows Server 1.2009.0
    2108, 2102, 2008, 2005 SQL RP 버전 1.1.93.5 Microsoft AzureStack 추가 기능 RP Windows Server
  • 필요한 Windows 서버 VM이 Azure Stack Hub Marketplace에 다운로드되었는지 확인합니다. 필요한 경우 위의 버전 매핑 테이블에 따라 이미지를 수동으로 다운로드합니다.

  • 데이터 센터 통합 필수 구성 요소가 충족되는지 확인합니다.

    필수 요소 참조
    조건부 DNS 전달이 올바르게 설정되었습니다. Azure Stack Hub 데이터 센터 통합 - DNS
    리소스 공급자에 대한 인바운드 포트가 열려 있습니다. Azure Stack Hub 데이터 센터 통합 - 포트 및 프로토콜 인바운드
    PKI 인증서 주체 및 SAN이 올바르게 설정됩니다. Azure Stack Hub 배포 필수 PKI 필수 구성 요소
    Azure Stack Hub 배포 PaaS 인증서 필수 구성 요소
  • 인증서를 준비합니다. (통합 시스템 설치에만 해당)

    • Azure Stack Hub 배포 PKI 요구 사항의 선택적 PaaS 인증서 섹션에 설명된 SQL PaaS PKI 인증서를 제공해야 합니다. SAN(주체 대체 이름)은 CN=*.dbadapter 명명 패턴을 준수해야 합니다.< 지역입니다>.< 암호가 보호된 fqdn>. Screenshot of marketplace management downloaded packages.
    • SQL Server 리소스 공급자 V1을 배포할 때 DependencyFilesLocalPath 매개 변수로 지정된 위치에 .pfx 파일을 배치합니다. ASDK 시스템에 대한 인증서를 제공하지 마세요.
    • SQL Server 리소스 공급자 V2를 배포할 때 다음 설치 단계에 대한 인증서를 준비합니다.

연결이 끊긴 시나리오

연결이 끊긴 시나리오에서 SQL Server 리소스 공급자 V2를 배포하는 경우 Azure Stack Hub에 마켓플레이스 항목 다운로드 지침에 따라 SQL Server 리소스 공급자 항목 및 추가 기능 RP Windows Server 항목을 Azure Stack Hub 환경에 다운로드합니다.

연결이 끊긴 시나리오에서 SQL Server 리소스 공급자 V1을 배포하는 경우 다음 단계를 완료하여 필요한 PowerShell 모듈을 다운로드하고 리포지토리를 수동으로 등록합니다.

  1. 인터넷에 연결된 컴퓨터에 로그인하고 다음 스크립트를 사용하여 PowerShell 모듈을 다운로드합니다.

    Import-Module -Name PowerShellGet -ErrorAction Stop
    Import-Module -Name PackageManagement -ErrorAction Stop
    
    # path to save the packages, c:\temp\azs1.6.0 as an example here
    $Path = "c:\temp\azs1.6.0"
    
  2. 배포하는 리소스 공급자의 버전에 따라 스크립트 중 하나를 실행합니다.

    # for resource provider version >= 1.1.93.0
    Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureRM -Path $Path -Force -RequiredVersion 2.5.0
    Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $Path -Force -RequiredVersion 1.8.2
    
    # for resource provider version <= 1.1.47.0
    Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureRM -Path $Path -Force -RequiredVersion 2.3.0
    Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $Path -Force -RequiredVersion 1.6.0
    
  3. 그런 다음 다운로드한 패키지를 USB 디바이스에 복사합니다.

  4. 연결이 끊긴 워크스테이션에 로그인하고 USB 장치에서 워크스테이션의 위치로 패키지를 복사합니다.

  5. 이 위치를 로컬 리포지토리로 등록합니다.

    # requires -Version 5
    # requires -RunAsAdministrator
    # requires -Module PowerShellGet
    # requires -Module PackageManagement
    
    $SourceLocation = "C:\temp\azs1.6.0"
    $RepoName = "azs1.6.0"
    
    Register-PSRepository -Name $RepoName -SourceLocation $SourceLocation -InstallationPolicy Trusted
    
    New-Item -Path $env:ProgramFiles -name "SqlMySqlPsh" -ItemType "Directory"
    

SQL 리소스 공급자 V2 배포

V1 버전에서 업그레이드하는 경우 SQL Server 리소스 공급자 업데이트 문서를 참조하세요.

설치 시작

  1. 아직 로그인하지 않은 경우 Azure Stack Hub 관리자 포털에 로그인하고 왼쪽에서 Marketplace 관리를 선택한 다음 리소스 공급자를 선택합니다.

  2. SQL 리소스 공급자 및 기타 필수 소프트웨어가 다운로드되면 Marketplace Management는 "설치되지 않음" 상태의 "SQL Server 리소스 공급자" 패키지를 표시합니다. "다운로드됨" 상태로 표시되는 다른 패키지가 있을 수 있습니다. Screenshot of marketplace management before installing the RP.

  3. 설치하려는 행을 선택합니다. SQL Server 리소스 공급자 설치 패키지 페이지에는 위쪽에 파란색 배너가 표시됩니다. 배너를 선택하여 설치를 시작합니다. Screenshot of marketplace management begin install.

필수 구성 요소 설치

  1. 그러면 설치 페이지로 이동합니다. 필수 구성 요소 설치를 선택하여 설치 프로세스를 시작합니다. Screenshot of marketplace management install prerequisites.

  2. 필수 구성 요소가 설치될 때까지 기다립니다. 다음 단계로 진행하기 전에 필수 구성 요소 설치 옆에 녹색 확인 표시가 표시되어야 합니다. Screenshot of marketplace management install prerequisites succeeded.

비밀 준비

  1. 2 아래에 있습니다. 비밀 단계를 준비하고인증서 추가를 선택하면 인증서 추가 패널이 나타납니다. Screenshot of marketplace management prepare secrets.

  2. 인증서 추가에서 찾아보기 단추를 선택합니다(인증서 파일 이름 필드 바로 오른쪽에 있음). 필수 구성 요소를 완료할 때 구매한 .pfx 인증서 파일을 선택합니다.

  3. 제공한 암호를 입력하여 SQL Server 리소스 공급자 SSL 인증서에 대한 보안 문자열을 만듭니다. 그런 다음, 추가를 선택합니다. Screenshot of marketplace management add certificate.

리소스 공급자 설치

  1. 인증서 설치가 성공하면 다음 단계를 진행하기 전에 비밀 준비 옆에 녹색 확인 표시가 표시됩니다. 이제 3 리소스 공급자 설치 옆의 설치 단추를 선택합니다. Screenshot of marketplace management start RP install.

  2. 다음으로 SQL 리소스 공급자가 설치되고 있음을 나타내는 다음 페이지가 표시됩니다. Screenshot of marketplace management RP installing.

  3. 설치 완료 알림이 표시될 때까지 기다립니다. 이 프로세스는 일반적으로 Azure Stack Hub 유형에 따라 1시간 이상이 걸립니다. Screenshot of marketplace management RP install in progress.

  4. Marketplace 관리, 리소스 공급자 페이지로 돌아가서 SQL Server 리소스 공급자의 설치가 성공했는지 확인합니다. SQL Server 리소스 공급자의 상태는 "설치됨"으로 표시되어야 합니다. Screenshot of marketplace management RP installed.

SQL 리소스 공급자 V1 배포

모든 필수 구성 요소를 완료한 후 자체 추출기를 실행하여 다운로드한 설치 패키지를 임시 디렉터리에 추출합니다. Azure Stack Hub Azure Resource Manager 관리자 엔드포인트와 권한 있는 엔드포인트 모두에 액세스할 수 있는 컴퓨터에서DeploySqlProvider.ps1스크립트를 실행하여 SQL 리소스 공급자를 배포합니다. DeploySqlProvider.ps1 스크립트는 Azure Stack Hub 버전에 대해 다운로드한 SQL 리소스 공급자 이진 파일의 일부로 추출됩니다.

중요

리소스 공급자를 배포하기 전에 릴리스 정보를 검토하여 새 기능, 수정 사항 및 배포에 영향을 줄 수 있는 알려진 문제에 대해 알아봅니다.

SQL 리소스 공급자를 배포하려면 관리자 권한 PowerShell 창(PowerShell ISE 아님)을 열고 SQL 리소스 공급자 이진 파일을 추출한 디렉터리로 변경합니다.

중요

배포 또는 업데이트 스크립트를 실행하기 전에 Clear-AzureRmContext -Scope CurrentUserClear-AzureRmContext -Scope Process 를 사용하여 캐시를 지우는 것이 좋습니다.

DeploySqlProvider.ps1 스크립트를 실행하여 다음 작업을 완료합니다.

  • Azure Stack Hub의 스토리지 계정에 인증서 및 기타 아티팩트를 업로드합니다.
  • 갤러리를 사용하여 SQL 데이터베이스를 배포할 수 있도록 갤러리 패키지를 게시합니다.
  • 호스팅 서버를 배포하기 위한 갤러리 패키지를 게시합니다.
  • 다운로드한 Windows Server 2016 핵심 이미지 또는 Microsoft AzureStack 추가 기능 RP Windows Server 이미지를 사용하여 VM을 배포한 다음 SQL 리소스 공급자를 설치합니다.
  • 리소스 공급자 VM에 매핑되는 로컬 DNS 레코드를 등록합니다.
  • 운영자 계정에 대한 로컬 Azure Resource Manager 리소스 공급자를 등록합니다.

참고

SQL 리소스 공급자 배포가 시작되면 system.local.sqladapter 리소스 그룹이 만들어집니다. 이 리소스 그룹에 필요한 배포를 완료하는 데 최대 75분이 걸릴 수 있습니다. system.local.sqladapter 리소스 그룹에 다른 리소스를 배치하면 안 됩니다.

DeploySqlProvider.ps1 매개 변수

명령줄에서 다음 매개 변수를 지정할 수 있습니다. 그렇지 않거나 매개 변수 유효성 검사가 실패하는 경우 필요한 매개 변수를 제공하라는 메시지가 표시됩니다.

매개 변수 이름 Description 주석 또는 기본값
CloudAdminCredential 권한 있는 엔드포인트에 액세스하는 데 필요한 클라우드 관리자에 대한 자격 증명입니다. 필수
AzCredential Azure Stack Hub 서비스 관리자 계정에 대한 자격 증명입니다. Azure Stack Hub를 배포하는 데 사용한 것과 동일한 자격 증명을 사용합니다. AzCredential에서 사용하는 계정에 MFA(다단계 인증)가 필요한 경우 스크립트가 실패합니다. 필수
VMLocalCredential SQL 리소스 공급자 VM의 로컬 관리자 계정에 대한 자격 증명입니다. 필수
PrivilegedEndpoint 권한 있는 엔드포인트의 IP 주소 또는 DNS 이름입니다. 필수
AzureEnvironment Azure Stack Hub를 배포하는 데 사용되는 서비스 관리자 계정의 Azure 환경입니다. Azure AD 배포에만 필요합니다. 지원되는 환경 이름은 AzureCloud, AzureUSGovernment 또는 중국 Azure AD인 AzureChinaCloud를 사용하는 경우입니다. AzureCloud
DependencyFilesLocalPath 통합 시스템의 경우에만 인증서 .pfx 파일을 이 디렉터리에 배치해야 합니다. 필요에 따라 여기에서 하나의 Windows 업데이트 MSU 패키지를 복사할 수 있습니다. 선택 사항 (통합 시스템의 경우 필수 )
DefaultSSLCertificatePassword .pfx 인증서의 암호입니다. 필수
MaxRetryCount 오류가 발생한 경우 각 작업을 다시 시도할 횟수입니다. 2
RetryDuration 다시 시도 사이의 시간 제한 간격(초)입니다. 120
제거 리소스 공급자 및 연결된 모든 리소스를 제거합니다(다음 참고 사항 참조). 아니요
DebugMode 오류에 대한 자동 정리를 방지합니다. 아니요

사용자 지정 스크립트를 사용하여 SQL 리소스 공급자 배포

SQL 리소스 공급자 버전 1.1.33.0 또는 이전 버전을 배포하는 경우 PowerShell에 특정 버전의 AzureRm.BootStrapper 및 Azure Stack Hub 모듈을 설치해야 합니다.

SQL 리소스 공급자 버전 1.1.47.0 이상을 배포하는 경우 배포 스크립트는 C:\Program Files\SqlMySqlPsh 경로에 필요한 PowerShell 모듈을 자동으로 다운로드하고 설치합니다.

# Install the AzureRM.Bootstrapper module, set the profile, and install the AzureStack module
# Note that this might not be the most currently available version of Azure Stack Hub PowerShell
Install-Module -Name AzureRm.BootStrapper -RequiredVersion 0.5.0 -Force
Use-AzureRmProfile -Profile 2018-03-01-hybrid -Force
Install-Module -Name AzureStack -RequiredVersion 1.6.0

참고

연결이 끊긴 시나리오에서는 필요한 PowerShell 모듈을 다운로드하고 리포지토리를 필수 구성 요소로 수동으로 등록해야 합니다.

리소스 공급자를 배포할 때 수동 구성을 제거하려면 다음 스크립트를 사용자 지정할 수 있습니다. Azure Stack Hub 배포에 필요한 대로 기본 계정 정보 및 암호를 변경합니다.

# Use the NetBIOS name for the Azure Stack Hub domain. On the Azure Stack Hub SDK, the default is AzureStack but could have been changed at install time.
$domain = "AzureStack"

# For integrated systems, use the IP address of one of the ERCS VMs
$privilegedEndpoint = "AzS-ERCS01"

# Provide the Azure environment used for deploying Azure Stack Hub. Required only for Azure AD deployments. Supported values for the <environment name> parameter are AzureCloud, AzureChinaCloud, or AzureUSGovernment depending which Azure subscription you're using.
$AzureEnvironment = "<EnvironmentName>"

# Point to the directory where the resource provider installation files were extracted.
$tempDir = 'C:\TEMP\SQLRP'

# The service admin account can be Azure Active Directory or Active Directory Federation Services.
$serviceAdmin = "admin@mydomain.onmicrosoft.com"
$AdminPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force
$AdminCreds = New-Object System.Management.Automation.PSCredential ($serviceAdmin, $AdminPass)

# Set credentials for the new resource provider VM local admin account.
$vmLocalAdminPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force
$vmLocalAdminCreds = New-Object System.Management.Automation.PSCredential ("sqlrpadmin", $vmLocalAdminPass)

# Add the cloudadmin credential that's required for privileged endpoint access.
$CloudAdminPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force
$CloudAdminCreds = New-Object System.Management.Automation.PSCredential ("$domain\cloudadmin", $CloudAdminPass)

# Change the following as appropriate.
$PfxPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force

# For version 1.1.47.0 or later, the PowerShell modules used by the RP deployment are placed in C:\Program Files\SqlMySqlPsh
# The deployment script adds this path to the system $env:PSModulePath to ensure correct modules are used.
$rpModulePath = Join-Path -Path $env:ProgramFiles -ChildPath 'SqlMySqlPsh'
$env:PSModulePath = $env:PSModulePath + ";" + $rpModulePath 

# Change to the directory folder where you extracted the installation files. Don't provide a certificate on ASDK!
. $tempDir\DeploySQLProvider.ps1 `
    -AzCredential $AdminCreds `
    -VMLocalCredential $vmLocalAdminCreds `
    -CloudAdminCredential $cloudAdminCreds `
    -PrivilegedEndpoint $privilegedEndpoint `
    -AzureEnvironment $AzureEnvironment `
    -DefaultSSLCertificatePassword $PfxPass `
    -DependencyFilesLocalPath $tempDir\cert

리소스 공급자 설치 스크립트가 완료되면 브라우저를 새로 고쳐 최신 업데이트를 확인하고 현재 PowerShell 세션을 닫을 수 있습니다.

Azure Stack Hub 포털을 사용하여 V1 배포 확인

  1. 관리자 포털에 서비스 관리자로 로그인합니다.
  2. 리소스 그룹을 선택합니다.
  3. 시스템을 선택합니다.< location.sqladapter> 리소스 그룹입니다.
  4. 리소스 그룹 개요에 대한 요약 페이지에서 실패한 배포가 없어야 합니다.
  5. 마지막으로 관리자 포털에서 가상 머신을 선택하여 SQL 리소스 공급자 VM이 성공적으로 만들어졌고 실행 중인지 확인합니다.

Azure AD에 대한 중요한 구성

Azure Stack Hub가 Azure AD를 ID 공급자로 사용하는 경우 리소스 공급자가 SQL Server 설치된 VM에 아웃바운드 인터넷 연결이 있는지 확인합니다.

SQL Server 리소스 공급자(예: 방화벽 허용 목록에 IP 추가)를 설치한 VM의 IP를 가져와야 하는 경우 지원 사례를 열고 지원 엔지니어가 SQL Server 리소스 공급자 구독을 일시적으로 표시하도록 해야 합니다. 그런 다음 구독에서 VM을 찾아 해당 IP를 가져올 수 있습니다.

다음 단계

호스팅 서버 추가