Azure SQL とは

適用対象:Azure VM上の SQL Server Azure SQL データベースAzure SQL Managed Instance

Azure SQL は、管理され、セキュリティで保護されたインテリジェントな製品のファミリであり、Azure クラウドで SQL Server データベース エンジンを使用します。 Azure SQL は使い慣れた SQL Server エンジンに基づいて構築されているので、アプリケーションを簡単に移行し、使い慣れたツール、言語、リソースを使い続けることができます。 お客様のスキルと経験をクラウドに移すことにより、既に持っているスキルと経験でさらに多くのことを行うことができます。

Azure SQL ファミリの 3 つの製品は次のとおりです。

  • Azure SQL Database: サーバーレス コンピューティングを含む、インテリジェントな管理されたデータベース サービスで最新のクラウド アプリケーションをサポートします。
  • Azure SQL Managed Instance:インテリジェントなサービスとしてのフル マネージド インスタンスを使用して、既存の SQL Server アプリケーションを大規模に最新化し、SQL Server データベース エンジンとほぼ 100% の機能パリティを実現します。 クラウドへの移行に最適です。
  • Azure VM 上の SQL Server: SQL Server のワークロードを簡単に移行 (リフト アンド シフト) し、SQL Server との 100% の互換性とオペレーティング システム レベルのアクセスを維持します。

ビジネス要件に適したオプションを判断するために、各製品が Microsoft のどの Azure SQL データ プラットフォームに適しているかについて学ぶことができます。 この記事を参照することで、コスト削減と管理の最小化のいずれを優先するかに関係なく、最大の関心事項であるビジネス要件に適したアプローチを判断できます。

Azure SQL を初めて使用する場合は、Azure SQL ビデオ シリーズの "Azure SQL の概要" に関するビデオをご覧ください。


概要

現在のデータ ドリブン環境では、デジタル変革の推進は、大量のデータを管理し、その可能性を活用する能力に依存しています。 しかし、今日のデータ資産は、オンプレミス、クラウド、またはネットワークの端でホストされているデータを使用して、ますます複雑になっています。 インテリジェントかつイマーシブなアプリケーションを構築している開発者は、さまざまな制限による制約を受け、最終的にはそのエクスペリエンスに影響を与える場合があります。 互換性のないプラットフォーム、不十分なデータ セキュリティ、リソースの不足、コスト パフォーマンスの障壁に起因する制限によって複雑さが生じ、アプリの最新化や開発が妨げられます。

Azure とオンプレミス SQL Server データベースの話を始める前にまず、それらがすべてが利用可能であるということを理解しておいてください。 Microsoft のデータ プラットフォームは、SQL Server テクノロジを活用し、物理的なオンプレミスマシン、プライベート クラウド環境、サード パーティにホストされているプライベート クラウド環境、パブリック クラウドのすべてでそのテクノロジを使用できるようにします。

完全に管理され、常に最新の状態

革新により多くの時間をかけて、修正プログラムの適用、更新、データベースのバックアップにかける時間を短縮します。 Azure は、最新の更新プログラムとパッチを自動的に適用するエバーグリーン SQL を備えた唯一のクラウドです。データベースが常に最新の状態になり、サポート終了の問題がなくなります。 パフォーマンスのチューニング、高可用性、ディザスター リカバリー、バックアップなどの複雑なタスクも自動化されているため、アプリケーション開発に専念できます。

組み込みのインテリジェント セキュリティでデータを保護する

Azure は絶えずデータの脅威を監視します。 Azure SQL を使用すると、次のことができます。

  • インテリジェントで、かつ高度な脅威検出とプロアクティブな脆弱性評価アラートを使用して、潜在的な脅威をリアルタイムで修復します。
  • T-SQL、認証、ネットワーク、キー管理など、組み込みのセキュリティ制御を使用して、業界をリードする多層的な保護を実現します。
  • クラウド データベース サービスの中で最も包括的なコンプライアンスを活用します。

ビジネスの動機

異なるデータ オファリングのどちらを選択するかの決定に影響する可能性のある要素がいくつかあります。

  • コスト: サービスとしてのプラットフォーム (PaaS) とサービスとしてのインフラストラクチャ (IaaS) のオプションには、基礎となるインフラストラクチャとライセンスをカバーする基本料金が含まれます。 ただし、IaaS オプションでは、データベースを管理するために、追加の時間とリソースを投資する必要がありますが、PaaS では管理機能が料金に含まれています。 PaaS と IaaS のどちらのオプションでも、リソースを一時停止して管理コストを抑えることができます。
  • 管理: PaaS オプションでは、データベースを管理するために投資する必要のある時間が短縮されます。 ただし、実行できるカスタムの管理タスクおよびスクリプトの範囲も制限されます。 たとえば、CLR は SQL Database ではサポートされませんが、SQL Managed Instance ではサポートされています。
  • サービス レベル アグリーメント: IaaS と PaaS は両方とも、高度な業界標準の SLAを提供しています。 PaaS オプションでは 99.99% の SLA が保証されますが、IaaS ではインフラストラクチャについて 99.95% の SLA が保証されます。これは、データベースの可用性を確保するために追加のメカニズムを実装する必要があることを意味します。 99.99% の SLA を達成するには、追加の SQL 仮想マシンを作成し、SQL Server Always On 可用性グループの高可用性ソリューションを実装します。
  • Azure に移行するための時間: Azure VM 上の SQL Server はお客様の環境と完全に一致するため、オンプレミスから Azure VM への移行はオンプレミス サーバーから別のオンプレミス サーバーにデータベースを移動するのと何ら変わりません。 SQL Managed Instance では簡単に移行できますが、移行する前に適用する必要がある変更がいくつかあります。

サービスの比較

Cloud SQL Server options: SQL Server on IaaS, or SaaS SQL Database in the cloud.

図に示すように、各サービス内容は、インフラストラクチャに及ぼす管理のレベルと、コスト効率の度合いによって特徴付けることができます。

Azure では、SQL Server ワークロードをホステッド サービス (PaaS) として実行したり、サービスとしてのソフトウェア (SaaS) やアプリケーションなど、ソフトウェア レイヤーをサポートするホスト型インフラストラクチャ (IaaS) として実行したりできます。 PaaS 内には、複数の製品オプションと、各オプション内のサービス レベルがあります。 PaaS か IaaS かを決定するときにたずねる必要がある重要な質問は、データベースの管理、修正プログラムの適用、バックアップの実行を自分で行うか、これらの操作を Azure に委任するかということです。

Azure SQL データベース

Azure SQL Database は、Azure でホストされるリレーショナル DBaaS (サービスとしてのデータベース) であり、サービスとしてのプラットフォーム (PaaS) の業界カテゴリに分類されます。

  • 最新のクラウド アプリケーションで、最新の安定した SQL Server 機能を使用する必要があり、開発とマーケティングに時間の制約がある場合に最適です。
  • 最新の安定した SQL Server Enterprise Edition に基づいた、フル マネージドの SQL Server データベース エンジンです。 SQL Database は、Microsoft が所有、ホスト、保守する標準化されたハードウェアおよびソフトウェアをベースにして構築されています。

SQL Server では、(オンプレミスまたは Azure 仮想マシン上のいずれかで) 広範な構成が必要な組み込みの機能を使用できます。 SQL Database は従量課金制で利用でき、中断することなくスケールアップまたはスケールアウトして強化できるオプションもあります。 SQL Database には、組み込みの高可用性、インテリジェンス、管理など、SQL Server では使用できない追加の機能がいくつかあります。

Azure SQL Database には、次のデプロイの選択肢があります。

  • 単一データベースとして、それ専用の各種リソースを論理サーバーを介して管理する。 単一データベースは SQL Server の包含データベースに似ています。 このオプションは、クラウド生まれの新しいアプリケーションの最新のアプリケーション開発用に最適化されています。 ハイパースケールサーバーレスのオプションを使用できます。
  • "エラスティック プール"。データベースのコレクションで、各種の共有リソースを論理 SQL サーバーを介して管理します。 単一データベースはエラスティック プールの内外に移動できます。 このオプションは、マルチテナント SaaS アプリケ―ション パターンを使用して、クラウド生まれの新しいアプリケーションの最新のアプリケーション開発用に最適化されています。 エラスティック プールは、多様な使用パターンを持つ複数のデータベースのパフォーマンスを管理するための、コスト効率に優れたソリューションを提供します。 Hyperscale のエラスティック プールは現在プレビュー段階です。

