0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS Backupクロスリージョン復元の実践:異なるリージョンのバックアップから元リージョンで復旧する方法

Posted at

概要

AWS Backupでクロスリージョンにコピーしたバックアップは、コピー先リージョンから直接元リージョンで復元できません。本記事では、復旧ポイントを元リージョンにコピーしてから復元する手順を、CLI操作とベストプラクティスと共に解説します。

目次

  1. はじめに - AWS Backupクロスリージョン復元の課題
  2. AWS Backupの基本的な仕組み
  3. クロスリージョンバックアップの制約事項
  4. 復旧ポイントのコピーと復元手順
    • 4.1 事前準備
    • 4.2 復旧ポイントの確認
    • 4.3 復旧ポイントのコピー実行
    • 4.4 コピー後の復元作業
  5. 実践的なユースケースと注意点
  6. 料金とパフォーマンスの考慮事項
  7. 終わりに

1. はじめに - AWS Backupクロスリージョン復元の課題

災害復旧(DR)対策として、AWS Backupを使って異なるリージョンにバックアップを保存している企業は多いでしょう。しかし、実際に障害が発生した際に、コピー先リージョンのバックアップから直接元リージョンで復元することはできません。

この制限により、DR実行時には以下の手順が必要になります:

  1. コピー先リージョンの復旧ポイントを確認
  2. 復旧ポイントを元リージョンにコピー
  3. 元リージョンでコピーされた復旧ポイントから復元

本記事では、この一連の流れを実際のCLI操作と共に詳しく解説します。

image.png

2. AWS Backupの基本的な仕組み

AWS Backupは、複数のAWSサービスのバックアップを一元管理できるフルマネージドサービスです。主要な構成要素は以下の通りです:

  • バックアップボルト:復旧ポイントを保存する論理的なコンテナ
  • バックアッププラン:バックアップスケジュールと保持ルールを定義
  • 復旧ポイント:特定の時点のデータの完全なコピー
  • リソース割り当て:バックアップ対象リソースの指定

クロスリージョンバックアップにより、プライマリデータから離れた場所にバックアップデータのコピーを保存し、事業継続性、災害復旧、コンプライアンス要件を満たしやすくなります。

3. クロスリージョンバックアップの制約事項

AWS Backupのクロスリージョンコピーには、理解しておくべき重要な制約があります。これらの制約を事前に把握しておくことで、DR計画を適切に立案できます。

3.1 継続的バックアップの制限

クロスリージョンまたはクロスアカウントで継続的バックアップのコピーを作成すると、コピーされた復旧ポイントはスナップショット(定期的)バックアップになり、これらのコピーではPITR(ポイントインタイム復元)は利用できません。

3.2 直接復元の制限

コピー先リージョンに保存された復旧ポイントから、直接元リージョンで復元することはできません。復旧ポイントを元リージョンにコピーしてから復元する必要があります。

3.3 RDS Oracle固有の制約事項

オプショングループのコピー制限

AWS Backupではオプショングループを異なるAWSリージョンにコピーすることができません。これはRDS for Oracleを使用している場合に特に重要な制限となります。

# Oracleのオプショングループを含むRDSのクロスリージョンコピーは失敗する
aws backup start-copy-job \
  --source-recovery-point-arn "arn:aws:backup:ap-northeast-1:123456789012:recovery-point:xxx" \
  --destination-backup-vault-arn "arn:aws:backup:us-west-2:123456789012:backup-vault:vault"
# エラー: "You can't copy an option group to another AWS Region"

対処法:

  • 事前にコピー先リージョンで同等のオプショングループを手動作成
  • 復元時にメタデータでオプショングループを明示的に指定

パラメータグループとオプショングループの不一致

クロスリージョン復元時には、コピー先リージョンで利用可能なエンジンバージョンとオプションの組み合わせが、ソースリージョンと異なる場合があります。

3.4 暗号化に関する制約事項

KMS暗号化キーの制限

AWS Backupは、アカウントまたはリージョン間でバックアップをコピーする際、ほとんどのリソースタイプで自動的に暗号化を行います。ただし、以下の制限があります:

  • デフォルトのaws/ebsキーで暗号化されたリソースは、クロスアカウント共有ができません
  • カスタマーマネージドキーを使用している場合、コピー先でのキーアクセス権限の設定が必要
# カスタマーマネージドキーでの暗号化を確認
aws backup describe-recovery-point \
  --backup-vault-name my-vault \
  --recovery-point-arn "arn:aws:backup:ap-northeast-1:123456789012:recovery-point:xxx" \
  --query 'EncryptionKeyArn'

3.5 サービス別の制約事項一覧

サービス 主な制約事項 対処法
RDS Oracle オプショングループのコピー不可 手動でオプショングループ作成
RDS MySQL/PostgreSQL パラメータグループ情報の引き継ぎなし 復元後に手動設定
Aurora 継続バックアップのPITR制限 スナップショットベースのDR戦略採用
EBS 同時コピージョブ数制限(20件/リージョン) バッチ処理での順次実行
DocumentDB 特定バージョンでの制限あり バージョン互換性の事前確認
Neptune グラフデータベース固有の制限 復元テストでの検証必須

3.6 ストレージ階層の制限

AWS Backupは、コールドティアストレージのクロスリージョンコピーをサポートしていません。長期保存用のバックアップをクロスリージョンでコピーする場合は、この点を考慮した保持ポリシーの設計が必要です。

3.7 同時実行とレート制限

コピージョブの同時実行制限

  • 1つのAWSアカウントあたり、リージョン別に同時実行できるコピージョブ数に制限があります
  • 大量のバックアップを一度にコピーする場合は、バッチ処理による段階的実行が必要
# 現在実行中のコピージョブを確認
aws backup list-copy-jobs \
  --by-state RUNNING \
  --region us-west-2 \
  --query 'length(CopyJobs)'

これらの制約事項を理解し、事前にテスト環境で検証することで、実際のDR実行時の問題を回避できます。

image.png

4. 復旧ポイントのコピーと復元手順

4.1 事前準備

復旧作業を開始する前に、以下の準備を行います:

# AWS CLIの設定確認
aws configure list

# 元リージョンとコピー先リージョンの設定
SOURCE_REGION="ap-northeast-1"
DEST_REGION="us-west-2"
BACKUP_VAULT_NAME="my-backup-vault"

4.2 復旧ポイントの確認

まず、コピー先リージョンで利用可能な復旧ポイントを確認します:

# コピー先リージョンの復旧ポイント一覧を取得
aws backup list-recovery-points-by-backup-vault \
  --backup-vault-name $BACKUP_VAULT_NAME \
  --region $DEST_REGION \
  --query 'RecoveryPoints[*].[RecoveryPointArn,CreationDate,ResourceType]' \
  --output table

特定のリソースの復旧ポイントを検索する場合:

# 特定のRDSインスタンスの復旧ポイントを検索
aws backup list-recovery-points-by-resource \
  --resource-arn "arn:aws:rds:ap-northeast-1:123456789012:db:mydb" \
  --region $DEST_REGION \
  --query 'RecoveryPoints[*].[RecoveryPointArn,CreationDate,Status]' \
  --output table

4.3 復旧ポイントのコピー実行

復旧ポイントを元リージョンにコピーします:

# 復旧ポイントのARNを設定
RECOVERY_POINT_ARN="arn:aws:backup:us-west-2:123456789012:recovery-point:xxxxx-xxxxx"

# 元リージョンのバックアップボルトARN
DEST_VAULT_ARN="arn:aws:backup:ap-northeast-1:123456789012:backup-vault:my-backup-vault"

# 復旧ポイントをコピー
aws backup start-copy-job \
  --source-recovery-point-arn $RECOVERY_POINT_ARN \
  --destination-backup-vault-arn $DEST_VAULT_ARN \
  --iam-role-arn "arn:aws:iam::123456789012:role/service-role/AWSBackupDefaultServiceRole" \
  --region $DEST_REGION

