可用性を構成し監視する

完了

すべての可能性について理解できたので、次は Azure SQL データベースまたは Azure SQL マネージド インスタンスが含まれている特定のワークロードのための戦略を作成する必要があります。

適切な選択を行う

戦略作成の大部分は、一歩下がって、ワークロードの要件について検討することです。 考慮すべきいくつかの質問を次に示します。

  • 長期間のバックアップが必要ですか。 または 1-35 日で十分ですか。
  • RTO と RPO の要件は何ですか。
  • SLA を基にすると、どのようなサービス レベルが最適でしょうか。
  • Availability Zones が必要ですか。
  • geo レプリケートされる HADR またはフェールオーバー グループが必要ですか。
  • アプリケーションの準備はできていますか。

これらの質問に対する回答は、可用性の要件を満たすためにデプロイする必要がある構成を絞り込むのに役立ちます。

最後の質問は、データ プロフェッショナルが見落としがちなことで、アプリケーションの準備はできているか? です。この考慮事項は、必要な SLA を実現するために重要です。

データベースが可用性の要件を満たしていることを確認する必要がありますが、アプリケーションがそれらの要件を満たしていることも確認する必要があります。 また、データとアプリケーション間の接続が要件を満たしていることを確認する必要もあります。 たとえば、アプリケーションとデータベースが異なるリージョンにある場合は、ネットワーク待ち時間が増加します。 アプリケーションとデータは、できるだけ近い場所に配置します。 このモジュール全体を通じて、可用性を維持するためにアプリケーションに再試行ロジックを実装することがいかに重要であるかについても見てきました。

可用性を監視する

Azure SQL には、可用性の特定の側面を監視するためのツールと機能がいくつか用意されています。 このようなツールとしては、Azure portal、T-SQL、および PowerShell、az CLI、REST API などのインターフェイスがあります。

以下のセクションでは、これらのツールを使用して可用性を監視する例について説明します。

リージョンとデータセンターの可用性

リージョンとデータセンターの可用性は、マネージド インスタンスまたはデータベースのデプロイの可用性にとって重要です。 "Azure の状態" と Azure Service Health は、Azure SQL などの特定のサービスを含むデータセンターまたはリージョンの障害について理解するうえで重要です。

Azure の状態は、任意の Azure グローバル リージョンでの問題の原因になっているサービスが示されるダッシュボードです。 RSS フィードを使用して、Azure の状態に対する変更の通知を受け取ることができます。

Azure Service Health は、Azure portal で表示することができます。 Azure Service Health では、サービスの問題、計画メンテナンス イベント、正常性の勧告、正常性の履歴に関する情報が提供されます。 また、アラートを設定して、可用性に影響を与える可能性のあるイベントについて、メールまたは SMS で通知を受け取ることもできます。

インスタンス、サーバー、およびデータベースの可用性

Azure サービス イベントに加えて、Azure SQL Managed Instance または Azure SQL Database データベースの可用性を Azure portal で確認することもできます。

マネージド インスタンスまたはデータベースを使用できない場合に可能性のある理由を確認する方法の 1 つは、Azure portal または REST API を使用してリソースの正常性を調べることです。

SQL Server Management Studio (SSMS) などの標準 SQL Server ツールを使って、マネージド インスタンスまたはデータベース サーバーに接続し、これらのリソースの状態をいつでも確認できます。 ツールまたは T-SQL クエリを使用できます。

Azure CLI などのインターフェイスを使って、Azure SQL の状態を表示できます。 次に例を示します。

  • az sql mi list を使用すると、マネージド インスタンスの状態の一覧が表示されます。
  • az sql db list を使用すると、Azure SQL データベースの状態の一覧が表示されます。

また、PowerShell コマンドを使用して、Azure SQL データベースの可用性を確認することもできます。 次に例を示します。

  • Get-AzSQLDatabase を使用すると、サーバー上のすべてのデータベースとその詳細 (状態を含む) を取得できます。
  • REST API の使用は簡単ではありませんが、マネージド インスタンスとデータベースの状態を取得するために使用できます。

バックアップと復元の履歴

Azure SQL では、データベースとトランザクション ログが自動的にバックアップされます。 標準のバックアップ履歴は使用できませんが、Azure portal または CLI インターフェイスを使用すると、長期的なバックアップ保有期間の履歴を表示できます。 また、Azure SQL Managed Instance では、XEvent を使用してバックアップ履歴を追跡できます。

ポイントインタイム リストアを使用するデータベースの復元では、新しいデータベースが作成されます。 Azure アクティビティ ログを使用して、データベースが作成される操作を表示できます。

レプリカの状態

レプリカは、Business Critical サービス レベルに使用されます。 レプリカの状態を表示するには、DMV sys.dm_database_replica_states を使います。

フェールオーバーの原因

Azure SQL Managed Instance またはデータベースのデプロイに対するフェールオーバー イベントの原因を確認するには、Azure portal または REST API を使用してリソース正常性を確認します。

Azure SQL 用 System Center 管理パック

System Center には、Azure SQL Managed Instance と Azure SQL Database を監視するための管理パックが用意されています。 要件と詳細については、管理パックのドキュメントを参照してください。

知識チェック

1.

リージョンとデータセンターの可用性を監視するためにどのような方法を使用できますか?

2.

インスタンス、サーバー、データベースの可用性を監視することができないツールは、次のうちどれですか?

回答を確認