Azure SQL Database のライセンスフリー スタンバイ レプリカ (プレビュー) を構成する

適用対象:Azure SQL Database

この記事では、Azure SQL Database の使用時にセカンダリ ディザスター リカバリー (DR) データベースをスタンバイに指定することで、ライセンス コストを節約する方法について説明します。

Note

スタンバイ Azure SQL Database レプリカは現在プレビュー段階です。

概要

セカンダリ データベース レプリカがディザスター リカバリーにのみ使用され、ワークロードが実行されていない場合や、それに接続するアプリケーションがない場合は、データベースをスタンバイ レプリカとして指定することで、ライセンス コストを節約できます。 セカンダリ データベースがスタンバイ インスタンスとして指定されている場合、Microsoft は、製品ライセンス条項のフェールオーバー権利特典に基づき、プライマリ データベースにライセンスされた仮想コア数を追加料金なしで提供します。 セカンダリ データベースで使われるコンピューティングとストレージに対しては、引き続き課金されます。

新しい アクティブ geo レプリケーション レプリケーションを構成するときに、レプリカをスタンバイとして指定します。 その後、必要に応じて、レプリカをフェールオーバー グループに追加できます。

アクティブ geo レプリケーションでは 4 つのセカンダリ レプリカの追加がサポートされていますが、スタンバイ用に指定できるセカンダリ データベース レプリカは 1 つだけです。 フェールオーバー グループは、プライマリ データベースごとに 1 つのセカンダリ データベース レプリカをサポートし、読み取り可能またはスタンバイにすることができます。

計画中または計画されていないフェールオーバー中は、スタンバイ レプリカが新しいプライマリになって通常の仮想コア ライセンス コストの発生が開始し、元のプライマリが新しいスタンバイ のセカンダリになって仮想コア ライセンス コストの発生が停止します。

詳細については、データ公開から次のビデオをご覧ください。

費用便益

データベース レプリカをスタンバイとして指定すると、スタンバイ レプリカで使われる仮想コアの SQL Server ライセンス コストに対する Microsoft からの課金はありません。 ただし、データベースは 1 時間全体に対して課金されるため、1 時間の途中で状態が変更された場合でも、1 時間全体のライセンス コストを請求されることがあります。

従量課金制モデルを利用するお客様と、Azure ハイブリッド特典モデルを利用するお客様では、特典の適用方法が異なります。 従量課金制のお客様の場合、仮想コアはその請求書で割引されます。 スタンバイ レプリカの Azure ハイブリッド特典を使用するお客様の場合、セカンダリ レプリカで使用する仮想コア数がそのライセンス プールに戻されます。

たとえば、従量課金制のお客様であって、セカンダリ データベースに 16 個の仮想コアが割り当てられている場合、セカンダリ データベースをスタンバイ専用として指定すると、請求書に 16 個の仮想コアの割引が表示されます。

別の例としては、16 個の Azure ハイブリッド特典ライセンスがあり、16 個の仮想コアを持つ 1 つのデータベースをデプロイした場合、セカンダリ データベースをスタンバイとして指定した後、他の Azure SQL デプロイで使用するために 16 個の仮想コアがライセンス プールに戻されます。

機能

次の表では、スタンバイ セカンダリ データベース レプリカの機能について説明します。