Azure SQL Managed Instance

Azure SQL Managed Instanceサービスとしてのプラットフォーム (PaaS) の業界カテゴリに分類され、クラウドへのほとんどの移行に最適です。 SQL Managed Instance は、各種の共有リソースを格納するシステムおよびユーザー データベースのコレクションで、リフト アンド シフトする準備ができています。

  • 最新の新しい SQL Server 機能を使用する必要があり、最小限の変更でクラウドに移行する新しいアプリケーションまたは既存のオンプレミス アプリケーションに最も適しています。 SQL Managed Instance のインスタンスは、Microsoft SQL Server データベース エンジンのインスタンスと同様に、データベースのための共有リソースや追加のインスタンス スコープ機能を提供します。
  • SQL Managed Instance では、オンプレミスからのデータベースの移行がサポートされ、データベースの変更は発生しないか最小限に抑えられます。 このオプションは、Azure SQL Database のすべての PaaS の利点を提供します。また、ネイティブ仮想ネットワークなどの追加機能が追加されました。 SQL Managed Instance は、SQL サーバーインスタンスを Azure に移行するための SQL Server のフル アクセスと機能の互換性を提供します。

Azure VM での SQL Server

Azure VM 上の SQL Serverサービスとしてのインフラストラクチャ (IaaS) の業界カテゴリに分類され、Azure のフル マネージドの仮想マシン (VM) 内で SQL Server を実行できるようにします。

  • クラウド上にインストールされてホストされている SQL Server は、Azure 上の Windows Server または Linux 仮想マシンで実行されます。 SQL Server のサポートされているすべてのバージョンとエディションは、IaaS 仮想マシンでのインストールに使用できます。
  • OS レベルのアクセスが必要なアプリケーションに最適 Azure 内の SQL 仮想マシンは、最小限の変更または変更なしでクラウドに迅速に移行する必要がある既存のアプリケーションに対して、リフト アンド シフトする準備ができています。 SQL 仮想マシンは、Azure に移行するための SQL Server インスタンスと基になる OS に対する完全な管理制御を提供します。
  • SQL Database と SQL Managed Instance の最も大きな違いは、Azure Virtual Machines における SQL Server ではデータベース エンジンを完全に制御できることです。 システム更新プログラムを含むメンテナンス アクティビティを開始するタイミングを選択したり、復旧モデルを単純なログまたは一括ログに変更したり、必要に応じてサービスを一時停止または開始したりすることができるほか、SQL Server データベース エンジンを完全にカスタマイズすることができます。 この制御を追加する場合、仮想マシンを管理する責任も追加で伴います。
  • SQL Server 用のオンプレミスのハードウェアを購入しない場合の迅速な開発およびテスト シナリオ。 SQL 仮想マシンは、Microsoft が所有、ホスト、保守する標準的なハードウェア上でも実行できます。 SQL 仮想マシンを使用する場合は、SQL Server イメージにすでに含まれている SQL Server ライセンスを使用して従量課金で支払いを行うか、単に既存のライセンスを使用することができます。 必要に応じて、VM を停止または再開することもできます。
  • 既存のアプリケーションを Azure に移行したり、ハイブリッド デプロイで既存のオンプレミス アプリケーションをクラウドに拡張したりできるように最適化されています。 さらに、仮想マシン上の SQL Server は従来の SQL Server アプリケーションを開発、テストするためにも使用できます。 SQL 仮想マシンでは、専用の SQL Server インスタンスとクラウドベースの VM に対して完全な管理者権限があります。 仮想マシンの保守に使用できる IT リソースが組織に既にある場合、これは最適な選択肢となります。 これらの機能を使用すると、高度にカスタマイズされたシステムを構築して、アプリケーション固有のパフォーマンスや可用性の要件に対処できます。

比較表

