編集

次の方法で共有


ディザスター リカバリー用に Azure Arc 対応 SQL マネージド インスタンスをデプロイする

Azure Arc
Azure SQL Managed Instance

この記事では、2 つのサイトに高可用性アーキテクチャで Azure Arc 対応 SQL マネージド インスタンスをデプロイする方法を見ていきます。 これは、Azure Arc Jumpstart の ArcBox for DataOps の実装に基づいています。

アーキテクチャ

Azure Arc 対応 SQL Managed Instance のトポロジを示す図。

このアーキテクチャの PowerPoint ファイルをダウンロードします。

ワークフロー

次のワークフローは、前の図に対応しています。

  • 2 つの異なるサイトを表す 2 つの仮想ネットワークに 1 つずつ、2 つの Azure Arc 対応 Kubernetes クラスターをデプロイします。
  • 2 つの仮想ネットワークが通信できるよう、それらの間に仮想ネットワーク ピアリングを確立します。
  • 各サイトにドメイン コントローラーをデプロイします。 それらの間に Active Directory レプリケーションを構成します。
  • 各 Kubernetes クラスターに Azure Arc データ コントローラーをデプロイします。
  • プライマリ クラスターに Business Critical サービス レベルで Azure Arc 対応 SQL マネージド インスタンスをデプロイします。
  • セカンダリ クラスターに Business Critical サービス レベルで Azure Arc 対応 SQL マネージド インスタンスをデプロイします。 それをディザスター リカバリー インスタンスとして構成します。
  • プライマリ サイトで障害が発生した場合、システムはセカンダリ サイト内の SQL マネージド インスタンスにフェールオーバーします。

コンポーネント

  • Azure Arc。Azure Arc は、ユーザーがアプリケーションとサービスを構築するのに役立つように Azure プラットフォームを拡張するブリッジです。
  • Azure Arc 対応 Kubernetes。 Azure Arc 対応 Kubernetes を使うと、Azure の内部または外部で Kubernetes クラスターをアタッチして構成できます。 Kubernetes クラスターが Azure Arc にアタッチされていると、Azure Arc 対応 SQL Managed Instance のような Azure Arc データ サービスをそれにデプロイできます。
  • Azure Arc データ コントローラー。 Azure Arc データ コントローラーは、Azure Arc 対応データ サービス アーキテクチャでのオーケストレーターです。 それは、プロビジョニング、弾力性、回復性、監視、高可用性などのサービスを管理します。
  • Azure Arc 対応 SQL Managed Instance。 Azure Arc 対応 SQL Managed Instance をデプロイして、データ ワークロードをホストできます。 それは、ハイブリッドとマルチクラウドのインフラストラクチャ上の Azure PaaS データ サービスをサポートします。
  • ドメイン コントローラー。 ドメイン コントローラーは、Azure Arc 対応 SQL マネージド インスタンスへの認証と認可を管理するために、このアーキテクチャにデプロイされます。

シナリオの詳細

このシナリオは、Azure Arc Jumpstart の ArcBox for DataOps の実装に基づいています。 ArcBox は、Azure Arc 用の簡単にデプロイできるサンドボックスを提供するソリューションです。ArcBox for DataOps は、サンドボックス環境で Azure Arc 対応 SQL Managed Instance の機能を体験するのに役立つ ArcBox のバージョンです。

考えられるユース ケース

このアーキテクチャの一般的なユース ケースは次のとおりです。

  • 1 つのサイトに、障害に対する回復性がある高可用性の Azure Arc 対応 SQL マネージド インスタンスをデプロイします。
  • サイトの完全なダウンタイムから復旧するため、プライマリ サイトと DR サイトに Azure Arc 対応 SQL マネージド インスタンスをデプロイします。
  • ハイブリッドまたはマルチクラウドのインフラストラクチャに存在するミッション クリティカルなアプリケーション用に、回復性があるデータ バックエンドをデプロイします。

Recommendations

ほとんどのシナリオに次の推奨事項が適用されます。 これらの推奨事項には、オーバーライドする特定の要件がない限り、従ってください。

Azure Arc 対応 SQL Managed Instance のデプロイ

任意の検証済み Kubernetes ディストリビューションを Azure Arc に接続できます。クラスターを接続する前に、Azure Arc 対応 Kubernetes の前提条件を必ず完了してください。

クラスターを接続した後、Azure Arc データ コントローラーをデプロイする必要があります。 最初に、Azure Arc データ コントローラーの前提条件を完了します。 その後、SQL Managed Instance をデプロイできます。