コピージョブの進行状況を確認:

# コピージョブのステータス確認
aws backup list-copy-jobs \
  --region $SOURCE_REGION \
  --query 'CopyJobs[*].[CopyJobId,State,CreationDate,CompletionDate]' \
  --output table

4.4 コピー後の復元作業

コピーが完了したら、元リージョンで復元を実行します:

# 元リージョンでコピーされた復旧ポイントを確認
aws backup list-recovery-points-by-backup-vault \
  --backup-vault-name $BACKUP_VAULT_NAME \
  --region $SOURCE_REGION \
  --query 'RecoveryPoints[?Status==`COMPLETED`].[RecoveryPointArn,CreationDate]' \
  --output table

# 復元ジョブを開始(RDSの例)
aws backup start-restore-job \
  --recovery-point-arn "arn:aws:backup:ap-northeast-1:123456789012:recovery-point:xxxxx" \
  --metadata '{
    "DBInstanceIdentifier": "restored-db-instance",
    "DBInstanceClass": "db.t3.micro",
    "Engine": "mysql"
  }' \
  --iam-role-arn "arn:aws:iam::123456789012:role/service-role/AWSBackupDefaultServiceRole" \
  --region $SOURCE_REGION

image.png

5. 実践的なユースケースと注意点

5.1 典型的なDRシナリオ

以下のような状況で、この手順が必要になります:

シナリオ 対応方法 所要時間目安
リージョン全体の障害 他リージョンから復旧ポイントをコピーして復元 30分-2時間
データセンター障害 同一手順で対応 30分-2時間
大規模データ損失 最新の復旧ポイントから復旧 15分-1時間

5.2 運用上の注意点

1. IAM権限の事前設定

# 必要な権限を持つIAMロールの確認
aws iam get-role \
  --role-name AWSBackupDefaultServiceRole \
  --query 'Role.AssumeRolePolicyDocument'

2. 復旧ポイントの保持期間
復旧ポイントの保持期間を適切に設定し、DR実行時に必要な復旧ポイントが利用可能であることを確認してください。

3. 定期的なDRテスト
本番環境でのDR実行前に、定期的にテスト環境でDR手順を検証することを強く推奨します。

4. ネットワーク設定の考慮
復元したリソースが適切なVPCやセキュリティグループに配置されるよう、メタデータを正しく設定してください。

6. 料金とパフォーマンスの考慮事項

6.1 料金体系

AWS Backupクロスリージョンコピーの主要な料金要素:

  • ストレージ料金:コピー先リージョンでのバックアップストレージ料金
  • データ転送料金:リージョン間でのデータ転送にかかる料金
  • 復元料金:復旧ポイントからのデータ復元にかかる料金

東京リージョンから米国西部へのコピーの場合、データ転送料金は$0.09/GBとなります(2024年現在)。

6.2 パフォーマンス最適化

1. 復旧時間の短縮

  • 最新の復旧ポイントを定期的に確認
  • 自動化スクリプトの事前準備
  • 復元先リソースの事前プロビジョニング

2. コスト最適化

  • 不要な復旧ポイントの定期削除
  • ライフサイクルポリシーの適切な設定
  • 頻度の低いアクセス用ストレージクラスの活用

7. 終わりに

AWS Backupを使ったクロスリージョンDR対策では、復旧ポイントを元リージョンにコピーしてから復元する手順が必要です。本記事で紹介した手順を参考に、以下のステップでDR体制を整備することをお勧めします:

  1. DRシナリオの文書化:想定される障害パターンと対応手順を明文化
  2. 自動化スクリプトの作成:手動操作を減らし、復旧時間を短縮
  3. 定期的なDRテスト:手順の検証と改善を継続的に実施

次のステップとして、AWS CloudFormationやAWS CDKを使った復旧手順の自動化や、AWS Systems Manager Run Commandを活用した復旧作業の効率化も検討してみてください。

参考文献・参考サイト

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?