災害復旧戦略の一環として、S3バケットへの定期的なMySQLダンプの実行を調査しています(インバウンドデータ転送の現在のゼロコストによって部分的に拍車がかかっています!)。災害が発生した場合、ダンプファイルをS3から新しいRDSインスタンスに復元したいと思います。広範囲な検索にもかかわらず、私はこれの例を見つけることができません。これが可能かどうか誰かが知っていますか?
少し説明すると、これは500GBの書き込み負荷の高い読み取りライトの24時間年中無休のMySQLデータベースです。 MySQLレプリケーションをスレーブに使用することを計画しています。ホスト障害が発生した場合にダンプを取得してS3に送信できます(レプリケーションマスターとスレーブに同じホスティングプロバイダーを使用していますが、それらは異なるデータセンターにあります) )。
現在、RDSにはそのような機能はありません。
https://forums.aws.Amazon.com/message.jspa?messageID=21385
しかし、AWS担当者はこの手順をお勧めします。
これには、CLI( "-")で AWS CLIツール およびSTDINを使用できます。
mysql -u db_user -ppassword database_name < aws s3 cp s3://mysqldump_bucket_name/mysqldump.sql -
-
の一部 aws s3 cp
コマンドは、mysqlによって読み取られるSTDOUTに出力をパイプします。
自分のマシンで実行されているmysqlサーバーをRDS mysqlにバックアップしようとしたとき、それは私にとってはうまくいきました。 (私のマシンはWindowsを実行していましたが、Linux mysqlダンプでも動作するはずです)
mysqldump -u root -p --databases 'mydatabase' > dump.sql
次に、RDSインスタンスにアップロードするだけです。
mysql -h myrds.com -u myuser -p < dump.sql