チュートリアル: 複数のサブネットでの可用性グループの前提条件 (Azure VM 上の SQL Server)

適用対象:Azure VM 上の SQL Server

ヒント

可用性グループをデプロイする方法は多数あります。 デプロイを簡略化し、Always On 可用性グループに対して Azure Load Balancer または分散ネットワーク名 (DNN) を不要にするには、同じ Azure 仮想ネットワーク内の複数のサブネットに SQL Server 仮想マシン (VM) を作成します。 可用性グループを 1 つのサブネットに既に作成している場合は、マルチサブネット環境に移行できます。

このチュートリアルでは、複数のサブネット内の Azure SQL Server (VM) 上の SQL Server に Always On 可用性グループを作成するための前提条件を完成させます。 このチュートリアルを終了すると、2 つの Azure 仮想マシンに 1 つのドメイン コントローラー、複数のサブネット内に 2 つの SQL Server VM、1 つのリソース グループに 1 つのストレージ アカウントができます。

推定所要時間: このチュートリアルでは、Azure に複数のリソースを作成します。完了まで最大 30 分かかる場合があります。

次の図は、このチュートリアルでデプロイするリソースを示しています。

The following diagram illustrates the resources you deploy in this tutorial

前提条件

このチュートリアルを完了するには、以下が必要です。

リソース グループの作成

Azure portal でリソース グループを作成するには、次の手順に従います。

  1. Azure portal にサインインします。

  2. ポータルで [+ リソースの作成] を選び、新しいリソースを作成します。

    Select +Create a resource to create a new resource in the portal.

  3. Marketplace の検索ボックスでリソース グループを検索し、Microsoft の [リソース グループ] タイルを選びます。 [リソース グループ] ページで [作成] を選びます。

    Search for resource group in the Marketplace and then choose to create the Resource group.

  4. [リソース グループの作成] ページで、値を入力してリソース グループを作成します。

    1. ドロップダウンから適切な Azure サブスクリプションを選びます。
    2. リソース グループの名前 (SQL-HA-RG など) を入力します。
    3. ドロップダウンから場所 (米国西部 2 など) を選びます。 以降のすべてのリソースもこの場所にデプロイしてください。
    4. [確認と作成] を選択してリソース パラメーターを確認し、 [作成] を選択してリソース グループを作成します。

    Fill out the values to create your resource group in the Azure portal.

ネットワークとサブネットの作成

次に、仮想ネットワークと 3 つのサブネットを作成します。 詳細については、仮想ネットワークの概要に関するページを参照してください。

Azure portal で仮想ネットワークを作成するには、次の手順に従います。

  1. Azure portal で、ご利用のリソース グループに移動して [+ 作成] を選びます。

    Create new resource in your resource group

  2. [マーケットプレース] 検索ボックスで「仮想ネットワーク」を検索し、Microsoft の [仮想ネットワーク] タイルを選択します。 [仮想ネットワーク] ページで [作成] を選択します。

  3. [仮想ネットワークの作成] ページの [基本] タブで、次の情報を入力します。

    1. [プロジェクトの詳細] で、適切な Azure サブスクリプションと、前に作成したリソース グループ (SQL-HA-RG など) を選びます。
    2. [インスタンスの詳細] で、ご利用の仮想ネットワークの名前 (SQLHAVNET など) を指定し、ドロップダウンからリソース グループと同じリージョンを選びます。

    Choose the resource group you made previously, then provide a name for your virtual network, such as SQLHAVNET

  4. [IP アドレス] タブで、既定のサブネットを選んで [サブネットの編集] ページを開きます。 ドメイン コントローラー サブネットに使用する名前を DC-subnet に変更します。 [保存] を選択します。

    On the IP addresses tab, select the default subnet to open the Edit subnet page. Change the name to DC-subnet to use for the domain controller subnet. Select Save

  5. [+ サブネットの追加] を選び、最初の SQL Server VM にサブネットを追加し、次の値を入力します。

    1. [サブネット名] に値 (SQL-subnet-1 など) を指定します。
    2. 仮想ネットワーク アドレス空間内に一意のサブネット アドレス範囲を指定します。 たとえば、DC-subnet アドレス範囲の 3 番目のオクテットを 1 回繰り返すことができます。
      • たとえば、DC-subnet の範囲が 10.38.0.0/24 の場合、SQL-subnet-1 の IP アドレス範囲 10.38.1.0/24 を入力します。
      • 同様に、DC-subnet の IP 範囲が 10.5.0.0/24 の場合、新しいサブネットに対して 10.5.1.0/24 と入力します。
    3. [追加] を選び、新しいサブネットを追加します。

    Name your first subnet, such as sql-subnet-1, and then iterate the third octet by 1, so that if your DC-subnet IP address is 10.5.0.0, your new subnet should be 10.5.1.0

  6. 前の手順を繰り返して、SQL-subnet-2 などの名前で 2 つ目の SQL Server VM に対して一意のサブネット範囲を追加します。 もう一度 3 番目のオクテットを 1 回繰り返すことができます。

    • たとえば、DC-subnet の IP 範囲が 10.38.0.0/24 で、SQL-subnet-110.38.1.0/24 の場合、新しいサブネットに対して「10.38.2.0/24」と入力します。
    • 同様に、DC-subnet の IP 範囲が 10.5.0.0/24 で、SQL-subnet-110.5.1.0/24 の場合、SQL-subnet-2 の IP アドレス範囲「10.5.2.0/24」を入力します。

    Name your second subnet, such as sql-subnet-2, and then iterate the third octet by 2, so that if your DC-subnet IP address is 10.38.0.0/24, your new subnet should be 10.38.2.0/24

  7. 2 つ目のサブネットを追加したら、サブネットの名前と範囲を確認します (IP アドレス範囲は画像と異なる場合があります)。 すべて正しければ、 [確認と作成][作成] の順に選択して、新しい仮想ネットワークを作成します。

    After you've added the second subnet, review your subnet names and ranges, like the image example (though your IP addresses may be different). If everything looks correct, select Review + create, then Create to create your new virtual network.

    新しいネットワークが作成されると、画面がポータル ダッシュボードに切り替わって通知が表示されます。

