クラウド コンピューティング: SQL Azure の概要

SQL Azure を使用すると、なじみのあるリレーショナル データベース プラットフォームのメリットとクラウド コンピューティングのメリットを享受できます。

Joshua Hoffman

データは、ビジネスにとって必要不可欠なものです。データのセキュリティを確保し、データを利用できるようにして、簡単にアクセスできるようにすることは、すべての IT 部門に課された最も基本的な要件の 1 つです。さらに重要なのは、データをうまく利用して、プロセスの実行、意思決定の通達、および変化する環境への適切な対処を行えるようにすることです。これができるかどうかが、成功する企業と遅れを取る企業の差を生み出します。

企業がデータの可用性を確保する方法は、急速に変化しています。電子メールやビジネス インテリジェンスなどのデータセンターの中核的な機能から、写真の共有やファイルの同期などの個人的なアプリケーションの機能に至るまで、ホストされるサービス (サービスとしてのソフトウェア (SaaS) という概念そのもの) は、私たちが情報を操作するうえで欠かせないものになっています。クラウド コンピューティングは、IT インフラストラクチャの概念としても実用的なコンポーネントとしても、ここ数年で大きく注目されるようになりました。

特に魅力的なクラウド コンピューティングのソリューションは、Microsoft SQL Azure です。SQL Azure は、データを格納、管理、および分析するための強力でなじみのあるインフラストラクチャです。また、クラウド コンピューティングのメリットも享受できます。ホストされた共有インフラストラクチャは、直接コストと間接コストを削減するのに役立ちます。また、従量課金制モデルにより、効率を大幅に高めることができます。高可用性 (HA) とフォールト トレランスの機能も組み込まれています。

ですが、この新しいモデルのいくつかの側面は、IT プロフェッショナルに難題をもたらします 。ホストされているサービスと社内インフラストラクチャのどちらを使用するかに関して適切な選択をすることは、重大な課題です。そのため、選択したアプローチをスムーズに統合し、強力なセキュリティとビジネスの継続性に関する計画を管理する必要があります。これらは、組織で使用するクラウド コンピューティングのソリューションを評価するときに、IT プロフェッショナルが考慮すべき問題の一部にすぎません。

この記事では、IT プロフェッショナルの視点で SQL Azure を紹介します。SQL Azure のしくみ、ご使用の環境で最適な使用シナリオ、SQL Azure を使い始める方法、および既存のデータ インフラストラクチャとスムーズに統合する方法について説明します。

SQL Azure とは

SQL Azure は、Windows Azure プラットフォームを構成する要素の 1 つです (Windows Azure は、ホストされるコンピューティング、インフラストラクチャ、Web サービス、およびデータ サービスを提供する一連のサービスです)。SQL Azure のコンポーネントでは、SQL Server の完全なリレーショナル データベース機能が提供されますが、世界中にあるマイクロソフトのデータセンターでホストされているクラウド コンピューティング サービスとしての機能も提供されます。

一般的に、データベース サービスが必要なときはいつでも、SQL Azure が最適です。SQL Azure が特に最適な選択肢となる側面には、次のようなものがあります。

  • コラボレーション: データをクラウドに移行することで、SQL Azure によってコラボレーションの拠点を構築できます。(ブランチ オフィス間など) 組織の境界を越えて情報へのアクセスを共有する必要がある場合は、ホストされるサービスを使用して、データのセキュリティを確保しながら、ネットワーク上の障害を削減できます。
  • スケーラビリティ: クラウド コンピューティング固有のメリットの 1 つは、必要に応じてインフラストラクチャを追加できることです。そのため、必要になときにアプリケーションの容量を動的にスケールアウトできます。これは、ホストされているアプリケーションの使用率のピークが、時間の経過と共に動的に変化する場合 (休暇時の販売アプリケーションなど)、特に役立ちます。
  • 統合: リレーショナル データベース機能のニーズが細かくなり、それが個々の部署やワークグループに浸透するにつれて、"分散したデータベース" の社内管理が困難になる場合があります。SQL Azure では、部署およびワークグループのデータベース、"ターンキー" (すぐに利用可能な) プロビジョニング、および簡素化された管理が統合されるので、管理者は部署ごとのニーズをより簡単に満たすことができます。
  • ホストされたアプリケーション: Windows Azure プラットフォームで他のワークロード (Web アプリケーションなど) を既にホストしている場合は、SQL Azure でホストされるリレーショナル データベースのワークロードは、いとも簡単に統合できます。また、ネットワーク トラフィックが減少することにより、アプリケーションのパフォーマンスが最大限に高まります。
  • コスト効率: ホストするワークロードによっては、クラウド コンピューティングで採用している従量課金制モデルが最もコスト効率の良いアプローチになることがあります。