機能 説明
読み取りワークロードの制限 データベースをスタンバイとして指定した後、セカンダリ データベースで実行できる読み取りワークロードの数は制限されます (動的管理ビュー (DMV)、バックアップ、データベース コンソール コマンド (DBCC) クエリなど)。
計画されたフェールオーバー 復旧訓練、データベースの異なるリージョンへの再配置、データベースのプライマリへの復帰など、計画されたすべてのフェールオーバー シナリオは、スタンバイ レプリカでサポートされます。 セカンダリがプライマリに切り替わると、読み取りクエリと書き込みクエリに対応できます。 新しいセカンダリ (元のプライマリ) はスタンバイ レプリカになり、読み取りワークロードに使用すべきではありません。
計画外のフェールオーバー 計画外のフェールオーバー中にセカンダリがプライマリ ロールに切り替わると、読み取りクエリと書き込みクエリに対応できます。 停止していた機能が復旧して元のプライマリが再接続されると、それが新たなセカンダリ スタンバイ レプリカになるため、読み取りワークロードには使わないでください。
バックアップと復元 スタンバイ レプリカと読み取り可能なセカンダリ データベース レプリカで、バックアップと復元の動作は同じです。
監視 読み取り可能なセカンダリ レプリカでサポートされるすべての監視操作は、スタンバイ レプリカによってサポートされます。

スタンバイ データベース レプリカは、ディザスター リカバリーにのみ使用する必要があります。 レプリカに運用アプリケーションを接続することはできません。 スタンバイ データベースで許可されるアクティビティは次のとおりです。

  • checkDB のようなメンテナンス操作の実行
  • 監視アプリケーションの接続
  • ディザスター リカバリーの訓練を実施する

制限事項

次の表に、サポート対象のデプロイ メソッドとサポート非対象のデプロイ メソッドを示します。

デプロイメント モデル コンピューティング レベル サービス レベル サポート対象のスタンバイ レプリカ ハードウェア
単一データベース プロビジョニング済み 汎用 はい Standard シリーズ (Gen5)、FSv2 シリーズ、DC シリーズ
単一データベース プロビジョニング済み Business Critical はい Standard シリーズ (Gen5)、DC シリーズ
単一データベース プロビジョニング済み Hyperscale なし* 該当なし
単一データベース サーバーレス すべて いいえ N/A
エラスティック プール すべて すべて いいえ N/A

「*Hyperscaleサービス層については、Azure SQL データベースHyperscale の新しい価格帯のお知らせ」を確認し、価格の変更の詳細については、「Azure SQL データベースHyperscale – より安くシンプルな価格!」を参照してください。

スタンバイ データベースの使用には、次の制限があります。

  • 新しいアクティブ geo レプリケーションリレーションシップを確立する場合にのみ、スタンバイ用のデータベースを指定できます。 既存のアクティブ/georeplication リレーションシップを持つデータベース、または既存のフェールオーバー グループ内のデータベースをスタンバイに指定することはできません。
  • スタンバイ用に指定できるセカンダリ データベース レプリカは 1 つだけです。
  • サーバーレス コンピューティング レベルはサポートされていません。 プライマリ データベースまたはセカンダリ データベースがサーバーレス コンピューティング レベルにある場合、スタンバイ レプリカを有効にすることはできません。
  • DTU 購入モデルはサポートされていません。 仮想コア購入モデルのみを使用して、データベースのスタンバイ レプリカを有効にすることができます。
  • Hyperscale サービス レベルはサポートされていません。 スタンバイに指定できるのは、General Purpose サービス レベルと Business Critical サービス レベルのデータベースのみです。
  • フェールオーバー グループを使用する場合、スタンバイ権限はフェールオーバー グループ レベルではなくデータベース レベルで割り当てられ、フェールオーバー グループ内のデータベースごとに個別に割り当てる必要があります。
  • レプリカがセカンダリ レプリカのセカンダリ レプリカである場合、スタンバイのセカンダリ レプリカの指定はサポートされません (既知のプロセスはチェーンされています)。

前提条件

  • Azure サブスクリプション。 Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。
  • サポートされているハードウェアで実行されている General Purpose サービス レベルまたは Business Critical サービス レベルのプライマリ プロビジョニングされた仮想コア Azure SQL Database。 クイックスタートを確認して使用を開始してください。

スタンバイ レプリカを構成する

Azure portal、PowerShell、または Azure CLI を使用して新しいアクティブ geo レプリケーションリレーションシップを構成するときに、スタンバイのレプリカを指定できます。

