Cloud & IT Cert Prep · レッスン

マルチ AZ と自動バックアップ

同期スタンバイレプリケーション用にマルチ AZ を有効にし、自動バックアップの時間帯と保持期間を理解します。

レッスン 2/413 ステップ

「マルチ AZ と自動バックアップ」はCoddyKit上の無料Cloud & IT Cert Prepレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCloud & IT Cert Prep学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。

RDS の Multi-AZ とは

Multi-AZ は、同じ Region 内の別の Availability Zone に同期スタンバイレプリカを自動的にプロビジョニングする、RDS の高可用性機能です。AWS がレプリケーションを透過的に管理するため、単一の DNS エンドポイントに接続すれば、RDS がプライマリにトラフィックをルーティングします。

ハードウェア、ネットワーク、OS の問題によってプライマリインスタンスに障害が発生すると、RDS は約 60~120 秒でスタンバイへの自動フェイルオーバーを実行します。アプリケーションは同じ DNS エンドポイントを使用して再接続します。このエンドポイントはスタンバイの IP アドレスを解決するようになります。

既存のインスタンスで Multi-AZ を有効にする

RDS インスタンスの作成時に Multi-AZ を有効にすることも、既存のインスタンスを変更して有効にすることもできます。稼働中のインスタンスで有効にすると、AWS はプライマリのスナップショットを取得し、2 つ目の AZ に復元してから、エンジン固有のネイティブレプリケーションを使用して同期します。この処理によってプライマリで短時間の I/O 停止が発生する可能性があるため、トラフィックの少ない時間帯にスケジュールするか、メンテナンスウィンドウのタイミングで実施してください。

Multi-AZ は MySQL、PostgreSQL、MariaDB、Oracle、SQL Server を含むすべての RDS エンジンでサポートされており、アプリケーションレベルの変更は必要ありません。

# Enable Multi-AZ on an existing RDS instance
aws rds modify-db-instance \
  --db-instance-identifier mydb \
  --multi-az \
  --apply-immediately

Multi-AZ のフェイルオーバーの仕組み

フェイルオーバーが発生すると、RDS は DB エンドポイントの DNS CNAME を更新し、約 60 秒以内にスタンバイを指すようにします。アプリケーションは TCP 接続の切断を検知した後、再接続する必要があります。再接続の遅延を最小限に抑えるには、次の方法を使用します。

  • 短い DNS TTLを使用します (通常、RDS によってすでに 5 秒に設定されています)
  • 接続ロジックに指数バックオフとリトライを実装します
  • 自動的に再接続する RDS Proxy などの接続プーリングツールを使用します

フェイルオーバーは、メンテナンスやインスタンスクラスの変更のために手動でトリガーすることもできます。Multi-AZ が有効になっていれば、ダウンタイムをほぼゼロにしたアップグレードが可能です。

# Force a manual failover for testing
aws rds reboot-db-instance \
  --db-instance-identifier mydb \
  --force-failover

Multi-AZ と Read Replica の比較

試験でよく混同されるのが、可用性のためのMulti-AZと、スケーラビリティのためのRead Replicaの違いです。主な違いは次のとおりです。

  • Multi-AZ スタンバイ: 同期レプリケーション、読み取りトラフィックは処理しない、自動フェイルオーバー、同じ Region
  • Read Replica: 非同期レプリケーション、読み取りトラフィックを処理、自動フェイルオーバーなし、リージョン間に配置可能

Multi-AZ ではスタンバイに対してクエリを実行できないため、読み取りパフォーマンスは向上しません。可用性を高めながら読み取りもスケールするには、プライマリで Multi-AZ を使用し、別途 Read Replica を追加してください。

自動バックアップの概要

RDS は毎日、データベース全体のスナップショットを自動的に作成し、5 分ごとにトランザクションログを取得します。これらを組み合わせることで、バックアップ保持期間内の任意の時点までのポイントインタイムリカバリ (PITR)が可能になります。その期間内の任意の時点の状態にデータベースを復元できます。

自動バックアップはデフォルトで有効になっており、保持期間は1~35 日に設定できます。保持期間を 0 にすると、自動バックアップ (および PITR) が無効になります。バックアップウィンドウは、指定することも、AWS にオフピーク時間帯で自動選択させることもできる 30 分間の期間です。

バックアップウィンドウとメンテナンスウィンドウ

バックアップウィンドウとは、毎日のスナップショットが取得される時間帯です。この時間帯には、Single-AZ デプロイでストレージ I/O が一時的に停止する場合があります。Multi-AZ デプロイではスタンバイからスナップショットを取得するため、プライマリへの I/O の影響はありません。

メンテナンスウィンドウとは、AWS が OS パッチ、エンジンのマイナーアップグレード、インスタンスの変更を適用する、毎週設定される別の時間帯です。ベストプラクティスは、どちらのウィンドウもトラフィックの少ない時間帯に設定し、重複しないようにすることです。

# Set backup window and retention on create
aws rds create-db-instance \
  --db-instance-identifier mydb \
  --engine mysql \
  --db-instance-class db.t3.micro \
  --master-username admin \
  --master-user-password MyPass123! \
  --allocated-storage 20 \
  --backup-retention-period 7 \
  --preferred-backup-window '03:00-04:00'

ポイントインタイムリカバリ(PITR)

特定の時点に復元する場合、RDS はまず最新の日次スナップショットを復元し、その後、指定されたタイムスタンプまでトランザクションログを再適用します。復元の結果として新しい DB インスタンスが作成されます。PITR によってソースインスタンスが上書きされることはないため、本番環境を中断せずに安全に復旧できます。

