Azure SQL のデプロイ オプション
Azure SQL プラットフォームには、デプロイ オプションとユーザーが選択できる項目が数多くあります。 これらのオプションを使用すると、ニーズと正確に一致するように柔軟に調達と支払いを行うことができます。
このユニットでは、さまざまな Azure SQL デプロイ オプションを選択する場合に必要ないくつかの考慮事項について説明します。 また、これらの各デプロイ オプションの技術仕様についても学習します。 ここで説明するデプロイ オプションには、SQL Server on Virtual Machines、Azure SQL Managed Instance、Azure SQL Database、Azure SQL Managed Instance プール、および Azure SQL Database エラスティック データベース プールが含まれます。
Azure Virtual Machines 上の SQL Server
仮想マシン (VM) 上の SQL Server は、Azure VM で実行される SQL Server のバージョンです。 あくまでも SQL Server なので、SQL Server に関するすべてのスキルを直接流用できるはずですが、Azure はバックアップとセキュリティ修正プログラムの適用の自動化に役立ちます。 Azure VM 上の SQL Server は、"サービスとしてのインフラストラクチャ (IaaS)" と呼ばれます。 あなたは、OS と SQL Server の更新プログラムと修正プログラムを適用する (重要な SQL セキュリティ更新プログラムとは別に) 責任を負っていますが、SQL Server のすべての機能にアクセスできます。
VM への SQL Server の最適なデプロイと管理に関しては、次のようないくつかの考慮事項があります。
プレインストールされている Azure ギャラリーのイメージから、特定のバージョンの SQL Server とオペレーティング システムをデプロイします。 Azure VM に SQL Server を自分でインストールする場合は、SQL Server IaaS エージェント拡張機能を利用して、ライセンスの柔軟性を高め、自動バックアップと更新を有効にすることができます。
パフォーマンスを最大にするため、メモリ最適化またはストレージ最適化の VM サイズを検討します。
適切なストレージ構成を使用して、Azure Blob Storage の読み取りキャッシュを利用します。
Azure 仮想ネットワークを使って、VM をオンプレミス ネットワークに統合します。
自動バックアップ、Azure Blob Storage へのバックアップ、Azure Backup との統合を利用します。
Always On フェールオーバー クラスター インスタンスは、Azure Premium ファイル共有でサポートされています。
クラウド監視を含め、Always On 可用性グループがサポートされています。
世界中の会社で、VM 上の SQL Server が使われています。 その一例が Allscripts です。 Allscripts は、医療行為、病院、医療保険、製薬業界にサービスを提供する、医療ソフトウェアの大手メーカーです。 アプリケーションを頻繁に変換し、安全かつ確実にホストするために、Allscripts では Azure に迅速に移行する必要がありました。 この会社では、わずか 3 週間で、Azure Site Recovery を使用して、約 1,000 台の VM で実行されている多数の保有アプリケーションを Azure に移行しました。
IaaS と PaaS
VM 上の SQL Server は、IaaS と考えられます。 Azure SQL プラットフォーム、Azure SQL Managed Instance、Azure SQL Database の他のデプロイ オプションとして、サービスとしてのプラットフォーム (PaaS) のデプロイがあります。 これらの PaaS の Azure SQL のデプロイ オプションには、アップグレード、修正プログラムの適用、バックアップ、監視などのほとんどのデータベース管理機能を自動化する、フル マネージドのデータベース エンジンが含まれます。 SQL Managed Instance と SQL Database の主な機能をいくつか以下に示します。
ビジネス継続性により、中断が発生しても業務を続けることができます。
高可用性により、データベースの 99.99% の稼働時間が保証されます。 メンテナンスやダウンタイムについて心配する必要はありません。
"自動バックアップ" が作成され、Azure の読み取りアクセス geo 冗長ストレージ (RA-GRS) を使用して geo 冗長性が提供されます。
長期バックアップ保持により、特定の完全なデータベースを最大 10 年間保管できます。
geo レプリケーションにより、同じまたは別のデータセンター (リージョン) にデータベースの読み取り可能なレプリカが作成されます。
スケーラビリティにより、長いプロビジョニングを行うことなく、さらに多くのリソース (CPU、メモリ、ストレージ) を簡単に追加できます。
ネットワーク セキュリティ機能により、ネットワークを通過するデータが保護されます。 これらの機能には、接続を制限するためのファイアウォール、データがインターネットに公開されないことを保証する Azure Private Link、オンプレミス環境に接続するための仮想ネットワークとの統合が含まれます。
高度なセキュリティにより、データベースの脅威と脆弱性が検出され、データをセキュリティで保護できます。
自動チューニングにより、ワークロードが分析されます。 インデックスの追加、未使用のインデックスの削除、およびクエリ プランの問題の自動修正によって、アプリケーションのパフォーマンスを最適化できる推奨事項が提供されます。
組み込みの監視機能を使うと、データベースとワークロードのパフォーマンスに関する分析情報を取得でき、パフォーマンスの問題のトラブルシューティングに役立ちます。
組み込みのインテリジェンスによって、ワークロードの潜在的な問題が自動的に特定され、これらの問題の解決に役立つ推奨事項が提供されます。
バージョンのないデータベース サービス
IaaS と PaaS のもう 1 つの大きな違いは、"バージョンのない SQL" です。 特定のバージョンの SQL Server に関連付けられている IaaS とは異なり、SQL Database と SQL Managed Instance にはバージョンはありません。 SQL Server エンジン コードベースのメインの "ブランチ" は、SQL Server 2019、SQL Database、SQL Managed Instance に利用されています。
SQL Server のバージョンは数年ごとに新しくなりますが、PaaS サービスの場合は、Microsoft が SQL データベースとインスタンスを継続的に更新できます。 Microsoft では、修正プログラムや機能を必要に応じてロールアウトします。 サービスのコンシューマーは、これらの更新を制御できず、@@VERSION
の結果は、SQL Server の特定のバージョンには対応しません。 しかし、バージョンのない SQL により、基になる OS と SQL Server の両方に対する修正プログラムの適用について心配する必要がなくなり、Microsoft では最新のビットを提供できます。
新しい機能が開発されると、一部のお客様は、一般提供される前に、特定の機能へのアクセスを許可されます。 その後、これらの新機能はパブリック プレビューで使用できるようになります。 パブリック プレビューでは、すべてのユーザーが新機能にアクセスできますが、通常はサポートが制限され、多くの場合、価格が割り引かれます。
SQL Managed Instance
SQL Managed Instance は、Azure SQL の PaaS デプロイ オプションです。 SQL Server のインスタンスが提供されますが、VM の管理に伴うオーバーヘッドの多くがなくなります。 SQL Server で利用できる機能のほとんどは、SQL Managed Instance でも利用できます。 このオプションは、インスタンス スコープ機能を使用し、アプリケーションを再設計せずに Azure に移行したいとお考えのお客様に最適です "インスタンス スコープ" 機能は、SQL Server のインスタンス内のデータベースに関連付けられている機能ではなく、SQL Server のインスタンスに関連付けられている機能です。
SQL Managed Instance のインスタンス スコープ機能には、SQL Server エージェント、Service Broker、共通言語ランタイム (CLR)、データベース メール、リンク サーバー、分散トランザクション (プレビュー)、Machine Learning Services が含まれます。 SQL Managed Instance を使用すると、インスタンス スコープの機能にアクセスできますが、基になっている OS やインフラストラクチャについて心配する必要はなく、それらにアクセスすることはできません。
別の業界の例としてコマツを見てみましょう。 コマツは、建設用の重機の製造と販売を行っている製造会社です。 この会社には、さまざまな種類のデータに対応する複数のメインフレーム アプリケーションがありました。 コマツでは、これらのアプリケーションを統合して全体像を把握する必要がありました。 さらに、コマツではオーバーヘッドを削減する方法が必要でした。 この会社では SQL Server の機能が幅広く使用されているため、IT の意思決定者は Azure SQL Managed Instance に移行することを選択しました。 1.5 テラバイトのデータを円滑に移動し、自動の修正プログラムの適用やバージョンの更新、自動バックアップ、高可用性、管理オーバーヘッドの削減などの利点を得ることができました。 移行後、コマツにより、49% のコスト削減と約 25% から 30% のパフォーマンスの向上について報告されました。
SQL Database
SQL Database は Azure SQL の PaaS デプロイ オプションであり、OS と SQL Server インスタンスの両方がユーザーから抽象化されます。 このデプロイ オプションを使用すると、データベースを取得するだけで、アプリケーションの開発を始めることができます。 また、SQL Database は、無制限のデータベース ストレージ (ハイパースケール) と、予測できないワークロードに対する自動スケーリング (サーバーレス) が必要なシナリオがサポートされる唯一のデプロイ オプションです。 SQL Database には、業界最高レベルの可用性 SLA があります。 Microsoft によってインスタンスが管理されていることもあり、監視とパフォーマンスに関するその他のインテリジェントな機能が提供されます。
AccuWeather が、SQL Database の使用の好例です。 AccuWeather では、55 年以上にわたって気象の分析と予測を行ってきました。 この会社では、ビッグ データ、機械学習、AI 機能のために Azure へのアクセスが必要でした。 AccuWeather はデータベースの管理ではなく、新しいモデルとアプリケーションの構築に専念したいと考えています。 この会社では、Azure Data Factory や Azure Machine Learning などの他のサービスと共に使用して、新しい内部アプリケーションを迅速かつ簡単にデプロイし、売上と顧客の予測を作成するために、SQL Database が選択されました。
エラスティック データベース プール
Azure SQL 内の 3 つの主要なデプロイ オプションである仮想マシン、マネージド インスタンス、SQL Database について学習しました。 SQL Database と SQL Managed Instance には、複数のインスタンスまたはデータベースがある場合の他のオプションがあります。 これらのオプションは "エラスティック データベース プール" と呼ばれます。 エラスティック データベース プールを使用すると、複数のインスタンスやデータベースの間でリソースを共有し、コストを最適化することができます。
SQL Database エラスティック プールを使用すると、プロビジョニングされた SQL Database リソースの 1 つのセット内で、多くのデータベースをホストすることができます。 このオプションは、多くのデータベースのパフォーマンスを簡単に管理および監視できるため、サービスとしてのソフトウェア (SaaS) のアプリケーションまたはプロバイダーに最適です。
SQL Managed Instance プールを使用すると、複数のマネージド インスタンスをホストし、リソースを共有できます。 コンピューティング リソースを事前にプロビジョニングすることができます。 これにより、全体的なデプロイ時間を短縮して、移行を容易にすることができます。 また、インスタンス プールでは、1 つのマネージド インスタンスの場合よりも小さいマネージド インスタンスをホストすることができます。 このプランは現在、パブリック プレビュー段階です。
Paychex が、SQL Database エラスティック データベース プールを使用する会社の好例です。 Paychex は、米国とヨーロッパで 65 万を超える企業にサービスを提供している人的資源管理企業です。 Paychex では各顧客の時間と支払い管理を個別に管理し、コストを削減する方法が必要でした。 この会社では SQL Database エラスティック データベース プールを選択したため、管理を簡略化し、異なるデータベース間でリソースを共有できるようになり、コストを下げることができます。
Azure SQL のデプロイ オプション
次の図は、Azure SQL のデプロイ オプションの概要を示しています。 次は、Azure SQL のデプロイおよび構成についてと、SQL Server のデプロイと構成との違いについて学習します。