Azure SQL Database、Azure SQL Managed Instance、および Azure VM 上の SQL Server の違いを次の表で示しますが、SQL Database と SQL Managed Instance は両方とも、多くのデータベースをプロビジョニングおよび管理するための全体的な管理コストを最小限に抑えるように最適化されています。どの仮想マシン、オペレーティング システム、データベース ソフトウェアも管理する必要がないため、継続的な管理コストが削減されます。 アップグレード、高可用性、バックアップを管理する必要はありません。

一般的には、SQL Database と SQL Managed Instance を使用すると、単一の IT または開発リソースが管理するデータベースの数を大幅に増やすことができます。 SQL Database のエラスティック プールでは、SaaS マルチ テナント アプリケーション アーキテクチャもサポートします。これにはテナントの分離や、データベース間でリソースを共有することでコストを削減するように拡張機能などが含まれます。 SQL Managed Instance ではインスタンス スコープ機能のサポートが提供されるため、既存のアプリケーションを簡単に移行したり、データベース間でリソースを共有したりできるようになります。 一方、Azure VM 上の SQL Server では、DBA は、使い慣れたオンプレミス環境と非常に似たエクスペリエンスを使用できます。

Azure SQL Database Azure SQL Managed Instance Azure VM での SQL Server
ほとんどのオンプレミス データベース レベルの機能をサポートしています。 最もよく使用される SQL Server 機能を利用できます。
99.995% の可用性を保証。
組み込みのバックアップ、修正プログラムの適用、回復。
最新の安定版データベース エンジン バージョン。
個々のデータベースに必要なリソース (CPU/ストレージ) を割り当てる機能。
組み込みの高度なインテリジェンスとセキュリティ。
オンラインでのリソース (CPU/ストレージ) の変更。
ほとんどすべてのオンプレミス インスタンス レベルおよびデータベース レベルの機能をサポートしています。 SQL Server との高い互換性。
99.99% の可用性を保証。
組み込みのバックアップ、修正プログラムの適用、回復。
最新の安定版データベース エンジン バージョン。
SQL Server からの移行が簡単。
Azure Virtual Network 内のプライベート IP アドレス。
組み込みの高度なインテリジェンスとセキュリティ。
オンラインでのリソース (CPU/ストレージ) の変更。
SQL Server エンジンを完全に制御できます。 すべてのオンプレミス機能をサポートしています。
最大 99.99% の可用性。
オンプレミスの SQL Server の対応するバージョンと完全に一致。
SQL Server からの移行が簡単。
Azure Virtual Network 内のプライベート IP アドレス。
SQL Server が配置されているホストでアプリケーションまたはサービスをデプロイできます。
Azure portal から SQL Server VM を管理し、SQL Server IaaS エージェント拡張機能に登録すると、さまざまな追加のメリットを利用できるようになります。
SQL Server からの移行が難しい可能性があります。
一部の SQL Server 機能は使用できません。
構成可能なメンテナンス期間
データベース互換性レベルをのみを使用して、SQL Server バージョンとの互換性を実現できます。
Azure Private Link を使用したプライベート IP アドレスのサポート。
利用できない最小限の数の SQL Server 機能がまだあります。
構成可能なメンテナンス期間
データベース互換性レベルをのみを使用して、SQL Server バージョンとの互換性を実現できます。
手動または自動のバックアップを使用できます。
高可用性ソリューションを独自に実装する必要があります。
リソース (CPU/ストレージ) の変更中にダウンタイムが発生
最大 100 TB のデータベース。 最大 16 TB。 記憶域が 256 TB までの SQL Server インスタンス。 インスタンスでは必要な数のデータベースがサポートされます。
オンプレミス アプリケーションから Azure SQL Database 内のデータにアクセスできます。 Azure Express Route または VPN Gateway を使った、オンプレミス環境へのネイティブ仮想ネットワークの実装と接続。 SQL 仮想マシンを使用して、アプリケーションの一部をクラウド上で実行し、一部をオンプレミスで実行することができます。 たとえば、 Azure Virtual Networkを介してオンプレミス ネットワークと Active Directory ドメインをクラウドに拡張できます。 ハイブリッド クラウド ソリューションについて詳しくは、「オンプレミス データ ソリューションのクラウドへの拡張」をご覧ください。

コスト

現金が潤沢にないスタートアップ企業や厳しい予算で経営している老舗企業では、資金調達での限界がデータベースをホストする方法を決定する主な要因になることがあります。