一般的に、SQL Azure と従来の SQL Server の基本的な機能はどちらを使っても変わりはありませんが、Windows Azure プラットフォームのデータベース サイズにはいくつか制限があります (詳細については、「Microsoft SQL Azure に関する FAQ」を参照してください)。インフラストラクチャの観点から、それぞれのアプローチのメリットとコストは異なるので、個々のビジネス ケースに基づいて最適な方を選択することが重要になります。また、緊密に統合された状態で、ワークロードを両方のプラットフォームに分散することも可能です。

SQL Azure を使い始める

SQL Azure は簡単に使い始めることができます。従来の SQL Server 管理ツール (SQL Server Management Studio など) になじみがある場合はなおさらです (SQL Azure インスタンスは、SQL Server Management Studio を使用して管理できます)。

まず、Windows Azure プラットフォームのアカウントを設定します。アカウントを設定すると、Windows Azure、SQL Azure、および Windows Azure AppFabric を含む Windows Azure サービスにアクセスできます (Azure AppFabric では、開発者が組織やネットワークの境界を越えてアプリケーションやサービスに接続するための手段が提供されます)。アカウントを設定したら、SQL Azure のコントロール パネルにアクセスできます (図 1 参照)。

SQL Azure のコントロール パネルの詳細

図 1 SQL Azure のコントロール パネルの詳細

SQL Azure のコントロール パネルでは、アカウント内に新しいデータベースを作成できます。各データベースは、Web Edition データベースまたは Business Edition データベースとして定義できます。1 つの Web Edition のデータベースでは最大 5 GB のデータをサポートすることが可能で、1 つの Business Edition のデータベースでは最大 50 GB がサポートされます (Business Edition では、10 GB、20 GB、30 GB、40 GB、50 GB というように、10 GB ごとに課金されます)。

また、このコントロール パネルでは、SQL Azure インスタンスのサーバー名と、データベースへの接続に使用する ADO.NET または ODBC の接続文字列が提供されます (SQL Azure では Windows 認証がサポートされていないため、SQL 認証に基づいてデータベースに接続します)。ここでは、アプリケーション内で接続文字列を使用して ODBC オブジェクトを作成するか、サーバー情報を SQL Server Management Studio のような管理ツールに設定できます (図 2 参照)。

SQL Azure データベースに接続した SQL Server Management Studio

図 2 SQL Azure データベースに接続した SQL Server Management Studio

セキュリティを強化する方法として、SQL Azure のコントロール パネルに [Firewall Settings] (ファイアウォールの設定) ウィンドウが用意されています。このウィンドウを使用して、データベースにアクセスできる IP アドレスを指定できます。ここには、個々のアドレス、アドレスの範囲、または他のマイクロソフト サービスに割り当てられたアドレスの組み合わせを入力できます (したがって、使用中の Windows Azure インスタンスとホストされるアプリケーションがデータベースにアクセスできます)。

SQL Azure に格納されているデータを操作する方法は、SQL Server を使用した場合と同じです。SQL Server Management Studio を使用して、従来のすべての SQL Server タスク (テーブル、ビュー、およびストアド プロシージャの作成、データのインポート、T-SQL ステートメントの実行など) を行えます。