新しいアクティブ geo レプリケーションリレーションシップを作成し、Azure portal でセカンダリ データベースをスタンバイ用に指定するには、次の手順に従います。

  1. Azure portalSQL データベース リソースに移動します。

  2. リソース メニューから [データ管理] の下にある [レプリカ] を選択し、[+ レプリカの作成] を選択して [SQL Database - geo レプリカの作成] ページを開きます。

    Screenshot of the Replicas page for the SQL database in the Azure portal.

  3. [SQL Database - Geo レプリカの作成] ページで、[レプリカの構成][レプリカの種類][スタンバイ レプリカ] を選択します。 チェック ボックスをオンにして、スタンバイにレプリカを使用することを確認します。

    Screenshot of the Create geo replica page with standby replica highlighted in the Azure portal.

  4. 新しいスタンバイ データベースの新規または既存のサーバーを指定し、[確認と作成] を使用して、データベースとサーバーの詳細の最終的な検証を行います。

  5. [作成] を使用して設定を確認し、新しいスタンバイ データベース レプリカを作成します。

フェールオーバー グループへの追加 (オプション)

新しいスタンバイ データベース レプリカに対してアクティブ geo レプリケーションリレーションシップが確立されたら、フェールオーバー グループに追加することができます。 詳細については、フェールオーバー グループを参照してください。


ライセンスの権利を表示する

Azure portal、PowerShell、Azure CLI を使って、既存のデータベースのセンス権利を確認することができます。

Azure portal を使用して既存のデータベースのライセンス権利をチェックするには、次の手順に従います。

  1. Azure portalSQL データベースに移動します。

  2. [概要] ページで、[Essentials][レプリカ タイプ] をチェックします。 値 Standby は、データベースがスタンバイ レプリカであることを示し、このデータベースの SQL ライセンス コストには課金されてません。

    Screenshot of the Overview page for SQL database in the Azure portal with replica type highlighted.

スタンバイ レプリカの削除

データベースがスタンバイとして指定された後は、スタンバイ プロパティを削除することはできません。 スタンバイ レプリカを削除するには、アクティブ geo レプリケーションリレーションシップを終了するためにレプリケーションを停止する必要があります。 レプリケーションが停止すると、データベースはスタンドアロンになり、ライセンス コストの発生が開始されます。

Azure Portal、PowerShell、または Azure CLI を使用して、geo レプリケーションを停止することができます。

Azure portal で geo レプリケーションを終了してスタンバイ レプリカを削除するには、次の手順に従います。

  1. Azure portalSQL データベースに移動します。
  2. [データ管理][レプリカ] を選択します。
  3. スタンバイ レプリカの省略記号 (...) を選択し、ポップアップ メニューから [レプリケーションの停止] を選択します。 これによりレプリケーションが停止されるため、セカンダリ データベースはスタンバイ用に指定されるのではなくスタンドアロンになり、ライセンス コストが発生します。

