Azure Stack Hub への MySQL リソース プロバイダーのデプロイ

重要

Azure Stack Hub ビルド 2108 以降では、アクセスが許可されているサブスクリプションに SQL と MySQL リソース プロバイダーが提供されます。 この機能の使用を開始する場合、または以前のバージョンからアップグレードする必要がある場合は、サポート ケースを開くと、サポート エンジニアがデプロイまたはアップグレード プロセスを説明します。

MySQL サーバー リソース プロバイダーを使用して、MySQL データベースを Azure Stack Hub サービスとして公開します。

MySQL リソース プロバイダーは、Windows Server 2016 Server Core 仮想マシン上のサービスとして実行されます。

MySQL リソース プロバイダーは、特別な Add-on RP Windows Server 上のサービスとして実行されます。

重要

SQL または MySQL をホストするサーバー上に項目を作成するのは、リソース プロバイダーのみが実行する必要があります。 リソース プロバイダーによって作成されていないホスト サーバー上の項目はサポートされません。これによって、不一致状態になる可能性があります。

前提条件

既にリソース プロバイダーをインストールしている場合は、次の前提条件を満たしていると考えられるため、このセクションは省略してもかまいません。 それ以外の場合は、続ける前に次の手順を完了してください。

  1. まだの場合は、Azure Stack Hub インスタンスを Azure に登録します。 この手順は、Azure から Marketplace に接続して項目をダウンロードする際に必要になります。

  2. Azure Stack Hub 管理者ポータルの Marketplace Management 機能に慣れていない場合は、Azure から Marketplace 項目をダウンロードして Azure Stack Hub に発行する方法に関するページを確認してください。 この記事では、Azure から Azure Stack Hub Marketplace に項目をダウンロードする手順について説明しています。 接続されている場合と接続されていない場合、両方のシナリオについての説明があります。 Azure Stack Hub インスタンスが切断されているか、部分的にしか接続されていない場合は、インストールの準備として追加の前提条件を満たす必要があります。

  3. Azure Active Directory (Azure AD) ホーム ディレクトリを更新します。 ビルド 1910 以降の場合、ホーム ディレクトリ テナントに新しいアプリケーションを登録する必要があります。 このアプリを使用すると、Azure Stack Hub で新しいリソース プロバイダー (Event Hubs など) を適切に作成して、Azure AD テナントに登録することができます。 これは、ビルド 1910 以降にアップグレードした後で実行する必要がある 1 回限りの操作です。 このステップを完了しないと、マーケットプレースのリソース プロバイダーのインストールが失敗します。

MySQL Server リソース プロバイダーの前提条件

  • 以下にアクセスできるコンピューターとアカウントが必要です。

    • Azure Stack Hub 管理者ポータル
    • 特権エンドポイント (MySQL Server リソース プロバイダー V1 をデプロイするとき、または MySQL Server リソース プロバイダー V1 から MySQL Server リソース プロバイダー V2 にアップグレードするときにのみ必要です)。
    • Azure Resource Manager 管理エンドポイント https://adminmanagement.region.<fqdn> (<fqdn> は完全修飾ドメイン名)。
    • Azure Stack Hub が ID プロバイダーとして Azure Active Directory (Azure AD) を使用するようにデプロイされた場合は、インターネット。
  • 次のバージョン マッピングの表に従って、サポートされているバージョンの MySQL リソース プロバイダー バイナリをダウンロードします。 V2 MySQL リソース プロバイダーの場合は、Marketplace の項目を Azure Stack Hub にダウンロードします

    サポートされる Azure Stack Hub のバージョン MySQL RP バージョン RP サービスが実行されている Windows Server
    2108 MySQL RP バージョン 2.0.6.x Microsoft AzureStack Add-on RP Windows Server 1.2009.0
    2108、2102、2008、2005 MySQL RP バージョン 1.1.93.5 Microsoft AzureStack Add-on RP Windows Server
  • 必要な 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>。 Screenshot of the certificate.
    • MySQL Server リソース プロバイダー V1 をデプロイするときは、DependencyFilesLocalPath パラメーターで指定された場所に .pfx ファイルを配置します。 ASDK システムの証明書は提供しないでください。
    • MySQL Server リソース プロバイダー V2 をデプロイするときは、次のインストール手順のために証明書を準備します。