Azure Arc 対応 SQL Managed Instance をデプロイできるサービス レベルが 2 つあります。

  • General Purpose は、一般的なパフォーマンスと可用性の機能を持つほとんどのワークロード向けに設計された、低コストのレベルです。
  • Business Critical レベルは、高可用性機能を持つパフォーマンスに影響されやすいワークロード用に設計されています。

レベルの詳細な比較については、「Azure Arc 対応 SQL Managed Instance のサービス レベル」をご覧ください。

Azure Arc 対応 SQL Managed Instance を監視する

Azure Monitor で Log Analytics を使って、Azure Arc 対応 SQL Managed Instance を監視できます。または、Grafana などのオープンソース ソリューションを使うこともできます。

Log Analytics ワークスペースのデプロイを設計および計画します。 それを、データが収集および集計され、後で分析されるコンテナーにデプロイします。 Log Analytics ワークスペースは、データの地理的な場所、データの分離、およびデータ保持のような構成に対するスコープを提供します。 Azure 向けクラウド導入フレームワークの管理と監視に関するベスト プラクティスで説明されているように、1 つの Log Analytics ワークスペースを使います。

事業継続とディザスター リカバリー

  • データ損失をほぼゼロにするために、3 つのレプリカを使って Azure Arc 対応 SQL Managed Instance を Business Critical サービス レベルにデプロイします。

  • Arc 対応 SQL Managed Instance のインスタンスの名前がプライマリ サイトとセカンダリ サイトで異なっていること、およびサイトの共有名の値が同じであることを確認します。

  • 定期的なディザスター リカバリー訓練を実行して、フェールオーバー プロセスを検証します。

  • 手動フェールオーバーと強制フェールオーバーの両方を開始するプロセスを作成します。

  • Azure Monitor Container insights を使って、Azure Arc 対応 Kubernetes クラスターの正常性を監視します。

  • フェールオーバーの間に DNS レコードを手動で作成する必要がないように、DNS サーバー内の分散可用性グループの共有名の DNS レコードを定義します。

ベスト プラクティスとガイダンスについて詳しくは、「Azure Arc 対応 SQL Managed Instance の事業継続とディザスター リカバリー」をご覧ください。

考慮事項

これらの考慮事項は、ワークロードの品質向上に使用できる一連の基本原則である Azure Well-Architected Framework の要素を組み込んでいます。 詳細については、「Microsoft Azure Well-Architected Framework」を参照してください。

[信頼性]

信頼性により、顧客に確約したことをアプリケーションで確実に満たせるようにします。 詳細については、「信頼性設計レビューチェックリスト」を参照してください。

  • 回復ポイントの目標 (RPO) と目標復旧時間 (RTO) のターゲットを定義します。
  • データベースを以前の時点に復元できるように、ポイントインタイム リストアを構成します。
  • Business Critical サービス レベルにデプロイするレプリカの数 (1 から 3 個) を決めます。
  • Business Critical サービス レベルにデプロイするセカンダリ レプリカの数を決めます。 2 つ以上のレプリカを使って Business Critical サービス レベルにインスタンスをデプロイする場合は、セカンダリ レプリカを読み取り可能として構成できます。 数の変更については、「読み取り可能なセカンダリを構成する」を参照してください。
  • セカンダリ インスタンスへのフェールオーバーを実行するタイミングを決定するために、プライマリ インスタンスのダウンタイムを監視する方法を決めます。
  • geo プライマリと geo セカンダリ サイトの Azure Arc 対応 SQL Managed Instance のインスタンスが、同一のコンピューティングと容量で、同じサービス レベルにデプロイされていることを確認します。
  • ディザスター リカバリー構成を作成するときに、ミラーリング証明書を格納する場所を決めます。 インスタンスをホストする両方のクラスターが、その場所にアクセスできる必要があります。
  • 使用する Kubernetes サービスの種類を決めます (LoadBalancer または NodePort)。 LoadBalancer を使用する場合、アプリケーションは同じプライマリ エンドポイントに再接続でき、接続は Kubernetes によって新しいプライマリにリダイレクトされます。 NodePort を使用する場合、アプリケーションは新しい IP アドレスに再接続する必要があります。
  • 事業継続とディザスター リカバリーに関するガイダンスを確認し、要件を満たしているかどうかを判断します。

セキュリティ

