[AWS]Aurora RDS の Export to S3を試してみた
背景
ゴリゴリ系エンジニアのパイオニア、pageoです。
先日、AWS公式より「Amazon Aurora supports cluster export to S3」という題でAuroraに関するアップデートニュースがありました。
上記のリンクを見ていただければわかるのですが、リリース内容を適当に意訳すると"Auroraはスナップショット取らんでも、直接S3にApache Parqet形式でデータエクスポートできるようになったべよ"とのこと。
なんと!!これは大変ありがたい!!
S3にデータエクスポートする場合、今までは以下の画像のように「Aurora RDSでスナップショット作成 → EventBridgeでスナップショット作成完了を検知 → Lambda起動 → LambdaでS3へのExport Taskを起動 → 特定S3 Bucketにデータエクスポート」を自前で実装する必要がありました
今回のアップデートで、上記のフローが以下の図のように簡潔なフローのみで完了できるようになりました!
ありがたや、、、🙏
ということで、今回の記事では実際にAuroraからS3に直接Exportできる機能を試してみたいと思います。
実践
該当のRDSを選択し、Actionsから"Export to Amazon S3 - new"を押下してみます。
(これを見つけるのに5分ほどかかりました、、)
以下がExport to Amazon S3の設定値入力ページです
設定できる値は以下です(SnapshotからのExport Taskの設定と同じですね)
-
Export identifier
- Export名の設定
-
Exported data
- "All" or "Partial"を選択
- All: 全てのテーブルをエクスポート
- Prtial: 特定のテーブルのみエクスポート
- "All" or "Partial"を選択
-
S3 destination
-
S3 Bucket
- エクスポート先のS3 Bucketを指定
-
S3 Prefix
- エクスポート先のPrefix名を設定
-
S3 Bucket
-
IAM role
- エクスポート先S3 Bucketにアクセスする際のIAM Roleを設定
-
Encryption
- エクスポート時のデータ暗号化に使うKMS Keyを選択
実際に"Export to Amazon S3"ボタンを押下してエクスポートしてみると、
こちらの画面に遷移します。
"Status"がStartingになっているのが確認できます。
該当DBを選択して"Maintenance & backups"タブを開くと下の方に、"Exports In Amazon S3"が追加されていることが確認できます。
20~30分後(データ量に依る)にエクスポート先のS3 Bucketをみてみると、
以下のようにApache Prquet形式でエクスポートされているのが確認できます。
(SnapshotからのExport Taskとアウトプットの形式(フォルダ構成/アウトプットファイルなど)が同じですね)
最後に
痒いところも見逃さずに継続的にアップデートしてくれるのがAWSの良いところですよね。
今後も継続的に細かいアップデートにアンテナ張って、有用なものがあれば適宜記事を書いていこうと思います。
Discussion