Azure SQL 製品
- 15 分
Azure SQL ファミリの製品には、ビジネス ニーズを満たすさまざまな機能とデプロイ オプションが用意されており、必要なものを正確に取得して支払う柔軟性が得られます。
このユニットでは、Azure SQL 製品を選択するときに行う必要があるいくつかの考慮事項について説明します。 ここで説明する製品は、Azure SQL Database、Azure SQL Managed Instance、および Azure Virtual Machines (VM) 上の SQL Server です。
IaaS と PaaS
Azure SQL では、サービスとしてのプラットフォーム (PaaS) 製品とサービスとしてのインフラストラクチャ (IaaS) 製品の両方が提供されます。 PaaS では、ほとんどのタスク (修正プログラムの適用、バックアップなど) がサービスによって自動的に管理されるため、基になるインフラストラクチャについて心配する必要はありません。 アプリケーションとデータに集中できます。
IaaS を使用すると、基になるインフラストラクチャをより詳細に制御できますが、管理する責任もあります。
Azure Virtual Machines 上の SQL Server は IaaS に最も近く、Azure SQL Database は PaaS に最も近い。 Azure SQL Managed Instance は PaaS プラットフォームでもありますが、オンプレミスの SQL Server インスタンスに近い類似点があります。
- Azure SQL Database は、ハードウェア、ネットワーク、ディザスター リカバリー、高可用性が自動的に構成されたフル マネージド データベースです。 SQL ログインなどの一部のインスタンス レベルオブジェクトの論理サーバーにアクセスできます。 データベースは集約され、個別にスケーリング可能であり、データの地理的にレプリケートされたコピーを迅速かつ簡単にフェイルオーバーできます。
- Azure SQL Managed Instance には、オペレーティング システム、ストレージ、ネットワーク、バックアップ、高可用性が自動的に提供されるフル マネージド SQL Server インスタンスが用意されています。 既存のオンプレミスの SQL Server インスタンスからの移行に最適なターゲットである SQL マネージド インスタンスでは、SQL Server インストールのほぼすべての機能に加えて、geo レプリケートされた読み取りスケール レプリカなどのクラウド優先の機能が維持されます。
- Azure Virtual Machines 上の SQL Server は、オペレーティング システムと、オンプレミスの SQL Server との最も構成可能なストレージ、ネットワーク、互換性への直接アクセスを提供します。
バージョンのないデータベース サービス
IaaS と PaaS のもう 1 つの大きな違いは、"バージョンのない SQL" です。 選択した特定の SQL Server バージョンに関連付けられている IaaS とは異なり、Azure SQL Database と Azure SQL Managed Instance ( Always-up-to-date 更新ポリシーを使用) はバージョンレスです。 SQL Server エンジンのコードベースのメイン "ブランチ" は、最新バージョンの SQL Server、SQL Database、および SQL Managed Instance に対応します。
SQL Server のバージョンは数年ごとに提供されますが、PaaS サービスを使用すると、Microsoft は Azure SQL 用の SQL データベース エンジンを継続的に更新できます。 Microsoft では、修正プログラムと機能を適宜ロールアウトします。多くの場合、PaaS プラットフォームでは新機能が最初に提供されます。 サービスのコンシューマーは、これらの更新プログラムを制御することはできませんが、一般的なビジネス サイクルを中心に定期的なメンテナンス期間をスケジュールできます。 ただし、バージョンレス SQL では、基になる OS と SQL Server の両方に対して心配のない修正プログラムを適用でき、Microsoft では最新のビットを提供できます。
新しい機能が開発されると、一部のお客様は、一般提供される前に、特定の機能へのアクセスを許可されます。 その後、これらの新機能はパブリック プレビューで使用できるようになります。 パブリック プレビューでは、すべてのユーザーが新機能にアクセスできますが、通常はサポートが制限され、多くの場合、価格が割り引かれます。
Azure SQL Managed Instance の Always-up-to-date 更新ポリシーに関する説明に注意してください。 更新ポリシーは、基になるデータベース形式のバージョンを選択できる Azure SQL Managed Instance の構成オプションです。 既定では、特に指定しない限り、新しいインスタンスはすべて SQL Server 2022 更新ポリシーを使用して作成されます。これにより、SQL Server 2022 と Azure SQL Managed Instance の間のデータベース モビリティが有効になります。
SQL Server 2022 更新ポリシーは、2 つの製品間でデータベースを復元する、または Managed Instance リンク機能を使用して SQL Server と Azure の間でデータを双方向にレプリケートするなどのシナリオのロックを解除します。 ただし、 SQL Server 2022 更新ポリシーは、Azure SQL Managed Instance を SQL Server 2022 で使用できる機能にロックするため、新しいバージョンの SQL Server データベース エンジンで使用できる最新機能の一部にアクセスできない場合があります。 代わりに Always-up-to-date 更新ポリシーを有効にして、SQL Managed Instance を "バージョンレス" にすることができます。 有効にすると、 SQL Server 2022 更新ポリシーに戻れなくなります。そのため、注意して続行してください。
選択するもの
さまざまな Azure SQL 製品は機能と機能の違いを提供するため、ニーズに最も適した製品を選択することが重要です。
Azure SQL データベース
PaaS Azure SQL Database は、OS と SQL Server インスタンスの両方をユーザーから抽象化します。 このオプションを使用すると、データベースを取得し、アプリケーションの開発を開始できます。 SQL Database は、予測できないワークロード (サーバーレス) に無制限のデータベース ストレージ (ハイパースケール) と自動スケールを必要とするシナリオをサポートする唯一の製品でもあります。 SQL Database には、業界最高の可用性 SLA (サービス レベル アグリーメント) があります。 また、監視とパフォーマンスに関連するその他のインテリジェントな機能も提供します。
Azure SQL Database ではデータベースをデプロイするため、データベース間トランザクションなどの一部のインスタンス レベルの機能はネイティブに使用できません。
Azure SQL Database は次の場合に最適です。
- 最新の安定した SQL Server 機能を使用し、開発とマーケティングに時間の制約がある、クラウドで生まれた新しいアプリケーションの最新のアプリケーション開発
- マルチテナント SaaS アプリケーション パターンを使用するアプリケーション
- 予測できないワークロードに対して無制限のストレージまたは自動スケールを必要とするワークロード
Azure SQL マネージド インスタンス
PaaS Azure SQL Managed Instance は、SQL Server のフル マネージド インスタンスを提供しますが、インフラストラクチャを管理するオーバーヘッドの多くを排除します。
SQL Database とは異なり、SQL Server で使用できるほとんどのインスタンス レベルの機能は、SQL Server エージェント、Service Broker、共通言語ランタイム (CLR)、データベース メール、リンク サーバー、分散トランザクション、Machine Learning Services など、Azure SQL Managed Instance で使用できます。
SQL Managed Instance を使用すると、これらのインスタンス スコープの機能にアクセスできます。 ただし、その下の OS やインフラストラクチャについて心配する必要も、アクセスする必要もありません。
SQL Managed Instance は、次の場合に最適です。
- Azure SQL Database で使用できないインスタンス スコープの機能を使用したい顧客は、SQL Server エージェントなどの機能を利用できます。
- 時間の制約がなく、最新の安定した SQL Server 機能を使用する新しいアプリケーション
- アプリケーションを再設計せずに既存のオンプレミス アプリケーションを Azure に移動する
- 最小限の変更でクラウドに移行されたワークロード
Azure VM での SQL Server
Azure VM 上の IaaS SQL Server は、Azure の Windows または Linux VM にインストールされている SQL Server のバージョンにすぎません。 SQL 仮想マシンは、Microsoft が所有、ホスト、保守する標準化されたハードウェアで実行されます。 実際、Azure VM で SQL Server を実行することは、オンプレミスでの SQL Server の実行とよく似ています。 これは単なる SQL Server なので、すべての SQL Server スキルを直接転送する必要があります。 OS と SQL Server の更新と修正プログラムの適用は手動または自動化できますが、重要な SQL Server セキュリティ パッチはオペレーティング システムによって自動化されたままになります。 たとえば、Azure Update Manager では、Windows または Linux の Azure VM 上の SQL Server インスタンスに対する修正プログラムの適用を自動化できます。 SQL Server と基になる VM インフラストラクチャのすべての機能にアクセスできます。 オンプレミスで使用するのと同じツールとプロセスの多くに加えて、管理を容易にする新しいクラウドベースのツールを使用できます。 たとえば、Windows SQL Server IaaS Agent 拡張機能、Azure Monitor、Azure Backup などです。
サポートされているすべてのバージョンと SQL Server のエディションを、サポートされているすべてのオペレーティング システムにインストールできます。 SQL Database と SQL Managed Instance との最も大きな違いは、Azure VM 上の SQL Server で SQL Server インスタンスと基になるオペレーティング システムを完全に管理できる点です。 システム更新プログラムを含むメンテナンス アクティビティを開始するタイミングを選択したり、復旧モデルを単純なログまたは一括ログに変更したり、必要に応じてサービスを一時停止または開始したりすることができるほか、SQL Server データベース エンジンを完全にカスタマイズすることができます。 この制御を追加する場合、仮想マシンを管理する責任も追加で伴います。
Azure VM 上の SQL Server は、次の場合に最適です。
- ほとんど変更なしでクラウドに迅速に移行する必要があるリフト アンド シフト シナリオ
- SQL Server インスタンスと基になる OS を完全に制御する必要がある既存のアプリケーションの移行
- SQL Server 用のオンプレミス ハードウェアを購入したくない場合の迅速な開発とテストのシナリオ
- 組織が仮想マシンを維持するために使用可能な IT リソースを既に持っている場合
- Always On フェールオーバー クラスター インスタンスや Always On 可用性グループなど、既存の高可用性およびディザスター リカバリー ソリューションをクラウドに移行する
配置オプション
Azure SQL 製品は、スケーラビリティと柔軟性を提供するさまざまなデプロイ オプションを使用して、さまざまなワークロードのニーズを満たすように設計されています。
たとえば、Azure SQL Database では、データベースをデプロイするときに、データベースを 1 つのデータベースとしてデプロイするか、エラスティック プール内の他のデータベースとリソースをプールするかを選択できます。 エラスティック プールは、同じリソース セットを共有するデータベースのコレクションです。 このオプションは、多くのデータベースのパフォーマンスを簡単に管理および監視できる SaaS アプリケーションに最適です。
同様に、Azure SQL Managed Instance では、1 つのマネージド インスタンスをデプロイすることも、インスタンス プール内の他のマネージド インスタンスとリソースをプールすることもできます。 このオプションは、複数の SQL Server ワークロードをより少ないマネージド インスタンスに統合することを検討している組織に最適です。 特に、インスタンス プールは、2 仮想コア SQL マネージド インスタンスをデプロイする唯一の方法です。 デプロイ前にコンピューティング リソースをプロビジョニングできます。これにより、全体的なデプロイ時間が短縮され、移行が容易になります。
Azure VM 上の SQL Server には特定のデプロイ オプションはありませんが、SQL Server がプレインストールされた Azure VM イメージをデプロイするか、Azure VM をデプロイして後で SQL Server をインストールするかのどちらかを選択できます。 ワークロードの需要に合わせて、さまざまな VM サイズとストレージの種類を選択します。 Azure VM 上の SQL Server で自動バックアップや自動修正プログラムの適用などの Azure 固有の機能を使用するには、SQL Server VM を SQL IaaS Agent 拡張機能に登録します。 この拡張機能を使用すると、課金の変更や Azure 固有の機能の構成など、Azure portal で SQL Server VM を管理できます。
次の図は、Azure SQL のデプロイ オプションをまとめたものです。
顧客事例
一部の実際のアプリケーションでは、一部の Microsoft のお客様が Azure SQL をどのように使用したかを検討してください。
Azure SQL データベース
AccuWeather が、SQL Database の使用の好例です。 AccuWeather では、55 年以上にわたって気象の分析と予測を行ってきました。 この会社では、ビッグ データ、機械学習、AI 機能のために Azure へのアクセスが必要でした。 AccuWeather はデータベースの管理ではなく、新しいモデルとアプリケーションの構築に専念したいと考えています。 この会社では、Azure Data Factory や Azure Machine Learning などの他のサービスと共に使用して、新しい内部アプリケーションを迅速かつ簡単にデプロイし、売上と顧客の予測を作成するために、SQL Database が選択されました。
Paychex は、SQL Database エラスティック プールを使用する会社の良い例です。 Paychex は、米国とヨーロッパで 65 万を超える企業にサービスを提供している人的資源管理企業です。 Paychex では各顧客の時間と支払い管理を個別に管理し、コストを削減する方法が必要でした。 この会社では、SQL Database エラスティック プールを選択しました。このエラスティック プールを使用すると、管理を簡略化し、個別のデータベース間でリソース共有を有効にしてコストを削減できます。
アジュール SQL マネージド インスタンス
コマツは、建設用の重機の製造と販売を行っている製造会社です。 この会社には、さまざまな種類のデータに対応する複数のメインフレーム アプリケーションがありました。 コマツでは、これらのアプリケーションを統合して全体像を把握する必要がありました。 さらに、コマツではオーバーヘッドを削減する方法が必要でした。 この会社では SQL Server の機能が幅広く使用されているため、IT の意思決定者は Azure SQL Managed Instance に移行することを選択しました。 約 1.5 テラバイトのデータをスムーズに移動できました。 また、自動修正プログラムの適用やバージョン更新、自動バックアップ、高可用性、管理オーバーヘッドの削減などの利点もあります。 移行後、コマツにより、49% のコスト削減と約 25% から 30% のパフォーマンスの向上について報告されました。
Azure VM での SQL Server
世界中の企業は、Azure VM 上で SQL Server を使用しています。 その一例が Allscripts です。 Allscripts は、医療行為、病院、医療保険、製薬業界にサービスを提供する、医療ソフトウェアの大手メーカーです。 アプリケーションを頻繁に変換し、安全かつ確実にホストするために、Allscripts では Azure に迅速に移行する必要がありました。 この会社では、わずか 3 週間で、Azure Site Recovery を使用して、約 1,000 台の VM で実行されている多数の保有アプリケーションを Azure に移行しました。