ドメイン コントローラーを作成する

ネットワークとサブネットの準備ができたら、仮想マシンを 1 つ (または高可用性のために必要に応じて 2 つ) 作成し、ドメイン コントローラーとして構成します。

DC 仮想マシンを作成する

Azure portal でドメイン コントローラー (DC) 仮想マシンを作成するには、次の手順に従います。

  1. Azure portal で、ご利用のリソース グループに移動して [+ 作成] を選びます。

    Create new resource in your resource group

  2. Marketplace の検索ボックスで Windows Server を検索します。

  3. Microsoft の [Windows Server] タイルで、 [作成] ドロップダウン、 [Windows Server 2016 Datacenter] イメージの順に選択します。

  4. [仮想マシンの作成] ページで値を入力して、ドメイン コントローラー VM (DC-VM-1 など) を作成します。 必要に応じて、DC-VM-2 などの追加の VM を作成して、Azure Active Directory Domain Services に高可用性を提供します。 次の表の値を使用して、VM を作成します。

    フィールド
    サブスクリプション 該当するサブスクリプション
    リソース グループ SQL-HA-RG
    仮想マシン名 最初のドメイン コントローラー: DC-VM-1
    2 番目のドメイン コントローラー DC-VM-2
    リージョン リソース グループと仮想ネットワークをデプロイした場所。
    可用性オプション 可用性ゾーン
    可用性ゾーンをサポートしていない Azure リージョンの場合は、代わりに可用性セットを使用してください。新しい可用性セットを作成し、このチュートリアルで作成したすべての VM をその可用性セット内に配置します。
    可用性ゾーン DC-VM-1 には 1 を指定します。
    DC-VM-2 には 2 を指定します。
    Size D2s_v3 (2 vCPU、8 GB RAM)
    ユーザー名 DomainAdmin
    パスワード Contoso!0000
    パブリック インバウンド ポート [選択したポートを許可する]
    受信ポートの選択 RDP (3389)
    OS ディスクの種類 Premium SSD (ローカル冗長ストレージ)
    仮想ネットワーク SQLHAVNET
    サブネット DC-subnet
    パブリック IP VM と同じ名前 (DC-VM-1 や DC-VM-2 など)
    NIC ネットワーク セキュリティ グループ Basic
    パブリック インバウンド ポート [選択したポートを許可する]
    受信ポートの選択 RDP (3389)
    ブート診断 マネージド ストレージ アカウントで有効にする (推奨)。

    仮想マシンが作成され、使用する準備ができると、Azure から通知が送信されます。

ドメイン コントローラーの構成

DC 仮想マシンの準備ができたら、corp.contoso.com のドメイン コントローラーを構成します。

ドメイン コントローラーとして DC-VM-1 を構成するには、次の手順に従います。

  1. Azure portal でリソース グループに移動し、DC-VM-1 マシンを選びます。

  2. [DC-VM-1] ページで、 [接続] を選び、リモート デスクトップ アクセス用の RDP ファイルをダウンロードし、ファイルを開きます。

    Connect to a virtual machine

  3. 構成済みの管理者アカウント (DomainAdmin) とパスワード (Contoso!0000) を使用して RDP セッションに接続します。

  4. [サーバー マネージャー] ダッシュボードを開き (既定で開く場合があります)、 [ロールと機能の追加] を選びます。

    Server Manager - Add roles

  5. [サーバーの役割] セクションが表示されるまで [次へ] を選択します。

  6. [Active Directory Domain Services][DNS サーバー] という役割を選択します。 メッセージが表示されたら、これらの役割に必要なその他の機能を追加します。

    Note

    Windows から、静的 IP アドレスがないという警告が出されます。 構成をテストしている場合は、 [続行] を選択します。 運用シナリオの場合は、Azure Portal で IP アドレスを静的アドレスに設定するか、PowerShell を使用してドメイン コントローラー コンピューターの静的 IP アドレスを設定してください。

    Add Roles dialog

  7. [確認] セクションが表示されるまで [次へ] を選択します。 [必要に応じてターゲット サーバーを自動的に再起動する] チェック ボックスをオンにします。

  8. [インストール] を選択します。

  9. 機能のインストールが完了したら、 [サーバー マネージャー] ダッシュボードに戻ります。

  10. 左側のウィンドウで新しい [AD DS] オプションを選択します。

  11. 黄色の警告バーにある [その他] リンクを選択します。

    AD DS dialog on the DNS Server VM

  12. [すべてのサーバー タスクの詳細] ダイアログ ボックスの [操作] 列で、 [このサーバーをドメイン コントローラーに昇格する] を選択します。

  13. Active Directory Domain Services の構成ウィザードで、次の値を使用します。

    ページ 設定
    デプロイ構成 [新しいフォレストの追加]
    [ルート ドメイン名] = corp.contoso.com
    ドメイン コントローラー オプション [DSRM パスワード] = Contoso!0000
    [パスワードの確認] = Contoso!0000
  14. [次へ] を選択して、ウィザード内の他のページを進めます。 [前提条件のチェック] ページで、"すべての前提条件のチェックに合格しました" というメッセージが表示されることを確認します。 該当する警告メッセージを確認してください。ただし、インストールは続行できます。

  15. [インストール] を選択します。 DC-VM-1 仮想マシンが自動的に再起動されます。

DNS IP アドレスを特定する

DNS 用に、プライマリ ドメイン コントローラーを使用します。 これを行うには、プライマリ ドメイン コントローラーに使用される VM のプライベート IP アドレスを特定します。

Azure portal で VM のプライベート IP アドレスを特定するには、次の手順に従います。

  1. Azure portal でリソース グループに移動し、プライマリ ドメイン コントローラー DC-VM-1 を選びます。
  2. [DC-VM-1] ページの [設定] ペインで [ネットワーク] を選びます。
  3. NIC のプライベート IP アドレスをメモします。 この IP アドレスは、他の仮想マシンの DNS サーバーとして使用します。 この例の画像では、プライベート IP アドレスは 10.38.0.4 です。

On the DC-VM-1 page, choose Networking in the Settings pane, and then note the NIC private IP address. Use this IP address as the DNS server.

仮想ネットワーク DNS を構成する

最初のドメイン コント ローラーを作成し、DNS を有効にしたら、DNS にこの VM を使用するように仮想ネットワークを構成します。

DNS 用に仮想ネットワークを構成するには、次の手順に従います。

  1. Azure portal で、リソース グループに移動して、仮想ネットワーク (SQLHAVNET など) を選択します。
  2. [設定] ペインで [DNS サーバー] を選択してから、 [カスタム] を選択します。
  3. [IP アドレス] フィールドに、前に特定したプライベート IP アドレス (10.38.0.4 など) を入力します。
  4. [保存] を選択します。

 Select DNS servers under the Settings pane and then select Custom. Enter the private IP address you identified previously in the IP Address field, such as 10.38.0.4.

2 つ目のドメイン コントローラーを構成する

プライマリ ドメイン コントローラーが再起動したら、高可用性を目的として、必要に応じて 2 つ目のドメイン コントローラーを構成できます。 2 つ目のドメイン コントローラーを構成しない場合は、この手順をスキップします。 ただし、運用環境では、2 つ目のドメイン コントローラーをお勧めします。

優先 DNS サーバー アドレスを設定し、ドメインに参加してから、セカンダリ ドメイン コントローラーを構成します。

優先 DNS サーバー アドレスを設定する

優先 DNS サーバー アドレスは、VM 内で直接更新しないでくださいAzure portal、PowerShell、または Azure CLI から編集する必要があります。 次の手順では、Azure portal 内で変更を行います。

  1. Azure portal にサインインします。

  2. ポータルの上部にある検索ボックスに、「ネットワーク インターフェイス」と入力します。 検索結果から [ネットワーク インターフェイス] を選択します。

  3. リストから、設定を表示または変更する 2 番目のドメイン コントローラーのネットワーク インターフェイスを選択します。

  4. [設定] で、[DNS サーバー] を選択します。

  5. 次のいずれかを選択します。

    • [仮想ネットワークから継承する] : このオプションを選択すると、ネットワーク インターフェイスの割り当て先の仮想ネットワークで定義されている DNS サーバー設定を継承します。 これにより、プライマリ ドメイン コントローラーが DNS サーバーとして自動的に継承されます。

    • Custom:複数の仮想ネットワークにわたって名前を解決する独自の DNS サーバーを構成できます。 DNS サーバーとして使用するサーバーの IP アドレスを入力します。 指定した DNS サーバー アドレスは、このネットワーク インターフェイスにのみ割り当てられて、ネットワーク インターフェイス割り当て先の仮想ネットワークの DNS 設定をすべてオーバーライドします。 カスタムを選択した場合は、10.38.0.4 などのプライマリ ドメイン コントローラーの IP アドレスを入力します。

  6. [保存] を選択します。

  7. カスタム DNS サーバーを使用している場合は、Azure portal 内の仮想マシンに戻り、VM を再起動します。

ドメインに参加する

