無限ノック › SAP 練習問題一覧 › 問題
SAP既存のソリューションの継続的改善

本番環境のRDSデータベースに対してスキーマ変更を伴うデプロイを行う際のダウンタイムを最小化する方法として最適なものはどれですか?

A
メンテナンスウィンドウに全サービスを停止してスキーマ変更を適用する
メンテナンスウィンドウ中は全サービスを停止するため、その時間帯はシステム全体が確実にダウンする。ダウンタイムを最小化するという設問の主要件に正面から反しており、可用性が求められる本番環境では最も不適切な手法。
B
Blue/Greenデプロイメントを使用し、新スキーマで新環境を構築後に切り替える
✓ 正解
AWS RDS Blue/Greenデプロイメントを使用すると、本番(Blue)と独立した新環境(Green)でスキーマ変更を検証し、数秒のカットオーバーでダウンタイムを最小化できる。AWSがネイティブサポートしている最もリスクの低い最適な手法。
C
リードレプリカにスキーマ変更を適用してプライマリに昇格させる
リードレプリカへのスキーマ変更は、変更内容によってはバイナリログの互換性が失われレプリケーションが停止するリスクがある。プライマリ昇格後に問題が発覚した場合のロールバックも複雑で、可用性の確実な担保が難しい。
D
DynamoDBに移行することで無停止のスキーマ変更を実現する
DynamoDBはNoSQLデータベースであり、RDSからの移行にはスキーマ設計の根本的な見直しと大規模なアプリケーション改修を伴う。RDSのスキーマ変更時のダウンタイム最小化という課題の直接的な解決策にはならない。

解説

RDSのBlue/Greenデプロイメントは本番環境(Blue)とは別にステージング環境(Green)を作成し、スキーマ変更のテスト後に数秒でカットオーバーできます。AWS RDS Blue/Green Deploymentがこれをネイティブにサポートしています。 選択肢Aは、メンテナンスウィンドウ中に全サービスを停止するため確実にダウンタイムが発生し、「最小化」の要件に直接反します。 選択肢Bは、Blue/GreenデプロイメントでGreen環境にスキーマ変更を適用してテストし、数秒でカットオーバーできるためダウンタイムを最小化する最適な手法です。 選択肢Cは、リードレプリカへのスキーマ適用は変更内容によってはバイナリログの互換性が失われレプリケーションが停止するリスクがあります。 選択肢Dは、DynamoDBへの移行はNoSQL化を伴う大規模なアプリケーション改修が必要となり、RDSのスキーマ変更問題の解決策としては不適切です。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでSAPを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← SAP の問題一覧に戻る