Azure認定資格 WEB問題集&徹底解説

DP-900:Microsoft Azure Data Fundamentals

正解 C問題
分野2:Azure 上のリレーショナルデータの考慮事項の特定 タスクステートメント2.2:Azure のリレーショナルデータサービスの説明
合格に向けて、もっと深く学習する
豊富な問題と詳細なAzureサービス解説を、1 時間無料でお試しいただけます
プレミアム会員機能を無料で試す ❯
問題文と選択肢
ある卸売業者は、老朽化したオンプレミスの SQL Server 2016 を Azure へ移行しようとしている。移行後も、アプリケーションが利用している SQL Server エージェントジョブとリンクサーバー機能をそのまま使い続けたい。一方で、OS のパッチ適用や仮想マシンの保守作業はできるだけ避けたいと考えている。
この要件に最も適した Azure のリレーショナルデータサービスはどれか。
  • Azure Database for PostgreSQL
  • SQL Server on Azure Virtual Machines
  • Azure SQL Managed Instance
  • Azure SQL Database
解説 頻出度★★★★★
この問題は、「インスタンスレベルの機能(SQL Server エージェント・リンクサーバー)を維持したい × OS や VM の保守はしたくない」という一見相反する要件から、PaaS でありながら高い互換性を持つ Azure SQL Managed Instance を選べるかがポイントです。

A. Azure Database for PostgreSQL

Azure Database for PostgreSQL は、PostgreSQL エンジンのマネージドサービスです。SQL Server とはデータベースエンジンも T-SQL の文法も異なるため、SQL Server からの移行先としてはアプリケーションの大幅な書き換えが必要になります。
SQL Server エージェントジョブやリンクサーバーという SQL Server 固有の機能を「そのまま使い続けたい」という要件を満たせないため誤りです。

B. SQL Server on Azure Virtual Machines

SQL Server on Azure Virtual Machines(IaaS)は SQL Server の全機能をそのまま利用できるため、SQL Server エージェントもリンクサーバーも問題なく動作します。
しかし、OS のパッチ適用・仮想マシンの保守・バックアップや高可用性構成は利用者の責任のまま残ります。本問は「OS のパッチ適用や仮想マシンの保守作業はできるだけ避けたい」と明示しているため、この点で要件に反します。
OS レベルのアクセスが必須の場合や、まったく変更せずリフト&シフトしたい場合に選ぶ選択肢です。

正解

C. Azure SQL Managed Instance

Azure SQL Managed Instance は PaaS でありながら SQL Server とほぼ 100% の機能互換を持つサービスで、SQL Server エージェント・リンクサーバー・データベース間クエリ・CLR といったインスタンスレベルの機能を利用できます。
同時に PaaS であるため、OS と SQL Server へのパッチ適用、自動バックアップ、高可用性は Azure 側が担い、仮想マシンの保守作業が不要になります。
「既存アプリの機能はそのまま維持したいが、インフラ管理からは解放されたい」という移行シナリオにまさに合致するサービスであり、これが正解です。

D. Azure SQL Database

Azure SQL Database はフルマネージドの PaaS で管理の手間は最も小さいものの、データベース単位のサービスであり、SQL Server エージェントやリンクサーバーといったインスタンスレベルの機能はサポートされません(定期実行はエラスティックジョブなど別の仕組みへの作り替えが必要)。
そのため、これらの機能をそのまま使い続けたいという本問の要件を満たせません。新規のクラウドネイティブ開発には最適ですが、機能依存のある既存アプリの移行先としては再設計コストが発生します。

これだけ覚える(記憶フック)
SQL Server エージェント/リンクサーバーを残して移行するなら Managed Instance。
正解への思考ルート 問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。
要件 判断ポイント
SQL Server エージェントジョブとリンクサーバーをそのまま使い続けたい これらはインスタンスレベルの機能。データベース単位の Azure SQL Database では利用できない
→選択肢(D)を消す
OS のパッチ適用や仮想マシンの保守作業は避けたい 仮想マシン上の SQL Server は IaaS で OS 管理が自己責任。機能は満たしても運用要件で外れる
→選択肢(B)を消す
移行元は SQL Server 2016(既存アプリをそのまま動かしたい) SQL Server との高い互換性を持つ PaaS は Azure SQL Managed Instance。エンジンが異なる PostgreSQL は移行先にならない
→選択肢(A)を消す
機能互換とインフラ管理の軽減を両立したい ほぼ 100% の機能パリティ+パッチ適用・バックアップは Azure が実施という組み合わせは Managed Instance だけ
→選択肢(C)が正解
ひっかけポイント
  • 「フルマネージドで手間が最小」という点だけを見ると Azure SQL Database を選びたくなるが、SQL Server エージェントとリンクサーバーが使えないため要件を満たさない。管理の軽さと機能互換のどちらを問われているかを見極める
  • 「SQL Server をそのまま動かす」という発想で仮想マシンを選ぶと、OS の保守が残るという後半の条件を落とす。相反する 2 条件の両方を満たす選択肢を探す
  • 「移行」というキーワードだけでは Managed Instance と仮想マシンのどちらも当てはまる。決め手は「保守作業を避けたい(PaaS か IaaS か)」の一文
  • Azure Database for PostgreSQL は名前に Azure Database と付くため紛らわしいが、SQL Server 系ではない別エンジン。SQL Server からの移行先候補にはならない
出題バリエーション 同じ知識が本番では条件を変えて出題されます。
問題文がこう変わったら 正解はこう変わる
「新規開発のクラウドネイティブアプリで、インスタンスレベル機能は不要」 正解は Azure SQL Database(単一データベース)に変わる。
「OS にログインしてサードパーティ製エージェントを導入する必要がある」 正解は SQL Server on Azure Virtual Machines に変わる。
「移行対象が MySQL / PostgreSQL のオープンソース DB だった」 正解は Azure Database for MySQL / PostgreSQL に変わる。
「データベースごとに使用量に応じた課金で小さく始めたい」 SQL Database のサーバーレス/エラスティックプールが正解軸に。
関連サービスの解説 Azure SQL Database
Azure SQL Managed Instance
SQL Server on Azure Virtual Machines
Azure Database for PostgreSQL
リファレンス この問題を解くために必要な知識を扱う公式ドキュメントです。
知識項目 公式ドキュメント
Azure SQL Managed Instance のインスタンスレベル機能と PaaS としての位置づけ Azure SQL とは - Azure SQL | Microsoft Learn
+ 質問 / コメント
解答・解説に疑問がある場合や、よりよい解説がある場合など、お気軽にコメントください。ただし、短文コメントは表示されません。また、中傷などコメントの内容によっては、会員機能を停止させて頂きます。教え学び合える場になれば嬉しいです。(コメント投稿にはログインが必要です)
正答率 0%
No.19 解説
ある卸売業者は、老朽化したオンプレミスの SQL Server 2016 を Azure へ移行しようとしている。移行後も、アプリケーションが利用している SQL Server エージェントジョブとリンクサーバー機能をそのまま使い続けたい。一方で、OS のパッチ適用や仮想マシンの保守作業はできるだけ避けたいと考えている。
この要件に最も適した Azure のリレーショナルデータサービスはどれか。
  • Azure Database for PostgreSQL
  • SQL Server on Azure Virtual Machines
  • Azure SQL Managed Instance
  • Azure SQL Database

(会員限定)当問題の評価をお願いします。改善に活用します。