次に、corp.contoso.com ドメインに参加します。 これを行うには、次のステップに従います。

  1. BUILTIN\DomainAdmin アカウントを使用して仮想マシンにリモート接続します。 このアカウントは、ドメイン コントローラーの仮想マシンを作成するときに使用されるアカウントと同じです。
  2. サーバー マネージャーを開き [ローカル サーバー] を選びます。
  3. [WORKGROUP] を選びます。
  4. [コンピューター名] セクションで、 [変更] を選択します。
  5. [ドメイン] チェック ボックスをオンにし、テキスト ボックスに「corp.contoso.com」を入力します。 [OK] を選択します。
  6. [Windows セキュリティ] ポップアップ ダイアログで、既定のドメイン管理者の資格情報であるアカウント (CORP\DomainAdmin) とパスワード (Contoso!0000) を指定します。
  7. "corp.contoso.com ドメインへようこそ" のメッセージが表示されたら、 [OK] を選択します。
  8. [閉じる] を選択し、ポップアップ ダイアログで [今すぐ再起動] を選択します。

ドメイン コントローラーを構成する

サーバーがドメインに参加したら、2 つ目のドメイン コントローラーとして構成できます。 これを行うには、次のステップに従います。

  1. まだ接続していない場合は、セカンダリ ドメイン コントローラーへの RDP セッションを開き、サーバー マネージャー ダッシュボードを開きます (既定で開く場合があります)。

  2. ダッシュボードの [役割と機能の追加] リンクを選択します。

    Server Manager - Add roles

  3. [サーバーの役割] セクションが表示されるまで [次へ] を選択します。

  4. [Active Directory Domain Services][DNS サーバー] という役割を選択します。 メッセージが表示されたら、これらの役割に必要なその他の機能を追加します。

  5. 機能のインストールが完了したら、 [サーバー マネージャー] ダッシュボードに戻ります。

  6. 左側のウィンドウで新しい [AD DS] オプションを選択します。

  7. 黄色の警告バーにある [その他] リンクを選択します。

  8. [すべてのサーバー タスクの詳細] ダイアログ ボックスの [操作] 列で、 [このサーバーをドメイン コントローラーに昇格する] を選択します。

  9. [デプロイ構成][既存のドメインにドメイン コントローラーを追加する] を選択します。

  10. [選択] をクリックします。

  11. 管理者アカウント (CORP.CONTOSO.COM\domainadmin) とパスワード (Contoso!0000) を使用して接続します。

  12. [フォレストからのドメインの選択] でドメインを選択し、 [OK] を選択します。

  13. [ドメイン コントローラー オプション] で、既定値を使用し、DSRM パスワードを設定します。

    Note

    [DNS オプション] ページでは、この DNS サーバーの委任を作成できないという警告が表示される場合があります。 この警告は、非運用環境では無視してかまいません。

  14. 前提条件の確認のダイアログ ボックスが表示されるまで、 [次へ] を選択します。 その後、 [インストール] を選択します。

サーバーによる構成の変更が完了したら、サーバーを再起動します。

2 つ目の DC IP アドレスを DNS に追加する

2 つ目のドメイン コントローラーを構成したら、前と同じ手順に従って VM のプライベート IP アドレスを特定し、リソース グループの仮想ネットワークにセカンダリ カスタム DNS サーバーとしてプライベート IP アドレスを追加します。 Azure portal でセカンダリ DNS サーバーを追加すると、DNS サービスの冗長性が有効になります。

ドメイン アカウントの構成

ドメイン コントローラーを構成し、Azure portal で DNS サーバーを設定したら、SQL Server をインストールするユーザーと SQL Server サービス アカウント用にドメイン アカウントを作成します。

インストール アカウントと、両方の SQL Server VM 用のサービス アカウントの、2 つのアカウントを構成します。 たとえば、次の表の値をアカウントに使用します。

Account VM 完全なドメイン名 説明
インストール 両方 Corp\Install このアカウントを使用していずれかの VM にログインし、クラスターと可用性グループを構成します。
SQLSvc 両方 Corp\SQLSvc このアカウントは、両方の SQL Server VM 上の SQL Server サービスに使います。

各アカウントを作成するには、次の手順に従います。

  1. プライマリ ドメイン コントローラー マシン (DC-VM-1 など) に接続します。

  2. [サーバー マネージャー] で、 [ツール] を選択し、 [Active Directory 管理センター] を選択します。

  3. 左側のウィンドウで [corp (ローカル)] を選択します。

  4. 右側の [タスク] ペインで、 [新規] を選択し、 [ユーザー] を選択します。

  5. 新しいユーザー アカウントを入力し、複雑なパスワードを設定します。 非運用環境では、ユーザー アカウントを期限なしに設定してください。

    Active Directory Administrative Center

  6. [OK] を選択してユーザーを作成します。

  7. これらの手順を繰り返して、すべてのアカウントを作成します。

インストール アカウントのアクセス許可を付与する

アカウントが作成されたら、インストール アカウントが AD でオブジェクトを作成できるように、必要なドメイン アクセス許可をアカウントに付与します。

インストール アカウントにアクセス許可を付与するには、次の手順に従います。

  1. Active Directory 管理センターがまだ開いていない場合は、サーバー マネージャーから開きます。

  2. 左側のペインで [corp (ローカル)] を選びます。

  3. 右側の [タスク] ペインで、ドロップダウンに [corp (ローカル)] が表示されていることを確認してから、下の [プロパティ] を選びます。

    CORP user properties

  4. [拡張機能] を選択し、 [セキュリティ] タブの [詳細設定] を選択します。

  5. [corp のセキュリティの詳細設定] ダイアログ ボックスで、 [追加] を選びます。

  6. [プリンシパルの選択] を選び、CORP\Install を検索して、 [OK] を選びます。

  7. [すべてのプロパティの読み取り][コンピューター オブジェクト作成] の横のボックスをオンにします。

    Corp user permissions

  8. [OK] を選択してから、もう一度 [OK] を選択します。 corp のプロパティ ウィンドウを閉じます。

Active Directory とユーザー オブジェクトの構成が完了したので、新しい SQL Server VM を作成する準備が整いました。

SQL Server VM の作成

AD、DNS、ユーザー アカウントを構成したら、新しい SQL Server VM を作成する準備が整います。 わかりやすくするために、マーケットプレースで SQL Server VM イメージを使用します。

ただし、SQL Server VM を作成する前に、次の設計上の決定を検討してください。

可用性 - Availability Zones

最も高いレベルの冗長性、回復性、可用性を実現するために、VM を個別の Availability Zones にデプロイします。 Availability Zones は、Azure リージョン内の一意の物理的な場所です。 各ゾーンは、独立した電源、冷却手段、ネットワークを備えた 1 つ以上のデータセンターで構成されています。 Availability Zones がまだサポートされていない Azure リージョンの場合は、代わりに可用性セットを使用してください。 すべての VM を同じ可用性セット内に配置します。

ストレージ: Azure Managed Disks

仮想マシンのストレージには、Azure Managed Disks を使用します。 Managed Disks を使用すると、バックグラウンドでストレージが処理されるため、Microsoft では、SQL Server 仮想マシンにはこちらを使用することを推奨しています。 詳細については、Azure Managed Disks の概要に関する記事をご覧ください。

ネットワーク: 運用中のプライベート IP アドレス

このチュートリアルでは、仮想マシンにパブリック IP アドレスを使用します。 パブリック IP アドレスを使うと、インターネット経由で仮想マシンに直接リモート接続できるため、構成手順が簡素化されます。 運用環境では、SQL Server インスタンス VM リソースの脆弱性の範囲を縮小するため、プライベート IP アドレスのみを使用することをお勧めします。

ネットワーク - サーバーごとに 1 つの NIC

サーバー (クラスター ノード) ごとに 1 つの NIC を使用します。 Azure ネットワークは物理的な冗長を備えているので、Azure 仮想マシンにデプロイされたフェールオーバー クラスターに NIC を追加する必要はありません。 クラスター検証レポートには、ノードは 1 つのネットワーク上でのみ到達可能であることを警告するメッセージが表示されます。 フェールオーバー クラスターが Azure 仮想マシン上にある場合は、この警告を無視できます。

VM を作成するには、次の手順に従います。

  1. Azure portal で、ご利用のリソース グループに移動して [+ 作成] を選びます。

  2. Azure SQL を検索し、Microsoft から [Azure SQL] タイルを選びます。

  3. [Azure SQL] ページで [作成] を選び、ドロップダウンから [Windows Server 2016 の SQL Server 2016 SP2 Enterprise] イメージを選びます。

     On the Azure SQL page of the portal, select Create and then choose the SQL Server 2016 SP2 Enterprise on Windows Server 2016 image from the drop-down.

次の表を使用して、 [仮想マシンの作成] ページの値を入力し、両方の SQL Server VM (SQL-VM-1SQL-VM-2 など) を作成します (実際の IP アドレスは表の例とは異なる場合があります)。

構成 SQL-VM-1 SQL-VM-2
ギャラリー イメージ Windows Server 2016 の SQL Server 2016 SP2 Enterprise Windows Server 2016 の SQL Server 2016 SP2 Enterprise
VM の基礎 [名前] = SQL-VM-1
[ユーザー名] = DomainAdmin
パスワード = Contoso!0000
[サブスクリプション] = 自分のサブスクリプション
[リソース グループ] = SQL-HA-RG
[場所] = 該当する Azure の場所
[名前] = SQL-VM-2
[ユーザー名] = DomainAdmin
パスワード = Contoso!0000
[サブスクリプション] = 自分のサブスクリプション
[リソース グループ] = SQL-HA-RG
[場所] = 該当する Azure の場所
VM のサイズ [サイズ] = E2ds_v4 (2 vCPU、16 GB RAM)
[サイズ] = E2ds_v4 (2 vCPU、16 GB RAM)
VM 設定 [可用性オプション] = 可用性ゾーン
[可用性ゾーン] = 1
[パブリック受信ポート] = 選択されたポートを許可する
[受信ポートを選択] = RDP (3389)
[OS ディスクの種類] = Premium SSD (ローカル冗長ストレージ)
[仮想ネットワーク] = SQLHAVNET
[サブネット] = SQL-subnet-1(10.38.1.0/24)
[パブリック IP アドレス] = 自動的に生成されます。
[NIC ネットワーク セキュリティ グループ] = Basic
[パブリック受信ポート] = 選択されたポートを許可する
[受信ポートを選択] = RDP (3389)
[ブート診断] = マネージド ストレージ アカウントで有効にする (推奨)
[可用性オプション] = 可用性ゾーン
[可用性ゾーン] = 2
[パブリック受信ポート] = 選択されたポートを許可する
[受信ポートを選択] = RDP (3389)
[OS ディスクの種類] = Premium SSD (ローカル冗長ストレージ)
[仮想ネットワーク] = SQLHAVNET
[サブネット] = SQL-subnet-2(10.38.2.0/24)
[パブリック IP アドレス] = 自動的に生成されます。
[NIC ネットワーク セキュリティ グループ] = Basic
[パブリック受信ポート] = 選択されたポートを許可する
[受信ポートを選択] = RDP (3389)
[ブート診断] = マネージド ストレージ アカウントで有効にする (推奨)
SQL Server の設定 [SQL 接続] = プライベート (仮想ネットワーク内)
[ポート] = 1433
[SQL 認証] = 無効
[Azure Key Vault の統合] = 無効
[ストレージの最適化] = トランザクション処理
[SQL データ] = 1024 GiB、5000 IOPS、200 MB/秒
[SQL ログ] = 1024 GiB、5000 IOPS、200 MB/秒
[SQL TempDb] = ローカル SSD ドライブを使用する
[自動修正] = 日曜日 2:00
[自動バックアップ] = 無効
[SQL 接続] = プライベート (仮想ネットワーク内)
[ポート] = 1433
[SQL 認証] = 無効
[Azure Key Vault の統合] = 無効
[ストレージの最適化] = トランザクション処理
[SQL データ] = 1024 GiB、5000 IOPS、200 MB/秒
[SQL ログ] = 1024 GiB、5000 IOPS、200 MB/秒
[SQL TempDb] = ローカル SSD ドライブを使用する
[自動修正] = 日曜日 2:00
[自動バックアップ] = 無効

Note

これらの推奨されるマシン サイズは、Azure Virtual Machines での可用性グループのテストのみを目的としています。 最適化された運用ワークロードについては、Azure VM 上の SQL Server のパフォーマンスのベスト プラクティスのサイズに関する推奨事項を参照してください。

SQL Server VM を構成する

VM の作成が完了したら、各 VM にセカンダリ IP アドレスを追加し、それらをドメインに参加させて、SQL Server VM を構成します。

セカンダリ IP を SQL Server VM に追加する

マルチサブネット環境では、可用性グループ リスナーに使用するためにセカンダリ IP アドレスを各 SQL Server VM に割り当てます。Windows Server 2016 以前では、クラスター IP アドレスの各 SQL Server VM にもセカンダリ IP アドレスを割り当てます。 これを行うと、単一のサブネット環境での要件と同様に、Azure Load Balancer の必要性がなくなります。

Windows Server 2016 以前では、クラスターで Windows Server 2019 で導入された既定の分散ネットワーク名 (DNN) ではなくクラスター ネットワーク名が使用されるため、Windows クラスター IP に使用する各 SQL Server VM に追加のセカンダリ IP アドレスを割り当てる必要があります。 DNN を使用すると、クラスター名オブジェクト (CNO) がクラスターのすべてのノードの IP アドレスに自動的に登録されるため、専用の Windows クラスター IP アドレスは不要になります。

Windows Server 2016 以前を使用している場合は、このセクションの手順に従って、可用性グループ リスナー "および"クラスターの "両方"の各 SQL Server VM にセカンダリ IP アドレスを割り当てます。

Windows Server 2019 以降を使用している場合は、可用性グループ リスナーのセカンダリ IP アドレスのみを割り当て、Windows クラスター IP を割り当てる手順をスキップします。ただし、仮想ネットワーク名 (VNN) を使用してクラスターを構成する予定がない場合は、Windows Server 2016 の場合と同様に両方の IP アドレスを各 SQL Server VM に割り当てます。

追加のセカンダリ IP を VM に割り当てるには、次の手順を実行します。

  1. Azure portal で、リソース グループに移動して、最初の SQL Server VM (SQL-VM-1 など) を選びます。

  2. [設定] ペインで [ネットワーク] を選択してから、 [ネットワーク インターフェイス] を選びます。

    Select Networking in the Settings pane, and then select the Network Interface

  3. [ネットワーク インターフェイス] ページで、 [設定] ペインの [IP 構成] を選択してから、 [+ 追加] を選択して追加の IP アドレスを追加します。

    IP configurations

  4. [IP 構成の追加] ページで、次の操作を行います。

    1. [名前] を Windows クラスター IP として指定します (Windows 2016 以前の場合は windows-cluster-ip など)。 Windows Server 2019 以降を使用している場合は、この手順をスキップします。
    2. [割り当て][静的] に設定します。
    3. SQL Server VM (SQL-VM-1) と同じサブネット (SQL-subnet-1) に、未使用の IP アドレス (10.38.1.10 など) を入力します。
    4. [パブリック IP アドレス] は既定値の [関連付けの解除] のままにします。
    5. [OK] を選択して、IP 構成の追加を終了します。

    Add Cluster IP by entering in an used IP address in the subnet of the first SQL Server VM

  5. もう一度 [+ 追加] を選び、(availability-group-listener のような名前の) 可用性グループ リスナーに対して追加の IP アドレスを構成します。ここでも、SQL-subnet-1 内の未使用の IP アドレス (10.38.1.11 など) を指定します。

    Select + Add again to configure an additional IP address for the availability group listener (with a name such as availability-group-listener), again using an unused IP address in SQL-subnet-1 such as 10.31.1.11

  6. 2 番目の SQL Server VM (SQL-VM-2 など) について、以上の手順をもう一度繰り返します。 SQL-subnet-2 内の未使用のセカンダリ IP アドレスを 2 つ割り当てます。 次の表の値を使用して、IP 構成を追加します。

    フィールド 入力 入力
    名前 windows-cluster-ip availability-group-listener
    Allocation 静的 静的
    IP アドレス (IP address) 10.38.2.10 10.38.2.11