このセクションでは、Azure SQL ファミリのサービスに関連する Azure の課金とライセンスの基本、およびアプリケーションの総コストの計算について説明します。

課金とライセンスの基礎

現在、SQL DatabaseSQL Managed Instance は、どちらもサービスとして販売され、リソースの料金が異なる複数のオプションと複数のサービス レベルで利用できます。いずれの場合も、選択したサービス レベルとコンピューティング サイズに基づく固定レートで時間単位で課金されます。 現在のサポートされているサービス レベル、コンピューティング サイズ、ストレージ容量の最新情報については、SQL Database の DTU ベースの購入モデル、および SQL Database と SQL Managed Instance 両方の仮想コアベースの購入モデルに関する記事を参照してください。

さらに、インターネット トラフィックの送信も通常のデータ転送料金で課金されます。 サービス レベルとコンピューティング サイズを動的に調整して、アプリケーションのさまざまなスループット ニーズを満たすことができます。

SQL DatabaseSQL Managed Instance では、データベース ソフトウェアの自動的な構成、修正プログラムの適用、およびアップグレードが Azure によって行われるため、管理コストが軽減されます。 また、 組み込みのバックアップ 機能は、特に、多数のデータベースがある場合の大幅なコスト削減に役立ちます。

Azure VM 上の SQL Serverでは、プラットフォームによって提供される、いずれかの SQL Server イメージ (ライセンスが付属) を使用するか、所有している SQL Server ライセンスを移行することができます。 サポートされている SQL Server バージョン (2008R2、2012、2014、2016、2017、2019) とエディション (Developer、Express、Web、Standard、Enterprise) はすべて利用できます。 さらに、ライセンス持ち込み (BYOL) バージョンのイメージも利用できます。 Azure によって提供されるイメージを使用する場合、運用コストは、VM のサイズと選択する SQL Server のエディションによって決まります。 VM のサイズや SQL Server のエディションにかかわらず、ユーザーは、SQL Server および Windows Server または Linux Server の 1 分あたりのライセンス費用と VM ディスクの Azure Storage コストを支払います。 1 分あたりの課金のオプションでは、SQL Server の追加ライセンスを購入することなく、必要なだけ SQL Server を使用することができます。 Azure に独自の SQL Server のライセンスを移行する場合は、サーバー コストとストレージ コストのみに対して課金されます。 現在所有しているライセンスの移行の詳細については、「 Azure でのソフトウェア アシュアランスによるライセンス モビリティ」を参照してください。 さらに、インターネット トラフィックの送信も通常のデータ転送料金で課金されます。

アプリケーションの総コストの計算

クラウド プラットフォームの使用を開始する際のアプリケーションのランニング コストには、新規開発コストと継続的管理コストのほか、パブリック クラウド プラットフォームのサービス コストが含まれます。

価格の詳細については、次のリソースを参照してください。

管理

多くの企業にとって、クラウド サービスに切り替えるかどうかの決定には、コストだけでなく、管理の複雑さの軽減も重要な要素です。 IaaS および PaaS では、基盤となるインフラストラクチャを Azure が管理します。すべてのデータを自動的にレプリケートしてディザスター リカバリーを提供し、データベース ソフトウェアの構成とアップグレードを行い、負荷分散を管理します。データ センター内のサーバーに障害が発生した場合は、透過的なフェールオーバーを実行します。

  • SQL Database および SQL Managed Instance を使用すると、ユーザーは引き続きデータベースを管理できますが、データベース エンジン、オペレーティング システム、ハードウェアを管理する必要はありません。 引き続き管理できるアイテムの例として、データベースとログイン、インデックスとクエリのチューニング、監査とセキュリティなどがあります。 さらに、別のデータ センターへの高可用性を構成するには、最小限の構成と管理が必要です。
  • Azure VM 上の SQL Serverでは、オペレーティング システムと SQL Server インスタンスの構成を全面的に制御できます。 VM を使用する場合、オペレーティング システムとデータベース ソフトウェアの更新やアップグレードのタイミングに加えて、ウイルス対策などの追加ソフトウェアのインストールのタイミングは、ユーザーが決定します。 修正プログラムの適用、バックアップ、高可用性の実現を大幅に簡素化するために、自動化された機能がいくつか用意されています。 また、VM のサイズ、ディスクの数、ストレージの構成を制御できます。 Azure では、必要に応じて VM のサイズを変更できます。 詳細については、「 Azure の仮想マシンおよびクラウド サービスのサイズ」を参照してください。

