Azure VM 上で SQL Server をプロビジョニングする (Azure portal)

適用対象: Azure VM 上の SQL Server

この記事では、Azure portal を使用して Azure Virtual Machines (VM) に SQL Server をデプロイするときに使用できる構成オプションについて詳しく説明します。 クイック ガイドについては、代わりに SQL Server VM のクイックスタートを参照してください。

前提条件

Azure サブスクリプション。 開始するには、無料アカウントを作成します。

Marketplace イメージを選ぶ

Azure Marketplace を使用して、仮想マシン ギャラリーから構成済みの複数のイメージのいずれかを選びます。

この記事では Developer エディションを使用しています。これは、開発テスト用に SQL Server のフル機能を使用できる無償エディションです。 ユーザーは VM を実行するコストに対してのみ課金されます。 ただし、このチュートリアルでは、任意のイメージを選択してかまいません。 使用可能なイメージの説明は、SQL Server Windows 仮想マシンの概要に関する記事をご覧ください。

SQL Server のライセンス コストは、作成した VM の 1 秒あたりの料金に組み込まれており、エディションやコア数によって異なります。 ただし、SQL Server Developer エディションは、運用ではなく開発とテストのために無料で提供されています。 また、SQL Express は軽量のワークロード (1 GB 未満のメモリ、10 GB 未満のストレージ) の場合に無料です。 また、ライセンス持ち込み (BYOL) により VM の料金のみを支払うこともできます。 それらのイメージの名前には、{BYOL} というプレフィックスが付きます。 これらのオプションの詳細については、「Pricing guidance for SQL Server Azure VMs (SQL Server Azure VM の料金ガイダンス)」を参照してください。

イメージを選ぶには、次の手順に従います。

  1. Azure portal の左側のメニューで [Azure SQL] を選択します。 [Azure SQL] が一覧にない場合は、 [すべてのサービス] を選択し、検索ボックスに「Azure SQL」と入力します。 [Azure SQL] の横にある星を選んでお気に入りとして保存し、左側のナビゲーションにピン留めすることができます。

  2. [+ 作成] を選び、[Select SQL deployment option](SQL デプロイ オプションの選択) ページを開きます。 [イメージ] ドロップダウン リストを選択し、SQL Server イメージ検索ボックスに「2019」と入力します。 Free SQL Server License: SQL 2019 on Windows Server 2019 などの SQL Server イメージをドロップダウン リストから選びます。 イメージに関するその他の情報については、[詳細の表示] を選びます。

    Azure portal の [SQL VM イメージのデプロイ] オプションのスクリーンショット。

  3. [作成] を選択します

注意

SQL Server 2008 および SQL Server 2008 R2 は延長サポート対象外となり、Azure Marketplace から利用できなくなります。

[基本設定]

[基本] タブでは、サブスクリプション、リソース グループ、インスタンスの詳細を選ぶことができます。

Azure における SQL Server のデプロイについてテストまたは調査のみを実施する場合は、新しいリソース グループを使用すると便利です。 テストが完了したら、リソース グループを削除します。そうすると、そのリソース グループに関連付けられている VM とすべてのリソースが自動的に削除されます。 リソース グループの詳細については、「Azure Resource Manager の概要」を参照してください。

[基本] タブで次の情報を指定します。

  • [プロジェクトの詳細] で、正しいサブスクリプションが選択されていることを確認します。
  • [リソース グループ] セクションで、一覧から既存のリソース グループを選択するか、 [新規作成] を選択して新しいリソース グループを作成します。 リソース グループとは、Azure の関連リソース (仮想マシン、ストレージ アカウント、仮想ネットワークなど) のコレクションです。

[サブスクリプション] フィールドから始まる [仮想マシンの作成] ページの Azure portal のスクリーンショット。

  • [インスタンスの詳細] で、以下の操作を行います。

    1. 一意の [仮想マシン名] を入力します。
    2. [リージョン] で場所を選択します。
    3. このガイドでは、 [可用性オプション] の設定を [インフラストラクチャ冗長は必要ありません] のままにしておきます。 可用性オプションの詳細については、可用性に関するページを参照してください。
    4. [イメージ] の一覧で、Free SQL Server License: SQL Server 2019 Developer on Windows Server 2019 を選びます (まだ選んでいない場合)。
    5. [セキュリティの種類][標準] を選びます。
    6. 仮想マシンの [サイズ][See all sizes](すべてのサイズを表示) を選び、[E4ds_v5] プランを検索します。 これは、Azure VM 上の SQL Server に推奨される最小の VM サイズの 1 つです。 これがテスト目的の場合は、予期しない課金を防ぐために、利用を終了したリソースは必ずクリーンアップしてください。 運用時のワークロードについては、「Azure Virtual Machines における SQL Server のパフォーマンスに関するベスト プラクティス」のマシンのサイズと構成に関する推奨事項を参照してください。

    新しい SQL VM のインスタンスの詳細の Azure portal のスクリーンショット。

重要

[サイズの選択] ウィンドウに表示される月額料金の見積もりには、SQL Server のライセンス費用は含まれていません。 この見積もり料金は VM 単体の費用です。 SQL Server Express エディションと SQL Server Developer エディションでは、この見積もり料金が概算費用の合計になります。 他のエディションについては、「Windows Virtual Machines の料金」で、ターゲットの SQL Server エディションを選択して確認できます。 また、「SQL Server Azure VM の料金ガイダンス」と仮想マシンのサイズに関するページを参照してください。

  • [管理者アカウント] で、ユーザー名とパスワードを指定します。 パスワードは 12 文字以上で、定義された複雑さの要件を満たす必要があります。

    [管理者アカウント] フィールドの Azure portal のスクリーンショット。

  • [受信ポートの規則][選択したポートを許可する] を選択し、ドロップダウン リストから [RDP (3389)] を選択します。

    受信ポート ルールの Azure portal のスクリーンショット。

また、Azure ハイブリッド特典を有効にして、独自の SQL Server ライセンスを使用し、ライセンス コストを節約することもできます。

ディスク

[ディスク] タブでディスク オプションを構成します。

  • [OS ディスクの種類] で、ドロップダウン リストから OS に使用するディスクの種類を選択します。 Premium は、運用環境システムにはお勧めしますが、Basic VM には使用できません。 Premium SSD を使用するには、仮想マシンのサイズを変更してください。
  • [詳細] で、 [Managed Disks を使用] の下の [はい] を選択します。

SQL Server には、Managed Disks の使用をお勧めします。 Managed Disks はバックグラウンドでストレージを管理します。 さらに、仮想マシンと Managed Disks が同じ可用性セットにある場合、Azure は適切な冗長性を提供するためにストレージ リソースを分散させます。 詳細については、Azure Managed Disks の概要に関する記事をご覧ください。 可用性セットのマネージド ディスクの詳細については、「可用性セット内の VM にマネージド ディスクを使用する」を参照してください。

ネットワーク

[ネットワーク] タブで、ネットワーク オプションを構成します。

  • SQL Server VM 用に新しい仮想ネットワークを作成するか、既存の仮想ネットワークを使用します。 [サブネット] も指定します。

  • [NIC ネットワーク セキュリティ グループ] で、[Basic] セキュリティ グループまたは [詳細] セキュリティ グループを選択します。 [Basic] オプションを選択すると、 [基本] タブに構成されているものと同じ値である SQL Server VM の受信ポートを選択できます。[詳細] オプションを選択すると、既存のネットワーク セキュリティ グループを選択するか、新しいグループを作成することができます。

  • ネットワーク設定に対して他の変更を行ったり、既定値のままにしたりできます。

管理

[管理] タブで、監視と自動シャットダウンを構成します。

  • [ブート診断] は、既定では VM に指定されているものと同じストレージ アカウントで有効になります。 このタブでは、これらの設定を変更して、 [OS のゲスト診断] を有効にすることができます。
  • このタブでは、 [システム割り当てマネージド ID]自動シャットダウンを有効にすることもできます。

SQL Server の設定

[SQL Server の設定] タブで、SQL Server の個々の設定と最適化を構成します。 SQL Server の次の設定を構成できます。

接続

[SQL の接続] で、この VM 上の SQL Server インスタンスに必要なアクセスの種類を指定します。 このチュートリアルでは、 [パブリック (インターネット)] を選択して、インターネット上のコンピューターやサービスから SQL Server に接続できるようにします。 このオプションを選択すると、選択したポートのトラフィックを許可するように、ファイアウォールとネットワーク セキュリティ グループが自動的に構成されます。

ヒント

既定では、SQL Server は既知のポート (1433) をリッスンします。 セキュリティ強化のためには、前のダイアログでポートを変更して、1401 など、既定以外のポートをリッスンするようにします。 ポートを変更する場合は、SQL Server Management Studio (SSMS) などのクライアント ツールからそのポートを使用して接続する必要があります。

Azure portal の SQL VM セキュリティのスクリーンショット。

インターネット経由で SQL Server に接続するには、次のセクションで説明する SQL Server 認証を有効にする必要もあります。

インターネット経由によるデータベース エンジンへの接続を有効にしない場合は、次のいずれかのオプションを選択します。

  • ローカル (VM 内のみ) : VM 内からのみ SQL Server への接続を許可します。
  • プライベート (Virtual Network 内) : 同じ仮想ネットワーク内のマシンまたはサービスから SQL Server への接続を許可します。

一般的に、シナリオで許容される最も制限の厳しい接続を選択すると、セキュリティが向上します。 ただし、ネットワーク セキュリティ グループ (NSG) の規則と SQL 認証または Windows 認証を使用すると、すべてのオプションをセキュリティで保護できます。 NSG は、VM の作成後に編集できます。 詳細については、「 Azure Virtual Machines における SQL Server のセキュリティに関する考慮事項」をご覧ください。

認証

SQL Server 認証が必要な場合は、 [SQL Server の設定] タブで [SQL 認証][有効にする] を選択します。

SQL Server 認証オプションが有効になっている Azure portal のスクリーンショット。

Note

インターネット経由で SQL Server にアクセスする場合 (パブリック接続オプション)、ここで SQL 認証を有効にする必要があります。 SQL Server へのパブリック アクセスには、SQL 認証が必要です。

SQL Server 認証を有効にする場合は、 [ログイン名][パスワード] を指定します。 このログイン名が、SQL Server 認証ログインと sysadmin 固定サーバー ロールのメンバーとして構成されます。 認証モードの詳細については、「Choose an Authentication Mode (認証モードの選択)」を参照してください。

SQL Server 認証を有効にしない場合は、VM のローカル管理者アカウントを使用して SQL Server インスタンスに接続できます。

Azure Key Vault の統合

暗号化のために Azure にセキュリティ シークレットを格納するには、[SQL Server の設定] を選択し、[Azure Key Vault の統合] まで下にスクロールします。 [有効にする] を選択し、必要な情報を入力します。

Azure Key Vault 統合の Azure portal のスクリーンショット。

次の表では、Azure Key Vault (AKV) の統合の構成に必要なパラメーターを示します。

PARAMETER Description
Key Vault の URL Key Vault の場所。 https://contosokeyvault.vault.azure.net/
プリンシパル名 Microsoft Entra サービス プリンシパル名。 クライアント ID とも呼ばれます。 fde2b411-33d5-4e11-af04eb07b669ccf2
プリンシパル シークレット Microsoft Entra サービス プリンシパルのシークレット。 クライアント シークレットとも呼ばれます。 9VTJSQwzlFepD8XODnzy8n2V01Jd8dAjwm/azF1XDKM=
[資格情報名] 資格情報名:AKV の統合によって、SQL Server 内に資格情報が作成され、VM からキー コンテナーにアクセスできるようになります。 この資格情報の名前を選択します。 mycred1

詳細については、 Azure VM 上の SQL Server に関する Azure Key Vault 統合の構成に関するページを参照してください。

ストレージの構成

[SQL Server の設定] タブの [ストレージの構成] で、[構成の変更] を選んで [ストレージの構成] ページを開き、ストレージの要件を指定します。 既定値のままにすることも、IOPS のニーズに合わせてストレージ トポロジを手動で変更することもできます。 詳細については、ストレージの構成に関する記事を参照してください。

ストレージ構成を変更できる場所を示すスクリーンショット。

[データ ストレージ] で、データ ドライブの場所、ディスクの種類、ディスクの数を選びます。 システム データベースをローカルの C:\ ドライブではなくデータ ドライブに格納するチェックボックスをオンにすることもできます。

SQL VM のデータ ファイル ストレージを構成できる場所を示すスクリーンショット

[ログ ストレージ] で、トランザクション ログ ファイル用のデータ ドライブと同じドライブを選んで使用するか、ドロップダウン リストから別のドライブを選んで使用することもできます。 ドライブの名前、ディスクの種類、ディスクの数を選ぶこともできます。

SQL VM のトランザクション ログ ストレージを構成できる場所を示すスクリーンショット

[TempDb のストレージ] で、データベース ファイルの場所、ファイルの数、初期サイズ、自動拡張サイズ (MB 単位) などの tempdb データベース設定を構成します。

  • 現在、デプロイ時の tempdb ファイルの最大数は 8 ですが、SQL Server VM のデプロイ後はさらにファイルを追加できます。
  • 推奨どおりに D: のローカル SSD ボリュームに SQL Server インスタンス tempdb を構成した場合、SQL IaaS Agent 拡張機能は、再プロビジョニング時に必要なフォルダーとアクセス許可を管理します。