これで、corp.contoso.com に参加する準備が整いました。

ドメインへのサーバーの参加

2 つのセカンダリ IP アドレスを両方の SQL Server VM に割り当てたら、各 SQL Server VM を corp.contoso.com ドメインに参加させます。

corp.contoso.com ドメインに参加するには、セカンダリ ドメイン コントローラーを使用してドメインに参加した時に行ったのと同じ手順を SQL Server VM に対して実行します。

各 SQL Server VM が再起動するのを待ってから、アカウントを追加できます。

アカウントの追加

各 VM の管理者としてインストール アカウントを追加し、SQL Server 内のインストール アカウントとローカル アカウントにアクセス許可を付与して、SQL Server サービス アカウントを更新します。

インストール アカウントを追加する

両方の SQL Server VM がドメインに参加したら、ローカル管理者グループのメンバーとして CORP\Install を追加します。

ヒント

必ずこの "ドメイン" の管理者アカウントでサインインしてください。 前の手順では、BUILTIN 管理者アカウントを使用していました。 これでサーバーがドメインの一部になったので、このドメイン アカウントを使用します。 RDP セッションで、DOMAIN\username (CORP\DomainAdmin など) を指定します。

アカウントを管理者として追加するには、次の手順に従います。

  1. VM が再起動されるまで待ち、最初の SQL Server VM からもう一度 RDP ファイルを起動し、CORP\DomainAdmin アカウントを使用して SQL-VM-1 にサインインします。
  2. [サーバー マネージャー][ツール] を選択し、 [コンピューターの管理] を選択します。
  3. [コンピューターの管理] ウィンドウで、 [ローカル ユーザーとグループ] を展開し、 [グループ] を選択します。
  4. [Administrators] グループをダブルクリックします。
  5. [Administrators のプロパティ] ダイアログ ボックスで、 [追加] を選択します。
  6. ユーザーに「CORP\Install」と入力し、 [OK] を選択します。
  7. [OK] を選択して [管理者のプロパティ] ダイアログ ボックスを閉じます。
  8. SQL-VM-2 でこれらの手順を繰り返します。

sysadmin にアカウントを追加する

可用性グループの構成に使用されるインストール アカウント (CORP\install) は、各 SQL Server VM 上の sysadmin 固定サーバー ロールの一部である必要があります。

インストール アカウントに sysadmin 権限を付与するには、次の手順に従います。

  1. リモート デスクトップ プロトコル (RDP) を使用して、<MachineName>\DomainAdmin アカウント (SQL-VM-1\DomainAdmin など) でサーバーに接続します。
  2. SQL Server Management Studio を開き、SQL Server のローカル インスタンスに接続します。
  3. オブジェクト エクスプローラー[セキュリティ] を選択します。
  4. [ログイン] を右クリックします。 [新しいログイン] を選択します。
  5. [ログイン - 新規作成][検索] を選択します。
  6. [場所] を選択します。
  7. ドメイン管理者のネットワーク資格情報を入力します。
  8. インストール アカウント (CORP\install) を使用します。
  9. サインインを sysadmin 固定サーバー ロールのメンバーに設定します。
  10. [OK] を選択します。
  11. 2 つ目の SQL Server VM (SQL-VM-2など) でこれらの手順を繰り返し、関連するマシン名アカウント (SQL-VM-2\DomainAdmin など) に接続します。

システム アカウントを追加する

新しいバージョンの SQL Server では、[NT AUTHORITY\SYSTEM] アカウントに SQL Server へのアクセス許可が既定で付与されないため、手動で付与する必要があります。

[NT AUTHORITY\SYSTEM] を追加し、適切なアクセス許可を付与するには、次の手順に従います。

  1. <MachineName>\DomainAdmin アカウント (SQL-VM-1\DomainAdmin など) を使用して、リモート デスクトップ プロトコル (RDP) 経由で最初の SQL Server VM に接続します。

  2. SQL Server Management Studio を開き、SQL Server のローカル インスタンスに接続します。

  3. 次の Transact-SQL (T-SQL) コマンドを使用して、各 SQL Server インスタンス上の [NT AUTHORITY\SYSTEM] にアカウントを作成します。

    USE [master]
    GO
    CREATE LOGIN [NT AUTHORITY\SYSTEM] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
    GO 
    
  4. 各 SQL Server インスタンスで、次のアクセス許可を [NT AUTHORITY\SYSTEM] に付与します。

    • ALTER ANY AVAILABILITY GROUP
    • CONNECT SQL
    • VIEW SERVER STATE

    これらのアクセス許可を付与するには、次の Transact-SQL (T-SQL) コマンドを使用します。

    GRANT ALTER ANY AVAILABILITY GROUP TO [NT AUTHORITY\SYSTEM]
    GO
    GRANT CONNECT SQL TO [NT AUTHORITY\SYSTEM]
    GO
    GRANT VIEW SERVER STATE TO [NT AUTHORITY\SYSTEM]
    GO 
    
  5. 2 つ目の SQL Server VM (SQL-VM-2など) でこれらの手順を繰り返し、関連するマシン名アカウント (SQL-VM-2\DomainAdmin など) に接続します。