サービス レベル アグリーメント (SLA)

多くの IT 部門では、サービス レベル アグリーメント (SLA) の稼働時間に関する義務を果たすことが最優先事項です。 このセクションでは、各データベースのホスト オプションに適用される SLA について説明します。

Azure SQL DatabaseAzure SQL Managed Instance の両方について、可用性 99.99% の SLA が提供されます。 最新情報については、サービス レベル アグリーメントに関するページを参照してください。

Azure VM 上の SQLサーバー の場合、Microsoft では可用性セット内の 2 つの仮想マシンに対して 99.95%、異なる可用性ゾーン内の 2 つの仮想マシンに対して 99.99% の可用性 SLA を用意しています。 つまり、2 つの仮想マシンのうち少なくとも 1 つは、特定の SLA で使用できますが、VM で実行されているプロセス (SQL Server など) は対象外です。 最新情報については、 VM の SLAに関するページを参照してください。 VM 内のデータベース高可用性 (HA) を実現するには、Always On 可用性グループなど、SQL Server でサポートされているいずれかの高可用性オプションを構成する必要があります。 サポートされている高可用性オプションを使用した場合、SLA を追加することはできないものの、>99.99% のデータベース可用性が実現されます。

Azure へ移行するタイミング

Azure SQL Database は、開発者の生産性と新しいソリューションの製品化に要する時間の短縮が重要な場合において、クラウド用に設計されたアプリケーションに最適なソリューションです。 プログラムによる DBA のような機能を備えることで、基になるオペレーティング システムとデータベースを管理する必要性が減少するため、クラウドの設計者と開発者に最適です。

Azure SQL Managed Instance は、Azure への既存のアプリケーションの移行を大幅に簡素化し、移行されたデータベース アプリケーションを Azure ですばやく市場に投入できるようにします。

Azure VM 上の SQL サーバー は、既存または新規のアプリケーションに大規模なデータベースか、あるいは SQL Server または Windows/Linux のすべての機能へのアクセスが必要であり、新しいオンプレミス ハードウェアの購入にかかる時間と経費を回避したい場合に最適です。 また、既存のオンプレミス アプリケーションとデータベースを Azure にそのまま移行する場合で、SQL Database または SQL Managed Instance が適合しない場合にも適しています。 プレゼンテーション層、アプリケーション層、およびデータ層を変更する必要がないため、既存のソリューションを再設計する時間と予算が節約されます。 その一方で、すべてのソリューションを Azure に移行し、Azure プラットフォームで必要な一部のパフォーマンスの最適化に集中できます。 詳細については、 Azure 仮想マシン上の SQL Server のパフォーマンスに関するベスト プラクティスに関するページを参照してください。

Azure portal で Azure SQL リソースを作成して管理する

Azure portal には、Azure 仮想マシン (VM) 上の SQL Server を含むすべての Azure SQL リソースを単一のページで管理することができます。

[Azure SQL] ページにアクセスするには、Azure portal のメニューの [Azure SQL] を選択するか、任意のページで [Azure SQL] を検索して選択します。

Note

Azure SQL からは、Azure SQL Database の単一データベースとプールされたデータベース、および Azure VM 上のそれらをホストする論理サーバー、Azure SQL Managed Instances、SQL Server など、Azure portal であらゆる SQL リソースに簡単にアクセスするための手段が提供されます。 Azure SQL はサービスでもリソースでもなく、SQL 関連サービスの集合です。

既存のリソースを管理するには、一覧から目的の項目を選択します。 新しい Azure SQL リソースを作成するには、[+ 作成] を選択します。

Screenshot of the Azure SQL portal page.

[+ 作成] を選択した後、任意のタイルで [詳細の表示] を選択して、さまざまなオプションに関する追加情報を表示します。

Screenshot of database tile details in the Azure portal.

詳細については、次の情報を参照してください。

次のステップ