SQL VM の tempdb ストレージを構成できる場所のスクリーンショット。

[OK] を選んでストレージ構成設定を保存します。

SQL インスタンス設定

[SQL インスタンスの設定の変更] を選択し、サーバーの照合順序、並列処理の最大限度 (MAXDOP)、SQL Server の最小および最大メモリ制限、[アドホック ワークロード用に最適化する] オプションを有効にするかどうかなど、SQL Server 構成オプションを変更します。

SQL VM インスタンスの SQL Server 設定を構成できる場所を示すスクリーンショット.

SQL Server ライセンス

ソフトウェア アシュアランスをご利用のお客様は、Azure ハイブリッド特典を使用して自分の SQL Server ライセンスを取得し、リソースを節約することができます。 [はい] を選んで Azure ハイブリッド特典を有効にし、チェック ボックスをオンにしてソフトウェア アシュアランスが有効になっていることを確認します。

Azure ポータルの SQL VM ライセンス オプションのスクリーンショット。

開発者エディションなどの無料ライセンス イメージを選んだ場合、[SQL Server ライセンス] オプションは淡色表示されます。

自動修正

[自動修正] は、既定で有効になります。 自動修正 を使用すると、Azure によって SQL Server とオペレーティング システムのセキュリティ更新プログラムを自動的に適用できます。 メンテナンス ウィンドウの曜日、時刻、および期間を指定します。 Azure は、修正プログラムの適用をこのメンテナンス ウィンドウで実行します。 メンテナンス ウィンドウのスケジュールには VM のロケールが使用されます。 Azure で SQL Server とオペレーティング システムに修正プログラムを自動的に適用しない場合は、 [無効] を選択します。

Azure portal での SQL VM 自動修正のスクリーンショット。

累積的な更新も含む修正プログラムの管理を強化するには、SQL Server VM のデプロイが完了した後、統合された Azure Update Manager エクスペリエンスを試してください。

自動化されたバックアップ

[自動バックアップ] では、すべてのデータベースの自動データベース バックアップを有効にすることができます。 既定では、自動バックアップは無効です。

SQL の自動バックアップを有効にするときは、以下の設定の構成を行います。

  • バックアップの保持期間 (最大 90 日間)
  • バックアップに使用するストレージ アカウントとストレージ コンテナー
  • バックアップの暗号化オプションとパスワード
  • システム データベースのバックアップ
  • バックアップ スケジュールの構成

バックアップを暗号化するには、 [有効] を選択します。 パスワードを指定します。 Azure は、バックアップを暗号化するための証明書を作成し、指定されたパスワードを使用してその証明書を保護します。

[ストレージ コンテナーを選んでください] を選んで、バックアップを格納するコンテナーを指定します。

既定ではスケジュールは自動的に設定されますが、[手動] を選んで独自のスケジュールを作成できます。これにより、バックアップの頻度、バックアップの時間枠、ログ バックアップの頻度を分単位で構成できます。

Azure portal での SQL VM 自動バックアップのスクリーンショット。

詳細については、「 Azure Virtual Machines での SQL Server の自動バックアップ」をご覧ください。

Machine Learning サービス

Machine Learning サービスを有効にするオプションがあります。 このオプションを使用すると、SQL Server 2017 で、Python と R で機械学習を使用できます。 [SQL Server の設定] ウィンドウで [有効にする] を選択します。 SQL Server VM のデプロイ後に Azure portal からこの機能を有効にすると、SQL Server サービスの再起動がトリガーされます。

確認と作成

[確認と作成] タブで次の手順を実行します。

  1. 概要を確認します。
  2. [作成] を選択して、この VM に指定された SQL サーバー、リソース グループ、およびリソースを作成します。

Azure Portal でデプロイを監視できます。 画面の上部にある [通知] ボタンをクリックすると、デプロイの基本的な状態が表示されます。

Note

Azure で SQL Server VM をデプロイする時間の例を次に示します。米国東部リージョンに既定の設定でテスト SQL Server VM をプロビジョニングした場合、完了するまでに約 12 分かかります。 リージョンや選択した設定によっては、デプロイに必要な時間が変わる可能性があります。

リモート デスクトップを使用して VM を開く

リモート デスクトップ プロトコル (RDP) を使用して SQL Server 仮想マシンに接続するには、次の手順を実行します。

  1. Azure 仮想マシンが作成されて実行されたら、[仮想マシン] を選んで、新しい VM を選びます。

  2. [接続] を選び、ドロップダウンから [RDP] を選んで RDP ファイルをダウンロードします。

    ポータルで VM に接続する

  3. ブラウザーによって VM のためにダウンロードされた RDP ファイルを開きます。

  4. リモート デスクトップ接続で、このリモート接続の発行元が特定できないことが通知されます。 [接続] をクリックして続行します。

  5. [Windows セキュリティ] ダイアログで、[別のアカウントを使う] をクリックします。 これを表示するには、[その他] をクリックする必要があります。 VM の作成時に構成したユーザー名とパスワードを指定します。 ユーザー名の前にバックスラッシュを追加する必要があります。

    リモート デスクトップ認証

  6. [OK] をクリックして接続します。

SQL Server 仮想マシンに接続した後は、SQL Server Management Studio を起動し、ローカル管理者の資格情報を使用して Windows 認証で接続できます。 SQL Server 認証を有効にした場合は、プロビジョニングの間に構成した SQL のログインとパスワードを使用して SQL 認証で接続することもできます。

マシンにアクセスすると、要件に基づいてマシンと SQL Server の設定を直接変更することができます。 たとえば、ファイアウォールの設定を構成したり、SQL Server の構成設定を変更したりできます。

SQL Server にリモート接続する

このチュートリアルでは、仮想マシンと SQL Server 認証SQL Server 認証 アクセスを選択しています。 これらの設定により、インターネット経由による任意のクライアントから SQL Server への接続を許可するように仮想マシンが自動的に構成されています (適切な SQL ログインを持っている場合)。

以下のセクションでは、インターネット経由で SQL Server VM インスタンスに接続する方法を示します。

パブリック IP アドレスの DNS ラベルの構成

インターネットから SQL Server データベース エンジンに接続する場合は、パブリック IP アドレスの DNS ラベルを作成することを検討してください。 IP アドレスで接続することはできますが、DNS ラベルを作成すると、識別が容易で、基になるパブリック IP アドレスを抽象化した A レコードが作成されます。

Note

同じ Virtual Network 内の SQL Server インスタンスのみに接続する場合、またはローカルでのみ接続する予定の場合は、DNS ラベルは必要ありません。

DNS ラベルを作成するには、最初にポータルで [Virtual Machines] を選びます。 SQL Server VM を選択し、そのプロパティを表示します。

  1. 仮想マシンの概要で、目的のパブリック IP アドレスを選択します。

    パブリック IP アドレス

  2. パブリック IP アドレスのプロパティで、 [構成]を展開します。

  3. DNS ラベル名を入力します。 この名前は、IP アドレスを直接使用するのではなく名前で SQL Server VM に接続するために使用できる A レコードです。

  4. [保存] ボタンを選択します。

    DNS ラベル

別のコンピューターからデータベース エンジンに接続する

  1. インターネットに接続されたコンピューターで、SQL Server Management Studio (SSMS) を開きます。 SQL Server Management Studio を保有していない場合は、ここからダウンロードできます。

  2. [サーバーへの接続] または [データベース エンジンへの接続] ダイアログ ボックスで、 [サーバー名] の値を編集します。 (前のタスクで確認した) 仮想マシンの IP アドレスまたは完全 DNS 名を入力します。 また、コンマを追加し、SQL Server の TCP ポートを指定することもできます。 たとえば、「 tutorial-sqlvm1.westus2.cloudapp.azure.com,1433 」のように入力します。

  3. [認証] ボックスで、 [SQL Server 認証] を選択します。

  4. [ログイン] ボックスに、有効な SQL ログインの名前を入力します。

  5. [パスワード] ボックスに、ログインのパスワードを入力します。

  6. [接続] を選択します。

    SSMS 接続

Note

この例では、一般的なポートの 1433 を使用します。 ただし、SQL Server VM のデプロイ時に別のポート (1401 など) を指定した場合は、この値を変更する必要があります。

既知の問題

SQL バイナリ ファイルのインストール パスを変更できません

Azure Marketplace の SQL Server イメージでは、SQL Server バイナリが C ドライブにインストールされます。 現在、デプロイの間にこれを変更することはできません。 唯一の回避策は、VM 内から SQL Server を手動でアンインストールした後、SQL Server 再インストールし、インストール プロセスの間にバイナリ ファイルの別の場所を選ぶことです。