Azure認定資格 WEB問題集&徹底解説
DP-900:Microsoft Azure Data Fundamentals
問題文と選択肢
この要件を満たす移行先として最も適切なものはどれか。
- Azure SQL Database
- Azure Database for MySQL
- Azure Database for PostgreSQL
- Azure Virtual Machines(Linux)上に MySQL をインストールして運用する
A. Azure SQL Database
Azure SQL Database はMicrosoft SQL Server をベースにした PaaSで、更新やバックアップは自動化されるため、運用負荷の軽減という目的には合っています。
しかしデータベースエンジンが MySQL から SQL Server に変わるため、「エンジンを別の製品に置き換えない」「接続ドライバーを変更しない」という条件に反します。SQL の方言やドライバーの違いから、アプリケーションの改修も避けられません。
B. Azure Database for MySQL
Azure Database for MySQL は、MySQL Community Edition に基づく MySQL の PaaS 実装です。エンジンが同じ MySQL なので、既存のアプリケーションは同じ MySQL ドライバーのまま接続先を切り替えて利用でき、Learn もこのサービスを使う主な理由として「アプリケーションに大規模な変更を加えることなく迅速に Azure に移行できる」ことを挙げています。
さらにハードウェアやソフトウェアのパッチなど基盤の管理は Azure が担い、最大 35 日間(既定 7 日間)の自動バックアップとポイントインタイム リストアも提供されるため、運用管理の負荷を下げるという移行の目的も満たします。現在のデプロイオプションはフレキシブル サーバーです。
C. Azure Database for PostgreSQL
Azure Database for PostgreSQL も、MySQL のサービスと同じ可用性・スケーリング・管理上の利点を持つオープンソース系の PaaSで、運用負荷の軽減という目的だけなら満たせます。
しかし PostgreSQL は MySQL とは別のデータベースエンジン(独自の手続き型言語 PL/pgSQL などを持つオブジェクトリレーショナル データベース)であり、接続ドライバーも SQL の方言も異なります。「オープンソースの RDB どうし」で同じに見えても、エンジンの置き換えにあたるため条件に反します。
D. Azure Virtual Machines(Linux)上に MySQL をインストールして運用する
Azure Virtual Machines(Linux)に MySQL をインストールすれば、エンジンもドライバーもそのまま使えるため、互換性の条件だけは満たします。
しかしこれはIaaSです。Learn が VM 上の SQL Server について「オペレーティング システムと SQL Server の更新、構成、バックアップなど、サーバーのすべての側面を管理する必要がある」と述べているのと同じく、VM 上の MySQL でもOS とデータベースのパッチ適用やバックアップは利用者の責任のままです。自前の Linux サーバーが Azure の VM に置き換わるだけで、移行の目的である運用負荷の軽減を達成できません。
エンジンそのまま×運用おまかせ=Azure Database for ○○(PaaS)。VM に入れるのは運用が残る IaaS。
正解への思考ルート
問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。| 要件 | 判断ポイント |
|---|---|
| データベースエンジンを別の製品に置き換えない | MySQL 以外のエンジン(SQL Server 系・PostgreSQL)は移行先にならない →選択肢(A・C)を消す |
| アプリのコードや接続ドライバーを変更したくない | MySQL をそのまま動かせる移行先、すなわち MySQL ベースの PaaS か、MySQL を入れた VM に絞られる →選択肢(B・D)は候補 |
| 移行の目的はバックアップ取得やパッチ適用の運用負荷の軽減 | VM(IaaS)ではOS・データベースの更新やバックアップが利用者の責任のまま残る →選択肢(D)を消す |
| 残る条件をすべて満たす移行先 | 自動バックアップと基盤のパッチ管理を Azure が担う PaaS の Azure Database for MySQL →選択肢(B)が正解 |
ひっかけポイント
- 本命の罠はVM 上の MySQL。エンジン・ドライバーの条件を満たすので正解に見えるが、IaaS では運用作業が手元に残り、「移行の目的」(運用負荷の軽減)を満たさない
- PostgreSQL は MySQL と同じ「オープンソースの RDB の PaaS」なので紛らわしいが、エンジンが別製品。ドライバーも SQL の方言も異なり、アプリの改修が必要になる
- 「Azure の RDB の PaaS=Azure SQL Database」と短絡しない。Azure SQL Database はSQL Server 系で、MySQL・PostgreSQL にはそれぞれ専用の Azure Database for ○○ がある
- Azure Database for MySQL の単一サーバー(Single Server)は 2024 年 9 月に提供終了しており、現在のデプロイオプションはフレキシブル サーバー。古い教材の「単一サーバー」の記述は鵜呑みにしない
出題バリエーション
同じ知識が本番では条件を変えて出題されます。| 問題文がこう変わったら | 正解はこう変わる |
|---|---|
| 「自前運用の PostgreSQL を、エンジンを変えずにマネージドサービスへ移したい」 | Azure Database for PostgreSQL が正解に変わる。 |
| 「OS の設定変更や独自ソフトの導入が必要で、サーバーのすべての側面を自分で制御し続けたい」 | VM 上に MySQL をインストール(IaaS)が正解に変わる。 |
| 「オンプレミスの SQL Server インスタンスを、ほぼ 100% の互換性を保って最小限の変更で PaaS へ移したい」 | Azure SQL Managed Instance が正解軸に。 |
| 「新規のクラウドアプリ向けに、最小限の管理で SQL Server 系のデータベースを使いたい」 | Azure SQL Database が正解に変わる。 |
| 「既存の MongoDB を、アプリをほとんど変えずに Azure へ移したい」 | MongoDB 互換の Azure DocumentDB が推奨の移行先。 |
リファレンス
この問題を解くために必要な知識を扱う公式ドキュメントです。| 知識項目 | 公式ドキュメント |
|---|---|
| Azure Database for MySQL(Community Edition ベースの PaaS・自動バックアップ)と PostgreSQL の違い | オープンソース データベース用の Azure サービスについて説明する - Training | Microsoft Learn |
| IaaS(VM 上の DB)では OS・DB の更新やバックアップを利用者が管理する | Azure SQL のサービスと機能について説明する - Training | Microsoft Learn |
この要件を満たす移行先として最も適切なものはどれか。
- Azure SQL Database
- Azure Database for MySQL
- Azure Database for PostgreSQL
- Azure Virtual Machines(Linux)上に MySQL をインストールして運用する
次の問題前の問題
会員機能
お役立ち情報
姉妹サイト
AWS
- CLF:クラウドプラクティショナー
- SAA:ソリューションアーキテクト-アソシエイト
- AIF:AIプラクティショナー
- SOA:CloudOpsエンジニア-アソシエイト
- DVA:デベロッパー-アソシエイト
- DEA:データエンジニア-アソシエイト
- MLA:機械学習エンジニア-アソシエイト
- SAP:ソリューションアーキテクト-プロフェッショナル
- DOP:DevOpsエンジニア-プロフェッショナル
- AIP:生成AIデベロッパー-プロフェッショナル
- SCS:セキュリティ-専門知識
Microsoft Azure
- AZ-900:Microsoft Azure Fundamentals
- AZ-104:Microsoft Azure Administrator
- AI-901:Microsoft Azure AI Fundamentals
- DP-900:Microsoft Azure Data Fundamentals