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을 호스트하는 서버에 항목을 만들어야 합니다. 리소스 공급자가 만들지 않은 호스트 서버에서 만든 항목은 지원되지 않으며 상태가 일치하지 않을 수 있습니다.
중요
V2.x SQL/MySQL 리소스 공급자는 ASDK에서 지원되지 않는 DRP(배포 리소스 공급자) 설치 메커니즘을 사용합니다. 따라서 V2.x SQL/MySQL 리소스 공급자는 ASDK에서 지원되지 않습니다.
사전 요구 사항
리소스 공급자를 이미 설치한 경우 다음 필수 구성 요소를 완료했을 가능성이 높으며 이 섹션을 건너뛸 수 있습니다. 그렇지 않으면 계속하기 전에 다음 단계를 완료합니다.
Azure Stack Hub instance 등록하지 않은 경우 Azure에 등록합니다. 이 단계는 Azure에서 마켓플레이스에 연결하고 항목을 다운로드할 때 필요합니다.
Azure Stack Hub 관리자 포털의 Marketplace 관리 기능에 익숙하지 않은 경우 Azure에서 마켓플레이스 항목 다운로드를 검토하고 Azure Stack Hub에 게시합니다. 이 문서에서는 Azure에서 Azure Stack Hub 마켓플레이스로 항목을 다운로드하는 프로세스를 안내합니다. 연결된 시나리오와 연결이 끊긴 시나리오를 모두 다룹니다. Azure Stack Hub instance 연결이 끊어지거나 부분적으로 연결된 경우 설치를 준비하기 위해 완료해야 할 추가 필수 구성 요소가 있습니다.
Microsoft Entra 홈 디렉터리를 업데이트합니다. 빌드 1910부터 홈 디렉터리 테넌트에서 새 애플리케이션을 등록해야 합니다. 이 앱을 사용하면 Azure Stack Hub가 Microsoft Entra 테넌트에서 최신 리소스 공급자(예: Event Hubs 등)를 성공적으로 만들고 등록할 수 있습니다. 이는 빌드 1910 이상으로 업그레이드한 후 수행해야 하는 일회성 작업입니다. 이 단계가 완료되지 않으면 마켓플레이스 리소스 공급자 설치가 실패합니다.
- Azure Stack Hub instance 1910 이상으로 업데이트한 후 Azure Stack Hub Tools 리포지토리 복제/다운로드 지침을 따릅니다.
- 그런 다음, 업데이트 또는 새 리소스 공급자를 설치한 후 Azure Stack Hub Microsoft Entra Home Directory 업데이트에 대한 지침을 따릅니다.
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가 Microsoft Entra ID ID 공급자로 사용하도록 배포된 경우 인터넷.
아래 버전 매핑 테이블에 따라 지원되는 SQL 리소스 공급자 이진 버전을 다운로드합니다. V2 SQL 리소스 공급자의 경우 Azure Stack Hub에 마켓플레이스 항목을 다운로드합니다.
지원되는 Azure Stack Hub 버전 SQL RP 버전 RP 서비스가 실행 중인 Windows Server 2206, 2301, 2306, 2311 SQL RP 버전 2.0.13.x Microsoft AzureStack 추가 기능 RP Windows Server 1.2009.0 2108, 2206 SQL RP 버전 2.0.6.x Microsoft AzureStack 추가 기능 RP Windows Server 1.2009.0 필요한 Windows Server 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>.
- 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 모듈을 다운로드하고 리포지토리를 수동으로 등록합니다.
인터넷에 연결된 컴퓨터에 로그인하고 다음 스크립트를 사용하여 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"
배포하는 리소스 공급자의 버전에 따라 스크립트 중 하나를 실행합니다.
# 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
그런 다음 다운로드한 패키지를 USB 디바이스에 복사합니다.
연결이 끊긴 워크스테이션에 로그인하고 USB 디바이스에서 워크스테이션의 위치로 패키지를 복사합니다.
이 위치를 로컬 리포지토리로 등록합니다.
# 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 리소스 공급자 업데이트 문서를 참조하세요.
설치 시작
아직 로그인하지 않은 경우 Azure Stack Hub 관리자 포털에 로그인하고 왼쪽에서 Marketplace 관리를 선택한 다음 리소스 공급자를 선택합니다.
SQL 리소스 공급자 및 기타 필수 소프트웨어가 다운로드되면 Marketplace Management는 "설치되지 않음"의 상태 있는 "SQL Server 리소스 공급자" 패키지를 표시합니다. "다운로드됨" 상태로 표시되는 다른 패키지가 있을 수 있습니다.
설치할 행을 선택합니다. SQL Server 리소스 공급자 설치 패키지 페이지에는 위쪽에 파란색 배너가 표시됩니다. 배너를 선택하여 설치를 시작합니다.
필수 구성 요소 설치
그러면 설치 페이지로 이동합니다. 필수 구성 요소 설치를 선택하여 설치 프로세스를 시작합니다.
필수 구성 요소가 설치될 때까지 기다립니다. 다음 단계로 진행하기 전에 필수 구성 요소 설치 옆에 녹색 확인 표시가 표시되어야 합니다.
비밀 준비
아래는 2입니다. 비밀 준비 단계를 선택하고 인증서 추가를 선택하면 인증서 추가 패널이 나타납니다.
인증서 추가에서 찾아보기 단추를 선택합니다(인증서 파일 이름 필드 바로 오른쪽에 있음). 필수 구성 요소를 완료할 때 구매한 .pfx 인증서 파일을 선택합니다.
제공한 암호를 입력하여 SQL Server 리소스 공급자 SSL 인증서에 대한 보안 문자열을 만듭니다. 그런 다음, 추가를 선택합니다.
리소스 공급자 설치
인증서 설치가 성공하면 다음 단계를 진행하기 전에 비밀 준비 옆에 녹색 확인 표시가 표시됩니다. 이제 3 리소스 공급자 설치 옆의 설치 단추를 선택합니다.
다음으로 SQL 리소스 공급자가 설치되고 있음을 나타내는 다음 페이지가 표시됩니다.
설치 완료 알림이 표시될 때까지 기다립니다. 이 프로세스는 일반적으로 Azure Stack Hub 유형에 따라 1시간 이상이 걸립니다.
Marketplace 관리, 리소스 공급자 페이지로 돌아가서 SQL Server 리소스 공급자의 설치가 성공했는지 확인합니다. SQL Server 리소스 공급자의 상태 "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 CurrentUser 및 Clear-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 환경입니다. Microsoft Entra 배포에만 필요합니다. 지원되는 환경 이름은 AzureCloud, AzureUSGovernment이거나 중국 Microsoft Entra ID AzureChinaCloud를 사용하는 경우 입니다. | AzureCloud |
DependencyFilesLocalPath | 통합 시스템의 경우에만 인증서 .pfx 파일을 이 디렉터리에 배치해야 합니다. 필요에 따라 여기에서 하나의 Windows 업데이트 MSU 패키지를 복사할 수 있습니다. | 선택 사항 (통합 시스템의 경우 필수 ) |
DefaultSSLCertificatePassword | .pfx 인증서의 암호입니다. | 필수 |
MaxRetryCount | 오류가 발생한 경우 각 작업을 다시 시도하려는 횟수입니다. | 2 |
RetryDuration | 다시 시도 사이의 시간 제한 간격(초)입니다. | 120 |
제거 | 리소스 공급자 및 연결된 모든 리소스를 제거합니다(다음 참고 사항 참조). | No |
DebugMode | 실패 시 자동 정리를 방지합니다. | No |
사용자 지정 스크립트를 사용하여 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 배포 확인
- 관리자 포털에 서비스 관리자로 로그인합니다.
- 리소스 그룹을 선택합니다.
- 시스템을 선택합니다.<location.sqladapter> 리소스 그룹입니다.
- 리소스 그룹 개요에 대한 요약 페이지에서 실패한 배포가 없어야 합니다.
- 마지막으로 관리자 포털에서 가상 머신 을 선택하여 SQL 리소스 공급자 VM이 성공적으로 만들어지고 실행 중인지 확인합니다.
Microsoft Entra ID 대한 중요한 구성
Azure Stack Hub가 Microsoft Entra ID ID 공급자로 사용하는 경우 SQL Server 리소스 공급자를 설치한 VM에 아웃바운드 인터넷 연결이 있는지 확인합니다.
SQL Server 리소스 공급자를 설치한 VM의 IP(예: 방화벽 허용 목록에 IP 추가)를 가져와야 하는 경우 지원 사례를 열고 지원 엔지니어가 SQL Server 리소스 공급자 구독을 일시적으로 표시하도록 해야 합니다. 그런 다음 구독에서 VM을 찾고 해당 IP를 가져올 수 있습니다.