セキュリティは、重要なデータやシステムの意図的な攻撃や悪用に対する保証を提供します。 詳細については、「セキュリティ設計レビューチェックリスト」を参照してください。

  • Azure Arc 対応 SQL マネージド インスタンスとデータ コントローラーをデプロイする Azure リージョンを決めます。 セキュリティとコンプライアンスの要件およびデータ主権の要件を考慮します。 直接接続モードと間接接続モードでリソースから収集されるデータの種類を把握し、組織のデータ所在地の要件に基づいて適切に計画します。
  • Azure Arc 対応 SQL マネージド インスタンスは、ハイブリッドまたはマルチクラウドの Kubernetes クラスターに配置できます。 クラウド プロバイダーと Kubernetes ディストリビューションのセキュリティとガバナンスに関する考慮事項を確認します。
  • 組織の職務の分離と最小限の特権アクセスの要件を考慮して、組織に対するクラスター管理、操作、データベース管理、開発者のロールを定義します。 アクションと責任に対する各チームのマッピングにより、使用する接続モードに応じて、Azure ロールベースのアクセス制御 (RBAC) ロールまたは Kubernetes の ClusterRoleBindingRoleBinding が決まります。
  • Azure Arc 対応 SQL マネージド インスタンスで使う認証モデルを、Microsoft Entra 認証または SQL 認証のどちらかに決めます。 適切なモデルの選択に役立つ考慮事項と推奨事項について、ID とアクセス管理の設計領域を確認します。
  • データ ワークロードのために Azure Arc 対応 SQL Managed Instance で使用できるセキュリティ機能を確認します。
  • 直接接続モードまたは間接接続モードのどちらでデプロイされていても、Azure Arc 対応 SQL Managed Instance を最新のバージョンに保つ必要があることを考慮します。 ガイダンスについては、アップグレード可能性の規範の重要な設計領域に関する記事をご覧ください。
  • Azure Arc 対応 Kubernetes のガバナンスとセキュリティの規範の設計領域で設計上の考慮事項を確認します。
  • Azure Arc 対応 SQL Managed Instance のセキュリティ機能の包括的な概要については、セキュリティとガバナンスの規範に関する記事をご覧ください。

コストの最適化

コストの最適化は、不要な費用を削減し、運用効率を向上させる方法を検討することです。 詳細については、「コストの最適化設計レビューチェックリスト」を参照してください。

  • ビジネス要件を定義して、最も適切なサービス レベルを決めます。 また、事業継続とディザスター リカバリーをサポートするために必要な追加のインフラストラクチャを検討します。
  • 使用量と課金の情報が Azure に送信される方法は、直接接続モードと間接接続モードのどちらを使うかによって異なることに注意してください。 間接接続モードを使う場合は、使用量と課金の情報が Azure に定期的に送信される方法を検討します。
  • Azure Arc 対応 SQL Managed Instance を使う期間に基づいて、従量課金制、1 年間の予約インスタンス、または 3 年間の予約インスタンスのうちコスト効率が最も高いものを検討します。
  • Azure ハイブリッド特典を利用すると Azure Arc 対応 SQL Managed Instance の両方のサービス レベルで節約できることに留意してください。
  • コストの最適化に関するガイダンスについては、「Azure Arc 対応 SQL Managed Instance のコスト ガバナンス」をご覧ください。
  • コストの見積もりには、Azure 料金計算ツールをご利用ください。
  • このアーキテクチャに対応する Jumpstart ArcBox for DataOps 参照実装をデプロイする場合、ArcBox リソースは、基の Azure リソースの Azure 従量課金料金がかかることに注意してください。 これらのリソースには、コア コンピューティング、ストレージ、ネットワーク、補助サービスが含まれます。

オペレーショナル エクセレンス

オペレーショナル エクセレンスは、アプリケーションをデプロイし、運用環境で実行し続ける運用プロセスを対象としています。 詳細については、「オペレーショナル エクセレンス設計レビュー チェックリスト」を参照してください。

パフォーマンス効率

パフォーマンス効率は、効率的な方法でユーザーの要求に合わせてワークロードをスケーリングする機能です。 詳細については、「パフォーマンス効率設計レビュー チェックリスト」を参照してください。

  • Azure Monitor を使って、Azure Arc 対応 SQL マネージド インスタンスからメトリックとログを収集し、詳細な分析と関連付けを行います。 デプロイ オプションを確認してください。
  • Grafana や Kibana などのオープンソース ツールを使って、インスタンスを監視することもできます。

このシナリオのデプロイ

このアーキテクチャの参照実装は、Azure Arc Jumpstart プロジェクトの一部である Jumpstart ArcBox for DataOps で見つかります。 ArcBox は、1 つの Azure サブスクリプションとリソース グループで自己完結するように設計されています。 ArcBox は、Azure Arc を実際に体験するのに役立ちます。

作業を始めるには、Jumpstart ArcBox for DataOps に移動してください。

共同作成者

この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。

プリンシパル作成者:

  • Seif Bassem | シニア クラウド ソリューション アーキテクト

その他の共同作成者:

パブリックでない LinkedIn プロファイルを表示するには、LinkedIn にサインインします。

次のステップ