クラウド ベースのデータベースでは、クラウド ベースの管理ツールもいくつか提供されます。SQL Server Management Studio の軽量な代替ツールとして、SQL Azure Lab によって、マイクロソフト プロジェクト コードネーム "Houston" と呼ばれる、SQL Azure データベースを対象とした Web ベースの管理ツールが作成されました。このツールでは、クラウド内でデータベースを迅速に開発、配置、および管理するための簡単な方法が提供されます。

Microsoft Silverlight で作成されたプロジェクト Houston では、クエリの作成と実行、データベース スキーマのデザインと編集、テーブル データの編集など、基本的なデータベース管理タスクを実行するための、複数のプラットフォームに対応した Web ベースのデータベース管理ツールが提供されます。ただし、現時点では、プロジェクト Houston は Community Technology Preview (CTP) 版として提供されている段階なので、通常の Microsoft サポート サービスでは公式にサポートされていないことに注意してください。

SQL Server との統合

SQL Azure と既存の SQL Server インフラストラクチャを統合する方法は多数あります。サーバー間でデータを統合および移行する従来の方法のほとんどは SQL Azure でも使用できます。これには、データのインポートとエクスポート、データの変換、データ ウェアハウジングなどの操作を可能にする SQL Server Integration Services も含まれます。また、SQL Azure では、SQL Server Management Studio ツールセットに含まれる SQL Server インポートおよびエクスポート ウィザードもサポートされるので、データベースのコピーや SQL Azure へのデータの移行なども実行できます (図 3 参照)。

SQL Server インポートおよびエクスポート ウィザードの使用

図 3 SQL Server インポートおよびエクスポート ウィザードの使用

SQL Azure Migration Wizard (SQL Azure 移行ウィザード) と呼ばれる、コミュニティで開発されたツールセットを使用して、SQL Azure を既存のインフラストラクチャに統合することもできます。このウィザードでは、既存の SQL Server 2005 オブジェクトと SQL Server 2008 オブジェクトの一覧が表示されるので、対応する SQL スクリプトを作成してオブジェクトを SQL Azure に移行できます。マイクロソフトでは公式にサポートされてはいませんが、SQL Azure Migration Wizard は幅広いコミュニティでサポートされています。このツールを使用するプロセスについて説明するビデオ (英語) も提供されています。

最後に、SQL Azure Data Sync (現時点では CTP 版が提供されています) は、オンプレミスの SQL Server と SQL Azure 間だけでなく、異なる場所にある SQL Azure データベース間でデータを双方向に同期する機能を提供するようにデザインされたクラウド ベースの同期サービスです (SQL Azure データベースを同期するジオレプリケーション機能が提供されます)。

SQL Azure Data Sync は Microsoft Sync Framework に基づいているので、複数の場所でデータを同期するための、なじみのあるアプローチが提供されます。繰り返しになりますが、SQL Azure Data Sync は CTP 版なので、現時点では Microsoft サポート サービスでサポートされていないことに注意してください。

クラウド コンピューティングには、申し分のないメリットがあります。クラウド コンピューティングがもたらすコスト効率、サーバー統合、オンデマンドのプロビジョニング、および地理的な多様性は、データをクラウドに移行することで得られるメリットの一端に過ぎません。SQL Azure では、SQL Server の強力なパフォーマンスとなじみのある環境を、クラウド コンピューティングのメリットと併せて提供します。SQL Azure は、より動的でコスト効率の良いデータ管理インフラストラクチャの構築を検討しているすべての組織に最適なソリューションです。

Joshua Hoffman

Joshua Hoffman は、TechNet マガジンの前の編集長です。現在は、フリーランスで執筆活動とコンサルティングを行っており、クライアントにテクノロジとそれぞれのクライアントに合ったマーケティング手法に関するアドバイスをしています。また、市場調査の分野の成長と強化に注力している ResearchAccess.com (英語) で編集長を務めています。現在は、ニューヨーク市に住んでいます。

関連コンテンツ