SQL Server サービス アカウントの設定

各 VM の SQL Server サービスでは、専用のドメイン アカウントを使用する必要があります。 前に作成したドメイン アカウントを使います: SQL-VM-1SQL-VM-2 の両方に対して Corp\SQLSvc

サービス アカウントを設定するには、次の手順に従います。

  1. <MachineName>\DomainAdmin アカウント (SQL-VM-1\DomainAdmin など) を使用して、リモート デスクトップ プロトコル (RDP) 経由で最初の SQL Server VM に接続します。
  2. [SQL Server 構成マネージャー] を開きます。
  3. SQL Server サービスを右クリックし、 [プロパティ] を選択します。
  4. アカウント (Corp\SQLSvc) とパスワードを指定します。
  5. [適用] を選択して変更をコミットし、SQL Server サービス を再起動します。
  6. 他の SQL Server VM (SQL-VM-1) でこれらの手順を繰り返し、SQL-VM-2\DomainAdmin などのマシン ドメイン アカウントでサインインし、サービス アカウント (Corp\SQLSvc) を指定します。

Azure ストレージ アカウントを作成する

2 ノードの Windows Server フェールオーバー クラスターを展開するには、クォーラムを確立するために 3 番目のメンバーが必要です。 Azure VM で推奨されるクォーラム オプションは、クラウド監視です。 クラウド監視を構成するには、Azure Storage アカウントが必要です。 詳細については、「フェールオーバー クラスターにクラウド監視を展開する」をご覧ください。

ポータルで Azure Storage アカウントを作成するには:

  1. ポータルで SQL-HA-RG リソース グループを開き、 [+ 作成] を選びます。

  2. ストレージ アカウントを検索します。

  3. [ストレージ アカウント][作成] の順に選び、次の値で構成します。

    1. サブスクリプションを選び、リソース グループ SQL-HA-RG を選びます。
    2. [ストレージ アカウント名] に一意のストレージ アカウントを入力します。 ストレージ アカウント名の長さは 3 から 24 文字である必要があり、数字と小文字のみを使用できます。 ストレージ アカウント名は、Azure 内で一意である必要もあります。
    3. 自分のリージョンを選びます。
    4. [パフォーマンス] には、 [Standard: Recommended for most scenarios (general-purpose v2 account)](標準: ほとんどのシナリオに推奨 (汎用 v2 アカウント)) を選びます。 Azure Premium Storage は、クラウド監視ではサポートされていません。
    5. [冗長] には [ローカル冗長ストレージ (LRS)] を選びます。フェールオーバー クラスタリングでは、アービトレーション ポイントとして BLOB ファイルを使用します。ここでは、データの読み取り時に一定の整合性が保証される必要があります。 そのため、レプリケーションの種類として [ローカル冗長ストレージ] を選択する必要があります。
    6. [確認と作成] を選択します

ファイアウォールを構成する

可用性グループ機能は、次の TCP ポートを経由するトラフィックに依存します。

  • SQL Server VM:SQL Server の既定のインスタンス用のポート 1433。
  • データベース ミラーリング エンドポイント: 使用可能な任意のポート。 例では 5022 がよく使用されます。

両方の SQL Server VM でこれらのファイアウォール ポートを開きます。 ポートを開く方法は、使用するファイアウォール ソリューションによって異なります。また、このセクションで説明する Windowsファイアウォールの例とは異なる場合があります。

Windows ファイアウォールでこれらのポートを開くには、次の手順に従います。

  1. 最初の SQL サーバーのスタート画面で、 [セキュリティが強化された Windows ファイアウォール] を開きます。

  2. 左側のウィンドウで、 [受信の規則] を選択します。 右側のペインで [新しい規則] を選択します。

  3. [規則の種類][ポート] を選択します。

  4. ポートに対して [TCP] を選択し、適切なポート番号を入力します。 次の例を参照してください。

    SQL firewall

  5. [次へ] を選択します。

  6. [操作] ページで、 [接続を許可する] を選択し、 [次へ] を選択します。

  7. [プロファイル] ページで、既定の設定をそのまま使用し、 [次へ] を選択します。

  8. [名前] ページで、 [名前] テキスト ボックスに規則の名前 (SQL Inbound など) を指定し、 [完了] を選択します。

  9. 2 つ目の SQL Server VM についても同じ手順を繰り返します。

次のステップ

前提条件の構成が完了したので、複数のサブネットで可用性グループの構成を開始します。

詳細については、以下をご覧ください。