よく寄せられる質問 (FAQ)

  • 価格にどのような影響がありますか?

    セカンダリ データベース レプリカは、データとバックアップの SQL ライセンス、コンピューティング、ストレージに対して課金されます。 スタンバイ用のデータベース レプリカを指定した場合、セカンダリ レプリカで使用される仮想コアのライセンス コストには課金されませんが、コンピューティングとストレージに対しては引き続き課金されます。

  • スタンバイ レプリカのおおよその節約額はどれくらいですか?

    ライセンス コストがない場合、スタンバイ レプリカは完全に読み取り可能なセカンダリ レプリカと比較して 35% から 40% まで節約できますが、節約度合いはリージョンによって異なります。 正確な価格を得るには、Azure 料金計算ツールを使用し、SQL Server ライセンスを Azure ハイブリッド特典に設定します。

  • スタンバイ レプリカでライセンスフリーになる仮想コアの数はいくつですか?

    プライマリ データベースが使用する仮想コアの数と同じです。 geo レプリケーションのパフォーマンスを最適化するには、プライマリ データベースと同じ数の仮想コアを使用してセカンダリ レプリカを構成することをお勧めします。

  • スタンバイ レプリカを使用するには、アクティブな ソフトウェア アシュアランス を持つ SQL Server ライセンスが必要ですか?

    いいえ。 スタンバイ レプリカではライセンス コストが発生しないため、アクティブなソフトウェア アシュアランスを備えたアクティブな SQL Server ライセンスは必要ありません。

  • スタンバイ レプリカを使用するにはどうすればよいですか?

    スタンバイ レプリカはディザスター リカバリー (DR) のみを目的としており、アクティブな読み取りワークロードは使用できません。 許容できるワークロードは、監視、動的管理ビュー (DMV)、CheckDB の実行などのメンテナンスのみです。

  • コストを節約するために、既存の読み取り可能なセカンダリ レプリカをスタンバイ レプリカに更新できますか?

    いいえ。 新しいレプリカのみをスタンバイとして指定できます。 既存のレプリカの更新はサポートされていません。 ただし、スタンバイ用に指定された新しいスタンバイ レプリカを作成し、既存の geo セカンダリ レプリカを削除してコストを節約できます。

  • スタンバイ レプリカのAzure ハイブリッド特典を有効にできますか?

    スタンバイのレプリカを指定すると、Azure ハイブリッド特典からの割引が置き換えられるため、Azure portal を使用してレプリカのライセンス モデルを変更することはできません。 ただし、フェールオーバー時にスタンバイ レプリカでAzure ハイブリッド特典を使用する場合は、Set-AzSqlDatabase PowerShell または az sql db update Azure CLI コマンドを使用して、スタンバイ レプリカがフェールオーバー後にプライマリになったときに使用するようにライセンスのタイプを BasePrice (Azure Hybrid Benefit) に更新します。

  • フェールオーバー中のスタンバイ レプリカの状態はどうなりますか?

    計画中または計画されていないフェールオーバー中に、スタンバイ レプリカは通常のライセンス コストを発生する新しいプライマリになり、元のプライマリは新しいスタンバイ セカンダリになり、仮想コア ライセンス コストの発生を停止します。 ただし、インスタンスは 1 時間全体に対して課金されるため、1 時間の途中で状態が変更された場合でも、新しいセカンダリに対する1 時間全体のライセンス コストを請求されることがあります。 元のプライマリ (フェールオーバー後にスタンバイになる) がAzure ハイブリッド特典を使用していた場合、スタンバイ ライセンス割引はデータベースで使用されるAzure ハイブリッド特典をオーバーライドします。

  • プライマリまたはセカンダリを高い仮想コア サイズにスケールアップするとどうなりますか?

    スケールアップするときは、まずセカンダリをスケールアップしてから、プライマリをスケールアップすることをお勧めします。 セカンダリ レプリカの仮想コア数は移行期間中のプライマリよりも多くなりますが、スタンバイ レプリカの利点は引き続き適用されます。 切り替え期間をできるだけ最小限にしてください。

  • プライマリまたはセカンダリを低い仮想コア サイズにスケールダウンするとどうなりますか?

    スケールダウンするときは、最初にプライマリをスケールダウンしてからセカンダリをスケールダウンすることをお勧めします。 セカンダリ レプリカの仮想コア数は移行期間中のプライマリよりも多くなりますが、スタンバイ レプリカの利点は引き続き適用されます。 切り替え期間をできるだけ最小限にしてください。

  • プライマリ レプリカとスタンバイ レプリカの間の geo レプリケーション関係を削除するとどうなりますか?

    geo レプリケーションが削除されると、スタンバイ データベースは通常のスタンドアロン データベースになり、ライセンス コストの発生が開始されます。

  • スタンバイ レプリカの予約容量の利点は得られますか?

    はい。 予約容量の価格は、スタンバイ レプリカと完全に互換性があります。

次のステップ