復元したインスタンスが利用可能になったら、アプリケーションの接続文字列を新しいエンドポイントを指すように更新し、データの整合性を確認します。その後、意図した復旧であれば元のインスタンスを削除します。通常、復元時間はデータベースのサイズと、最後のスナップショット以降のログ量に比例します。

# Restore to a specific point in time
aws rds restore-db-instance-to-point-in-time \
  --source-db-instance-identifier mydb \
  --target-db-instance-identifier mydb-restored \
  --restore-time 2026-06-20T14:30:00Z

手動 DB スナップショット

自動バックアップに加えて、いつでも手動スナップショットを取得できます。自動バックアップとは異なり、手動スナップショットは保持期間の対象外であり、明示的に削除するまで保持されます。

手動スナップショットは、大規模なスキーマ移行やアプリケーションのアップグレードの前の状態を保存したり、コンプライアンス目的で請求サイクルの終了時点をアーカイブしたりする場合に適しています。また、手動スナップショットを他の AWS アカウントと共有したり、ディザスタリカバリのために別のリージョンへコピーしたりすることもできます。

# Create a manual snapshot
aws rds create-db-snapshot \
  --db-instance-identifier mydb \
  --db-snapshot-identifier mydb-before-migration-2026-06-20

リージョン間スナップショットコピー

ディザスタリカバリのために、自動スナップショットまたは手動スナップショットを別の AWS リージョンへコピーできます。コピーは、コピー先リージョンの S3 インフラストラクチャに保存される完全なスナップショットです。コピーが完了すると、プライマリリージョンが利用できなくなった場合に、そのリージョンで新しい RDS インスタンスを復元できます。

ソースが暗号化されていない場合でも、コピー先でスナップショットを暗号化できます(逆も同様です)。リージョン間コピーにはデータ転送コストがかかります。定期的なリージョン間スナップショットコピーを自動化するには、AWS Backup または EventBridge によってトリガーされる Lambda を使用します。

# Copy a snapshot to another region
aws rds copy-db-snapshot \
  --source-db-snapshot-identifier arn:aws:rds:us-east-1:123456789:snapshot:mydb-snap \
  --target-db-snapshot-identifier mydb-snap-copy \
  --source-region us-east-1 \
  --region us-west-2

接続プーリングのための RDS Proxy

Amazon RDS Proxyはアプリケーションと RDS の間に配置され、データベース接続をプールします。これは、短時間だけ存続する接続を数千件開いてデータベースの接続上限に達する可能性がある Lambda 関数に特に有効です。RDS Proxy は接続を多重化するため、データベースから見えるアクティブな接続数を大幅に減らせます。

Multi-AZ のフェイルオーバー中、RDS Proxy はアプリケーション接続を保持し、新しいプライマリへのデータベース接続を再確立します。これにより、アプリケーションの再接続時間を数分から数秒に短縮できます。また、RDS Proxy は Secrets Manager と統合されているため、アプリケーションを停止せずに認証情報をローテーションできます。

Multi-AZ クラスターと Multi-AZ インスタンスの比較

RDS には現在、2 種類の Multi-AZ オプションがあります。Multi-AZ DB Instance(従来型、スタンバイ 1 台)と、Multi-AZ DB Cluster(異なる AZ に配置された読み取り可能なスタンバイインスタンス 2 台)です。クラスター方式では準同期レプリケーションを使用し、スタンバイで読み取りトラフィックを処理できます。そのため、個別の Read Replicas を用意しなくても、高可用性と読み取りスケーラビリティを向上させられます。

SAA-C03 試験では、従来型の Multi-AZ DB Instance が最も頻繁に出題されます。Multi-AZ Cluster はスタンバイで読み取りを処理できる新しいオプションであり、従来型のスタンバイでは読み取りを処理できないことを覚えておいてください。

クイックチェック

このレッスンで学んだ AWS Solutions Architect(SAA-C03)の概念を確認しましょう。

レッスンのまとめ

このレッスンでは、Multi-AZ は 60~120 秒で自動フェイルオーバーする同期スタンバイレプリケーションを提供すること、自動バックアップによって保持期間(1~35 日)の範囲内で任意の秒単位の PITR が可能になること、そして手動スナップショットは無期限に保持され、DR のためにリージョン間でコピーできることを学びました。次は、読み取りトラフィックを分散し、読み取りスループットを向上させる Read Replicas について説明します。

無料で開始

AI チューターと学ぶ Cloud & IT Cert Prep — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
150
レッスン
600

よくある質問

「マルチ AZ と自動バックアップ」レッスンは無料ですか?

はい。「マルチ AZ と自動バックアップ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cloud & IT Cert Prepコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。

「マルチ AZ と自動バックアップ」で何を学びますか?

同期スタンバイレプリケーション用にマルチ AZ を有効にし、自動バックアップの時間帯と保持期間を理解します。 ブラウザで直接実行するハンズオンコードでCloud & IT Cert Prepを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Cloud & IT Cert Prepを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのCloud & IT Cert Prepは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「マルチ AZ と自動バックアップ」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このCloud & IT Cert Prepレッスンでコードを書いて実行できますか?

はい。すべてのCloud & IT Cert Prepレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. RDS エンジンとインスタンスクラス
  2. マルチ AZ と自動バックアップ
  3. 読み取りスケーリングのためのリードレプリカ
  4. RDS のセキュリティ:暗号化とパラメータグループ
← Cloud & IT Cert Prepに戻る