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つのバージョンがありますが、前者の場合は少しディスクの設計に工夫を凝らさないと十分なパフォーマンスを発揮できないことがあります。このあたりはホワイトペーパーに詳しく書いてありますが、それ以外は基本的に価格に見合った性能がきちんと出ています。