Microsoft Azureスマート解説【第6回】
インフラエンジニア不要論も? Microsoft Azureのインフラサービスを一挙紹介
Microsoft Azureが提供するSQLデータベース、仮想ネットワーク、ロードバランサ、CDNの4サービスを紹介する。いずれもハードウェアやミドルウェアを気にすることなくインフラを利用することができる。
これまで本連載「Microsoft Azureスマート解説」では、Webサイト、仮想マシン、クラウドサービス、ストレージサービスと、「Microsoft Azure」のさまざまな主要サービスを紹介してきた。しかし、Microsoft Azureにはまだ紹介していない多くのサービスがある。そこで、これから2回に分けて8種類のサービスを紹介する。
SQLデータベース
「SQLデータベース」(旧称、SQL Azure)は、Microsoftが主にオンプレミス向けに提供している「Microsoft SQL Server」と高い互換性を持った、クラウド上での利用に最適化したマルチテナント型のリレーショナルデータベース管理システム(RDBMS)のサービスである。Microsoftがあらかじめ用意しているデータベースサーバに対して、ユーザーは専用のデータベースを作成することができる。
本サービスで作成されたデータベースは自動的に3重化して記録され、サーバに障害があった場合には自動的にフェイルオーバーされるため、高い可用性を持つ。また、データ格納サービス「Microsoft Azureストレージ」で用意されているオブジェクト/ブロックストレージ「BLOBストレージ」への定期的なバックアップ機能や、過去の任意のポイントへ復元するといった運用の機能も持つ。利用可能なデータサイズや処理性能を定義したサービスレベルが複数存在し、要求するデータベース性能に応じて選択できる。もちろん、稼働後でもスケールアップ/スケールダウンができる。
SQLデータベースを利用する最大のメリットは、データベースサーバを自ら構築、管理することなく、データベースを作成、利用できる点にある。オンプレミスでMicrosoft SQL Serverを構築する場合、ネットワーク、ストレージ、サーバなどのハードウェアレベルからOS、ミドルウェアレベルまで、全域の構築、管理が必要になる。また、Microsoft Azureの仮想マシン上にMicrosoft SQL Serverを構築する場合では、仮想マシンが稼働するハードウェア部分はMicrosoftが提供するサービスとして利用できるため、構築や管理を行う手間はなくなるが、OSやデータベースサーバの構築、管理は依然必要である。しかし、SQLデータベースであれば、ハードウェアからミドルウェアレベルまでの全域をMicrosoftが構築、管理してくれるため、導入作業や運用管理コストを低減できる。専門外の開発者でも迅速に環境を構築することが可能だ。
SQLデータベースは、マルチテナント方式のクラウド用にカスタマイズされたデータベースが前提となる。そのため、
- 最大同時接続数が制限される
- データベースサイズの上限が制限される
- Microsoft SQL Serverの一部機能が利用できない
などの制限がある。これらの制限を許容できないシステムの場合は、自身で構築したMicrosoft SQL Serverを利用することになる。
しかしながら、他のMicrosoft Azureサービスを併用することで、上記の制限を回避するようなシステムデザインを採用できる場合が多々ある。例えば、参照用途のデータであればキャッシュ(「Microsoft Azure Cache」)やプログラム上のメモリキャッシュに保持し参照させる、更新頻度が高く複数のテーブルでのリレーションシップといった複雑なデータ構造が必要のないデータであればMicrosoft Azureストレージの分散Key-Valueストア(分散KVS)である「Tableストレージ」に格納する、ログデータや今後読み込みが見込まれない古いデータであれば、BLOBストレージまたはTableストレージにアーカイブする、などの方法を検討することで、SQLデータベースでも必要十分な性能を活用できるはずだ。
所有せず利用するだけのSQLデータベースを前提にすれば、開発を高速化させ管理工数を軽減できるだけでなく、クラウドに最適化されたシステムのデザインパターンを積極的に採用したシステム開発を進めることができる。できるだけSQLデータベースサービスを活用するようにシステム設計を行うことをお勧めする。
仮想ネットワーク
「仮想ネットワーク」は、いわばVLANのようなプライベートネットワークをMicrosoft Azure上に作成するためのサービスだ。Microsoft Azure上でサービスを構築するに当たり、仮想ネットワークの作成は必須ではない。しかしながら、仮想ネットワークを構成し関連するサービス群を所属させることで、当該サービス間の通信を他のシステムとの間で分離し、厳密に制御できるようになる。例えば、Webアプリケーションサーバとの間でのみ通信を行う仮想マシン上のデータベースサーバに対して、インターネットとの通知を遮断するように制御することが可能だ。オンプレミスとほぼ同様にプライベートネットワークを構築できるため、オンプレミスのシステムをそのままMicrosoft Azureへ移行する際も、ネットワーク設計ポリシーを大幅に変更しなくても構築できるはずだ。
また、仮想ネットワークは、オンプレミス側のネットワークとVPNを利用して接続することができる。つまり、オンプレミスネットワークをクラウド上に拡張したようなハイブリッドクラウドが実現できる。例えば、負荷が増大してきたオンプレミスのシステムをMicrosoft Azureへ移行する際に、一部、さまざまな理由によりMicrosoft Azureへの移行が困難なシステム(データベースサーバなど)があるとする。この場合、移行可能なシステムのみをMicrosoft Azureへ移行し仮想ネットワークに所属させる。仮想ネットワークとオンプレミスをVPN接続すれば、Microsoft Azure側のシステムはオンプレミス側のシステムとセキュアに通信することが可能だ。これにより、Microsoft Azureへの移行が困難な部分を持つシステムでも、可能な箇所だけ移行することができる。
Microsoft Azureデータセンターとオンプレミスとの間を専用線で接続する専用線接続サービスが、日本でも2014年10月から利用可能になる。専用線接続サービスを用いれば、より安定した高速で信頼性の高いハイブリットクラウドを構築することができる。ハイブリットクラウド構築の中心となるのが、この仮想ネットワークである。
トラフィック マネージャー
「トラフィック マネージャー」は標準機能として提供されているノード間のロードバランサ機能の上位に位置し、サービス間でのトラフィックの負荷分散を行うためのサービスである。マルチインスタンスのWebサイト、仮想マシン、クラウドサービスに対するノード間でのロードバランサ機能は自動的に提供されるが、それとは別に、複数のリージョン間やサービス、そして任意のエンドポイント間での負荷分散を実現するために利用する。
負荷分散方式としては、「ラウンドロビン」「フェールオーバー」「パフォーマンス」の3種類から選択できる。ラウンドロビン方式は、全サービスに対して順番にトラフィックを振り分ける。フェールオーバー方式は、あらかじめ指定した優先順位の上位のサービスから順に、アクセスできるサービスへ振り分ける(上位のサービスがサービスダウンしている場合、下位のサービスへ振り分ける)。パフォーマンス方式は、アクセスユーザーから最も近い(アクセス速度が早い)サービスへ振り分ける。
世界中のユーザーが利用するようなシステムであれば、各リージョンにシステムを構築し、パフォーマンス方式で負荷分散するトラフィック マネージャーを利用するような設計も視野に入る。この構成であれば、世界各地のユーザーは自身が所属するネットワークに最も近いリージョンのシステムへアクセスするため、パフォーマンスを向上させることができる。
国内のみで利用するようなシステムにおいても、例えば東日本と西日本の複数のリージョンでシステムを構築し、フェールオーバー方式(メインを東日本、サブを西日本など)で負荷分散する設定でトラフィック マネージャーを利用すれば、システムの地理冗長化によるDR(ディザスタリカバリ)を簡単に実現することができる。さらに、サブシステムを「Amazon Web Services」(AWS)のアジアパシフィックリージョンに構築し、エンドポイントとして登録することで、地理冗長に加えてサービスベンダー冗長も実現可能だ。
CDN
「Azure CDN」は、世界各地に配置されたCDNノードからコンテンツを配信するためのサービスである。CDNノードは指定したBLOBストレージのコンテンツをキャッシュし、ユーザーは最も近いCDNノードからキャッシュされたコンテンツを受信する。これにより、世界各地のユーザーに対してコンテンツを高速に配信することができる。
例えば、動画や画像などのメディアコンテンツを配信する場合、単一のWebサイトからコンテンツを配信すると、Webサイトのネットワーク帯域やコンピューティングリソースを圧迫してしまい、大量アクセス時には処理できなくなる。
このような場合には、BLOBストレージからコンテンツを配信するような設計を採用することが多い。Webサイトは動的な処理のみとなりメディアコンテンツのダウンロード負荷が集中しなくなるため、少ないサーバでより多くのユーザーをさばくことができる。また、一般的にWebサイトを経由するよりもBLOBストレージを直接参照する方がデータの転送速度が高速なので、ユーザー体験を改善する効果も期待できる。
しかしながら、BLOBストレージが配置されているリージョンから物理的に遠いユーザーにとっては、やはりこの構成でもコンテンツの受信に時間がかかってしまう。例えば、BLOBストレージが東日本リージョンにある場合、海外の人や、日本にいるが東京から遠い場所にいる人にとっては、コンテンツの受信に時間がかかってしまう。データサイズが大きく、受信に時間がかかるような動画コンテンツなどでは大きな課題となる。
そこでAzure CDNを使用する。Azure CDNではコンテンツを世界各地に配置されているCDNノードにキャッシュして配信する。各ユーザーは一番近いCDNノードからコンテンツを受信するため、世界各地のユーザーがコンテンツを高速に受信できるようになる。
Azure CDNは速度の問題だけを改善するわけではない。BLOBストレージ上のデータを参照するユーザーが大量に存在した場合、単純なBLOBストレージのみでの利用では、ストレージアカウント単位で管理される送信帯域の限界に達してしまい、コンテンツ受信に時間がかかる可能性も考えられる。Azure CDNを利用すれば、アクセスがCDNノードに分散されるため、この問題に対応できるだろう。
ただし、Azure CDNで配信するファイルについては注意が必要だ。対応するBLOBストレージへファイルを配置した途端、すぐに世界各地のCDNノードにキャッシュされるため、後から修正を適用することが非常に困難になる。Azure CDNを利用して配信するコンテンツファイルは、更新がほとんどない動画や画像ファイルが適している。
任せることができるサービス
今回は、SQLデータベース、仮想ネットワーク、トラフィック マネージャー、CDNの4サービスを紹介した。いずれのサービスも、自身でハードウェアからミドルウェアレベルの構築、管理、保守を行うことなく、データベースサーバ、プライベートネットワーク、ロードバランサ、世界規模のコンテンツ配信基盤などのインフラを利用することができる。
もし、このインフラを専用のオンプレミス環境で構築した場合、どの程度のコストになるだろうか。また、自身で保守・管理した場合にはどれほどの費用を覚悟すべきだろうか。Microsoftが提供するレベルのものをゼロから新たにつくり上げるためには、莫大なコストが必要になることは、容易に想像ができる。
もはやインフラについては自ら構築・保守・管理せず、Microsoftに任せてしまってよいのではないかと考える。ユーザーはサービス開発に集中できるようになり、良質なサービスへのチャレンジに時間を割くことができる。さまざまな課題を指摘されがちな日本的システム開発の未来にとっても、改革の第一歩として価値のある選択ではないだろうか。
日山雅之(ひやま まさゆき)
株式会社FIXER Enterprise Cloud Unit クラウドエンジニア
学生時代に地元のITベンチャー企業にてプログラミングのアルバイトを行い、そこでプログラミングの奥深さに魅了され、スーパープログラマを目指す。大学院を卒業後、現日立システムズに入社し、App Bridgeシリーズの開発に携わる。その後、プログラミング技術をより高めるべく株式会社FIXERに入社。Microsoft Azureの虜になる。マイクロソフト認定ソリューションデベロッパー(WebApplication)およびAWS認定ソリューションアーキテクト(アソシエイト)。
【FIXER公式サイト】http://www.fixer.co.jp/
【cloud.config公式サイト】http://www.cloud-config.jp/
Copyright © ITmedia, Inc. All Rights Reserved.
Microsoft Azureスマート解説
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
2
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
3
「Microsoft 365のセキュリティ運用」に関するアンケート
-
4
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
5
221人調査で分かった「情シス最大のストレス」は?
-
6
「Salesforceのテスト自動化ツール」に関するアンケート
-
7
IT製品の導入に関するアンケート「サーバ&ストレージ」編
-
8
「データストレージの活用方法」に関するアンケート
-
9
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
10
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー