カテゴリ: AWS RDS 更新日: 2025/10/14

【AWS】RDSのバックアップをS3に保存・復元する手順を初心者向けに徹底解説

255
【AWS】RDSのバックアップをS3に保存・復元する手順を解説

先生と生徒の会話形式で理解しよう

生徒

「先生、AWSのRDSってバックアップをS3に保存できるんですか?」

先生

「はい、できますよ。RDSのデータベースを自動バックアップだけでなく、手動でエクスポートしてS3バケットに保存することも可能です。」

生徒

「なるほど!でも、どうやって設定すればいいんですか?」

先生

「それでは、RDSのバックアップをS3に保存して、復元する具体的な手順を初心者向けに解説していきましょう。」

1. RDSのバックアップをS3に保存するメリット

1. RDSのバックアップをS3に保存するメリット
1. RDSのバックアップをS3に保存するメリット

AWSのRDSは、標準で自動バックアップ機能を提供しています。しかし、それだけでは保存期間が限られたり、リージョン外で利用できなかったりします。そこでS3にバックアップを保存することで、以下のようなメリットがあります。

  • 長期間のデータ保存が可能
  • 別リージョンや別アカウントでの利用が簡単
  • データ分析基盤(AthenaやRedshift)への連携が容易
  • コスト効率の良いストレージに保存できる

つまり、RDSのバックアップをS3にエクスポートすることは、データ保護や業務継続の観点から非常に重要です。

2. 事前準備:IAMロールとS3バケットの設定

2. 事前準備:IAMロールとS3バケットの設定
2. 事前準備:IAMロールとS3バケットの設定

RDSからS3にバックアップを保存するには、IAMロールとS3バケットの準備が必要です。

  1. S3バケットの作成 バックアップを保存するためのS3バケットを作成します。バケット名は一意である必要があります。
  2. IAMロールの作成 RDSがS3へアクセスできるように、AmazonS3FullAccess または AmazonS3ReadWriteAccess を付与したIAMロールを用意します。
  3. ポリシーのアタッチ 作成したロールに必要なポリシーをアタッチして、RDSインスタンスに関連付けます。

これらの準備を整えることで、RDSからS3へ安全にデータを転送できるようになります。

3. RDSスナップショットをS3にエクスポートする手順

3. RDSスナップショットをS3にエクスポートする手順
3. RDSスナップショットをS3にエクスポートする手順

具体的に、RDSスナップショットをS3にエクスポートする手順を説明します。

  1. AWSマネジメントコンソールにログインし、RDSサービスを開きます。
  2. 対象のデータベースを選び、スナップショットを作成します。
  3. 作成されたスナップショットを選択し、S3へのエクスポートを実行します。
  4. エクスポート先のS3バケットとIAMロールを指定します。
  5. ジョブが完了すると、指定したS3バケットにバックアップデータ(Parquet形式)が保存されます。

この方法でS3に保存したデータは、Big Data処理やログ解析にも活用できます。

AWSの基本用語や仕組みを、図解でサクッと理解したい人には、 入門の定番書がこちらです。

AWSの基本が全部わかる教科書をAmazonで見る

※ Amazon広告リンク

4. S3からRDSへデータを復元する方法

4. S3からRDSへデータを復元する方法
4. S3からRDSへデータを復元する方法

S3に保存したデータをそのままRDSに復元することはできません。復元には以下の流れを踏みます。

  1. S3からデータを取り出す S3に保存されているデータはParquet形式になっているため、AthenaやGlueを使って読み出します。
  2. CSVやSQL形式に変換 復元対象のテーブルデータを抽出し、CSVやSQLファイルに変換します。
  3. AWS DMSやpsqlコマンドでインポート AWS Database Migration Service(DMS)やクライアントツールを使い、変換したデータをRDSにロードします。

完全自動ではありませんが、データ形式を整えることでS3のバックアップからRDSへの復元が可能になります。

5. AWS CLIを使ったエクスポートの例

5. AWS CLIを使ったエクスポートの例
5. AWS CLIを使ったエクスポートの例

初心者の方でもコマンドラインから操作できるよう、AWS CLIを使ったエクスポート方法を紹介します。


aws rds start-export-task \
    --export-task-identifier my-rds-export \
    --source-arn arn:aws:rds:ap-northeast-1:123456789012:snapshot:rds-snapshot-20230830 \
    --s3-bucket-name my-rds-backup-bucket \
    --iam-role-arn arn:aws:iam::123456789012:role/myRdsExportRole \
    --kms-key-id arn:aws:kms:ap-northeast-1:123456789012:key/abcd-efgh-1234

このコマンドで、指定したスナップショットをS3にエクスポートできます。復元時には、保存されたデータを整形してRDSに戻す流れになります。

6. 初心者がつまずきやすいポイントと注意点

6. 初心者がつまずきやすいポイントと注意点
6. 初心者がつまずきやすいポイントと注意点
  • S3バケットの権限設定が不足していると、エクスポートが失敗する
  • IAMロールに適切なポリシーを付与していないとアクセスエラーが発生する
  • S3から直接RDSに復元はできないため、データ変換が必要
  • KMSキーを指定しないと暗号化が有効化されない

これらを事前に理解しておくことで、スムーズにRDSのバックアップと復元を実施できます。

AWS RDSの一覧へ
新着記事
Java
Java のカプセル化とは?データを安全に管理する仕組み
Java のカプセル化とは?データを安全に管理する仕組みを解説
Java
Java の継承の制約(final クラスや final メソッドの扱い)
Java の継承の制約を完全解説!final クラスや final メソッドの扱いを初心者向けにやさしく解説
AWS
【AWS】CLIで環境変数を使った安全な認証情報管理
【AWS CLI】環境変数で安全に認証情報を管理する方法を徹底解説!初心者向けセキュリティ対策ガイド
Java
Java のコンストラクタと継承(親クラスのコンストラクタを呼ぶ方法)
Java のコンストラクタと継承(親クラスのコンストラクタを呼ぶ方法)を初心者向けにやさしく解説
人気記事
AWS
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
AWS
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
AWS
インスタンスタイプの料金比較と最適な選び方(最新2026年版)
AWSインスタンスタイプの料金比較と最適な選び方!初心者でもわかる2025年最新ガイド
AWS
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク