このManaged Instanceの特徴や活用法、オンプレミスからの移行方法などを詳細に記したホワイトペーパーが、株式会社システムサポートより公開された。同社は長らくAzure SQL Databaseを使ったクラウド移行案件を手掛けており、Managed Instanceに関しても実績があるという。本稿では、このホワイトペーパーを実際に執筆した同社 クラウドコンサルティング事業部 シニアマネジャー 山口正寛氏に、日本マイクロソフト サービス事業本部 シニア プレミア フィールドエンジニア 平山理氏とDBOnline チーフキュレータ 谷川耕一氏を交えて、Managed Instanceの価値や可能性について語り合ってもらった。
参考資料:Azure SQL Database Managed Instanceホワイトペーパー(クリックするとPDFがダウンロードされます)
オンプレミスのSQL Serverからの移行に適した「Managed Instance」
谷川:まずは平山さんに自己紹介と、今回正式提供が始まったManaged Instanceの簡単な解説をお願いできればと思います。
平山:私は日本マイクロソフトでポストセールスのエンジニアとして、弊社が提供する様々なデータプラットフォームサービスをお使いお客様のサポートを担当しています。オンプレミスのSQL Serverをお使いのお客様はもとより、Microsoft Azureのクラウド環境への移行なども担当しています。マイクロソフトが提供するPaaS型のデータベースサービスとしては、従来からAzure SQL Databaseがありましたが、クラウド上に新規にデータベースを構築するには向いているものの、オンプレミスの大規模なSQL Server環境を移行するにはさまざまな制約がありました。そこでManaged Instanceは、オンプレミスのSQL Serverと100%近い互換性を持たせ、アプリケーション、データベースともに最小限の修正でオンプレミスからクラウドへ移行できるようにしました。
谷川:なるほど。Managed Instanceの詳しい内容については、後ほどあらためてうかがえればと思います。山口さんはこれまで、SQL ServerやAzure SQL Databaseとどのように関わって来られたのですか?
山口:私は普段、お客様がシステムをオンプレミスからクラウドへ移行される際のさまざまな提案や支援を提供しています。もともとはデータベースエンジニアとして他社製のデータベース製品を主に扱っていたのですが、SQL Serverへの乗り換えを希望されるお客様が多く、自ずと私自身もSQL Serverに深く携わるようになりました。
谷川:Managed Instanceは、従来のAzure SQL Databaseと比べて「オンプレミスのSQL Serverから移行しやすい」との触れ込みですが、具体的にはどういうことなのでしょうか。
平山:SQL Serverでは1つのインスタンスの中に複数のデータベースを含めて、保持することができ、一つのクエリで複数データベースに存在するテーブルにアクセスすることが可能です。しかしAzure SQL Databaseは複数のデータベースを保持することができないため、そのようなクエリが使えません。そのため、SQL Server環境から移行する際には、データベーススキーマやアプリケーションの変更が必要でした。しかしManaged Instanceはこの点において、SQL Serverとほぼ同じ構成がとれるため、最小限の修正だけでクラウドへ移行できます。
山口:そのほかにもAzure SQL Databaseにはディスク容量の制限などがあったため、PaaS環境への移行を躊躇した結果、いったんIaaS環境に移行したというお客様も多いですね。ただしIaaSはPaaSと比べると運用コストが掛かるので、いったんはIaaSに移行したものの、さらにPaaSへ移行してより運用を効率化させたいと考えているお客様も多くいらっしゃいます。
平山:また最近のマイクロソフトの製品では、新機能はオンプレス製品より先にPaaSの方に実装されますから、「新機能をいち早く使える」という点もPaaSを採用するメリットの1つだと言えます。
Managed Instanceへの移行作業のイメージは?
谷川:山口さんは、既にManaged Instanceを使った案件を手掛けられているとのことですが、率直に言ってどのような印象を持たれましたか?
山口:従来のAzure SQL Databaseへの移行では、オンプレスのSQL ServerからデータをBACKPAC等で抜いてきて、それをクラウド上に反映させる作業が必要だったのですが、Managed InstanceではSQL Serverのネイティブバックアップデータをそのままリストアできる機能を使って、極めて簡単に移行を済ませられました。
谷川:逆に、何か苦労した点はありましたか?
山口:技術面で苦労した点は、正直ほとんどありませんでした。ただ、今後の新機能リリースのロードマップにどこまで依存してシステム設計していいのか、少し悩んだところもありました。実際、当初の予定より時間がかかってリリースされた機能もあったので、ロードマップに記されている将来リリースを待つのか、それとも自分たちで実装してしまった方がいいのか、判断に迷う場面はありました。
谷川:オンプレミスのSQL Server環境をIaaS上に移行するのと、Managed Instance上に移行する場合とでは、作業内容はかなり違うのでしょうか?
山口:これはAzure SQL Databaseの場合も同じなのですが、PaaSならではの特性を考慮してアプリケーションを修正する必要は出てくるかと思います。PaaSはバックアップやパッチ適用などをプラットフォーム側で自動的に実行してくれるため、運用はとても楽なのですが、そうしたバックグラウンド処理が原因でアプリケーションとデータベースの間のコネクションが一瞬切れたり、エラーが返ってくることもあります。そのため、アプリケーション側でそうした現象が起こることをあらかじめ想定して、リトライ処理などを実装しておく必要があります。
平山:またIaaS環境では、オンプレミスで使っていた監視システムなどの周辺システムも、丸ごとクラウド上へ移行できます。もちろん、PaaSでも同じことは可能ですが、それよりPaaSがもともと持っている運用管理サービス、例えば監視用の「Azure Monitor」「Azure Log Analytics」といったサービスと組み合わせて運用すれば、さらに運用を効率化できます。
Managed Instanceへの移行に際して留意すべきポイント
谷川:Managed InstanceはSQL Serverとの高い互換性を謳っていますが、とはいえ仕様が異なるところもあるんですよね。
山口:ホワイトペーパー(*)の方に詳しく書いてあるのですが、例えばSQL Serverが備えている「SQL Server Integration Services(SSIS)」「SQL Server Reporting Services(SSRS)」「SQL Server Analysis Service(SSAS)」といった機能は、Azure SQL DatabaseやManaged Instanceには実装されていません。そのため、これらの機能をクラウド上でも使いたい場合は、「Azure Data Factory」「Azure Analysis Services」といった対応するPaaSサービスや、Power BIなどを組み合わせることになります。
(*)Azure SQL Database Managed Instanceホワイトペーパー(クリックするとPDFがダウンロードされます)
谷川:ホワイトペーパーには、ネットワーク環境の違いについても詳しく書かれていましたね。
平山:Azure SQL Databaseでは、サービスエンドポイントと呼ばれる機能でネットワークに関するセキュリティを高めていますが、現時点ではデータベースを仮想ネットワーク(Azure Virtual Network)の内側に配置することができません。しかしManaged Instanceでは、プライベートIPを使って仮想ネットワークの内側にデータベースを配置できるようになっています。
山口:Managed Instanceを構築するためのサブネットも、かつてはユーザーが別途作成する必要があったのですが、今ではセットアップウィザードの中で簡単に作成できるようになりました。このように、Managed Instanceの機能は日に日に進化を遂げています。
谷川:データベースをオンプレミスからクラウドへ移行するに当たり、パフォーマンス面で不安を覚えるユーザーも少なくないと思います。
山口:高いスペックのサービスを契約すれば、その分だけきちんとパフォーマンスも出ます。ちなみにManaged Instanceには「汎用サービスレベル」と「Business Critical サービスレベル」の2つのバージョンがありますが、前者の場合は少しディスクの設計に工夫を凝らさないと十分なパフォーマンスを発揮できないことがあります。このあたりはホワイトペーパーに詳しく書いてありますが、それ以外は基本的に価格に見合った性能がきちんと出ています。
データプラットフォームとしてのMicrosoft Azureの将来
谷川:Managed Instanceが新たに加わったことで、Microsoft Azure上でさらに多様なデータを管理できるようになりそうですね。
平山:例えば、オンプレミスの大規模なSQL Server のシステム更改の際の移行先としての強力な選択肢がひとつ加わったといえるのではないでしょうか。
山口:DWH系に関しては「Azure SQL Data Warehouse」がありますし、各データベース間のデータ統合も「Azure Data Factory」を使えば簡単に行えます。
谷川:なるほど。ちなみに今回公開されたホワイトペーパーは、どんな方にとって役立ちそうでしょうか?
平山:やはり、Managed Instanceに興味を持たれている方の多くは、オンプレスのSQL Server環境からの具体的な移行手順が気になるところだと思います。このホワイトペーパーでは、後半部分で移行手順を3パターンに分けてかなり詳しく紹介しています。これを読めば、移行に関する不安のかなりの部分を払拭できるのではないかと思います。
谷川:早くも3月末には改版が予定されているそうですね。
山口:はい。今まさに追記部分を執筆しているところなのですが、今後リリース予定のManaged Instanceの機能、例えば「日本ローカルタイムへの対応」「照合順序の機能強化」「Azure Database Migration Service(DMS)のオンライン移行対応」といった機能を検証して、実際の使い勝手を紹介できればと思っています。
谷川:ちなみに、今後マイクロソフトのデータベースソリューションは、どのような方向に向かうとお考えですか?
平山:「マイクロソフトのデータベース製品=SQL Server」と考えているお客様は、もうかなり少なくなってきているような気がします。現在では、Microsoft Azureが提供する多様なデータサービスの中から、用途に合ったものを選んで利用する形が一般的になってきています。Microsoft Azureには、SQL Serverベースのデータベースサービス以外にも、Hadoop系やOSS系などさまざまなサービスが用意されていますから、ぜひこれらを組み合わせてお客様がお持ちのデータを最大限活用していただければと思っています。
山口:最先端の技術を手軽に試せて、かつやめたくなったらすぐやめられる点も、クラウドならではのメリットだと思います。例えば、既存データを使ったAI分析をちょっと試してみたいと思った際も、Microsoft Azureのデータプラットフォームなら気軽にトライ&エラーができます。弊社はAzure SQL Data Warehouseなども強みにしていますので、データ分析やDWHの分野でもぜひお客様のクラウド活用を支援していきたいと考えています。