切断されたシナリオ

切断されたシナリオで MySQL Server リソース プロバイダー V2 をデプロイする場合は、Marketplace の項目を Azure Stack Hub にダウンロードする手順に従って、MySQL Server リソース プロバイダー項目と Add-on RP Windows Server 項目を Azure Stack Hub 環境にダウンロードします。

切断されたシナリオで MySQL 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" 
    

MySQL リソース プロバイダー V2 をデプロイする

V1 バージョンからアップグレードする場合は、MySQL Server リソース プロバイダーの更新に関するドキュメントをご覧ください。

インストールを開始する

  1. まだサインインしていない場合は、Azure Stack Hub 管理者ポータルにサインインし、左側の [Marketplace Management] 選択して、 [リソース プロバイダー] を選択します。

  2. MySQL リソース プロバイダーとその他の必要なソフトウェアがダウンロードされると、Marketplace Management に、"MySQL Server リソース プロバイダー" パッケージの状態が "インストールされていません" と表示されます。 状態が "ダウンロード済み" の他のパッケージが存在する場合があります。

    Screenshot of marketplace management before installing the RP.

  3. インストールする行を選択します。 MySQL Server リソース プロバイダーのパッケージのインストール ページの上部には、青いバナーが表示されます。 バナーを選択してインストールを開始します。 Screenshot of marketplace management begin RP installation.

必須コンポーネントのインストール

  1. 次に、インストール ページが表示されます。 インストール プロセスを開始するには、 [必須コンポーネントのインストール] を選択します。 Screenshot of marketplace management install prerequisites.

  2. 必須コンポーネントのインストールが成功するまで待ちます。 [必須コンポーネントのインストール] の横に緑色のチェックマークが表示されるのを確認してから、次の手順に進みます。 Screenshot of marketplace management install prerequisites succeeded.

シークレットの準備

  1. 2 [Prepare secrets](シークレットの準備) 手順で、 [証明書の追加] を選択すると、 [証明書の追加] パネルが表示されます。 Screenshot of marketplace management prepare secrets.

  2. [証明書の追加] の証明書のファイル名フィールドの右側にある参照ボタンを選択します。 必須コンポーネントを完了したときに生成した .pfx 証明書ファイルを選択します。

  3. SQL Server リソース プロバイダー SSL 証明書用の安全な文字列を作成するときに指定したパスワードを入力します。 その後、 [追加] を選択します。 Screenshot of marketplace management add certificate.

リソース プロバイダーを構成してインストールする

  1. 証明書のインストールが成功したら、 [Prepare secrets]\(シークレットの準備\) の横に緑色のチェックマークが表示されるのを確認してから、次の手順に進みます。 次に、[3 Install resource provider]\(3 リソース プロバイダーをインストールする\) の横にある [Configure + Install]\(構成とインストール\) ボタンを選択します。 Screenshot of marketplace management start RP installation.

  2. 次に、MySQL コネクタ用の Azure Stack Hub BLOB URI を指定する必要があります。

    • MySQL コネクタの GPL ライセンスをこちらで確認し、バージョン 8.0.21 をローカル フォルダーにダウンロードします。

    • 既定のオペレーター サブスクリプションを使用してストレージ アカウントを作成し、アクセス レベルを "BLOB" または "コンテナー" にしてコンテナーを作成します。 。Screenshot oof creating a storage account.Screenshot of creating a storage container.

    • ローカル フォルダーから新しく作成したストレージ コンテナーに mysql-connector-net-8.0.21.msi ファイルをアップロードします。 Screenshot of uploading MySQL Connector to the container.

    • BLOB の URI をコピーします。 Screenshot of copying the MySQL Connector URI.

    • MySQL RP の構成ページに戻ります。 BLOB の URI (例: https://<ストレージ アカウント名>.blob.<リージョン>.<FQDN>/<コンテナー名>/mysql-connector-net-8.0.21.msi) をテキスト ボックスに貼り付けて、[OK] をクリックします。 Screenshot of providing MySQL Connector URI.

  3. 次に、以下のページが表示されます。これは MySQL リソース プロバイダーがインストール中であることを示します。 Screenshot of marketplace management RP installing.

  4. インストール完了の通知が表示されるのを待ちます。 通常、このプロセスには、Azure Stack Hub の種類に応じて 1 時間以上かかります。 Screenshot of marketplace management RP install in progress.

  5. [Marketplace Management]\(Marketplace 管理\)[リソース プロバイダー] ページに戻って、MySQL Server リソース プロバイダーのインストールが正常に完了したことを確認します。 MySQL Server リソース プロバイダーの状態が、"インストール済み" と表示されている必要があります。 Screenshot of marketplace management RP installed.

SQL リソース プロバイダー V1 をデプロイする

すべての前提条件を満たしたら、自己展開形式ファイルを実行して、ダウンロードしたインストール パッケージを一時ディレクトリに抽出します。 Azure Stack Hub の Azure Resource Manager 管理エンドポイントと特権エンドポイントの両方にアクセスできるコンピューターから DeployMySqlProvider.ps1 スクリプトを実行して、MySQL リソース プロバイダーをデプロイします。 DeployMySqlProvider.ps1 スクリプトは、ご利用の Azure Stack Hub のバージョンに応じてダウンロードした、MySQL リソース プロバイダー インストール ファイルの一部として抽出されます。

重要

リソース プロバイダーをデプロイする前に、新しい機能、修正、デプロイに影響を与える可能性のある既知の問題に関する詳細については、リリース ノートを確認してください。

MySQL リソース プロバイダーをデプロイするには、管理者特権で新しい PowerShell ウィンドウ (PowerShell ISE ではない) を開き、MySQL リソース プロバイダーのバイナリ ファイルを抽出したディレクトリに変更します。

重要

デプロイまたは更新スクリプトを実行する前に、Clear-AzureRmContext -Scope CurrentUser および Clear-AzureRmContext -Scope Process を使用してキャッシュをクリアすることを強くお勧めします。

Note

接続されていない環境に MySQL Server リソース プロバイダー V1 をデプロイする場合は、mysql-connector-net-6.10.5.msi ファイルをローカル パスにコピーします。 DependencyFilesLocalPath パラメーターを使用してパス名を提供します。

DeployMySqlProvider.ps1 スクリプトを実行して次のタスクを完了します。

  • Azure Stack Hub のストレージ アカウントに、証明書とその他のアーティファクトをアップロードします。
  • ギャラリー パッケージを公開して、ギャラリーを使用して MySQL データベースをデプロイできるようにします。
  • ホスティング サーバーをデプロイするためのギャラリー パッケージを発行します。
  • ダウンロードした Windows Server 2016 Core イメージまたは Microsoft AzureStack Add-on RP Windows Server イメージを使用して VM をデプロイした後、MySQL リソース プロバイダーをインストールします。
  • リソース プロバイダー VM にマップされるローカル DNS レコードを登録します。
  • リソース プロバイダーをオペレーター アカウントのローカルの Azure Resource Manager に登録します。

注意

MySQL リソース プロバイダーのデプロイが開始され、system.local.mysqladapter リソース グループが作成されます。 このリソース グループに必要なデプロイが完了するまで最大で 75 分かかります。 system.local.mysqladapter リソース グループ内に他のリソースを配置しないでください。

DeployMySqlProvider.ps1 パラメーター

これらのパラメーターをコマンド ラインで指定できます。 必須パラメーターの指定がない場合、またはいずれかのパラメーターの検証が失敗した場合は、指定することを求められます。

パラメーター名 説明 コメントまたは既定値
CloudAdminCredential 特権エンドポイントへのアクセスに必要な、クラウド管理者の資格情報。 必須
AzCredential Azure Stack Hub サービス管理者アカウントの資格情報。 Azure Stack Hub のデプロイに使用したのと同じ資格情報を使用します。 AzCredential で使用するアカウントが多要素認証 (MFA) を必要とする場合、スクリプトは失敗します。 必須
VMLocalCredential MySQL リソースプロバイダー VM のローカル管理者アカウントの資格情報。 必須
PrivilegedEndpoint 特権エンドポイントの IP アドレスまたは DNS 名。 必須
AzureEnvironment Azure Stack Hub のデプロイに使用するサービス管理者アカウントの Azure 環境。 Azure AD のデプロイでのみ必須です。 サポートされている環境名は AzureCloudAzureUSGovernment、または中国の Azure AD を使用している場合は AzureChinaCloud です。 AzureCloud
DependencyFilesLocalPath 統合システムの場合のみ、証明書 .pfx ファイルはこのディレクトリにも配置する必要があります。 切断された環境では、mysql-connector-net-6.10.5.msi をこのディレクトリにダウンロードします。 必要に応じて、ここで 1 つの Windows Update MSU パッケージをコピーできます。 省略可能 (統合システムまたは切断された環境には 必須)
DefaultSSLCertificatePassword .pfx 証明書のパスワード。 必須
MaxRetryCount エラーが 発生した場合に各操作を再試行する回数。 2
RetryDuration 再試行間のタイムアウト間隔 (秒単位)。 120
アンインストール リソース プロバイダーと関連付けられているすべてのリソースを削除します (以下のメモを参照してください)。 いいえ
DebugMode 障害発生時に自動クリーンアップが行われないようにします。 いいえ
AcceptLicense GPL ライセンスに同意するためのプロンプトをスキップします。 https://www.gnu.org/licenses/old-licenses/gpl-2.0.html

カスタム スクリプトを使用して MySQL リソース プロバイダーをデプロイする

MySQL リソース プロバイダーのバージョン 1.1.33.0 以前のバージョンをデプロイする場合は、特定バージョンの AzureRm.BootStrapper と Azure Stack Hub モジュールを PowerShell にインストールする必要があります。

MySQL リソース プロバイダーのバージョン 1.1.47.0 以降をデプロイする場合は、デプロイ スクリプトにより自動的に必要な PowerShell モジュールがダウンロードされ、パス C:\Program Files\SqlMySqlPsh にインストールされます。

# 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 -Force
Use-AzureRmProfile -Profile 2018-03-01-hybrid -Force
Install-Module -Name AzureStack -RequiredVersion 1.6.0

Note

接続が切断された場合のシナリオでは、必要な 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 environment names are AzureCloud, AzureUSGovernment, or AzureChinaCloud. 
$AzureEnvironment = "<EnvironmentName>"

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

# 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 the credentials for the new resource provider VM local admin account
$vmLocalAdminPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force
$vmLocalAdminCreds = New-Object System.Management.Automation.PSCredential ("mysqlrpadmin", $vmLocalAdminPass)

# And the cloudadmin credential 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\DeployMySQLProvider.ps1 `
    -AzCredential $AdminCreds `
    -VMLocalCredential $vmLocalAdminCreds `
    -CloudAdminCredential $cloudAdminCreds `
    -PrivilegedEndpoint $privilegedEndpoint `
    -AzureEnvironment $AzureEnvironment `
    -DefaultSSLCertificatePassword $PfxPass `
    -DependencyFilesLocalPath $tempDir\cert `
    -AcceptLicense

リソース プロバイダーのインストール スクリプトが終了したら、ブラウザーを最新の情報に更新します。これによって、最新の更新プログラムが表示され、現在の PowerShell セッションを終了できることを確認します。

Azure Stack Hub ポータルを使用して、V1 のデプロイを確認する

  1. 管理ポータルにサービス管理者としてサインインします。
  2. [リソース グループ] を選択します。
  3. system.<location>.mysqladapter リソース グループを選択します。
  4. リソース グループの概要の概要ページで、失敗したデプロイは表示されていないはずです。
  5. 最後に、管理者ポータルで [仮想マシン] を選択して、MySQL リソース プロバイダー VM が正常に作成され、実行されていることを確認します。

Azure AD の重要な構成

Azure Stack Hub で ID プロバイダーとして Azure AD を使用している場合は、MySQL Server リソース プロバイダーがインストールされている VM にアウトバウンド インターネット接続があることを確認します。

MySQL Server リソース プロバイダーがインストールされている VM の IP を取得する必要がある場合は (つまり、ファイアウォールの許可リストに IP を追加する場合)、サポート ケースを開き、サポート エンジニアに MySQL Server リソース プロバイダーのサブスクリプションを一時的に表示してもらいます。 その後、サブスクリプションで VM を検索し、その IP を取得できます。

次のステップ

ホスティング サーバーを追加する