カテゴリ: 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処理やログ解析にも活用できます。

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の一覧へ
新着記事
IAM Identity Centerの許可セットとポリシーの関係を解説
IAM Identity Centerの許可セットとポリシーの関係を初心者向けにわかりやすく解説!
Java の正規表現で「数字」や「英字」だけをチェックする方法
Javaの正規表現で「数字」や「英字」だけをチェックする方法を初心者向けに完全解説
Java で正規表現を使う方法(Pattern クラスと Matcher クラス)
Javaで正規表現を使う方法を完全解説!PatternクラスとMatcherクラスを初心者向けにやさしく説明
FlutterでQRコードの生成・読み取りをする方法
FlutterでQRコードの生成・読み取りを実装する方法!初心者でもできるQRアプリ開発
人気記事
インスタンスタイプの料金比較と最適な選び方(最新2025年版)
AWSのインスタンスタイプの料金比較と最適な選び方【2025年最新版】
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説