web-dev-qa-db-ja.com

AWSRDSナイトリーステージングデータベース

AWSでRDSサービスを構成して次のことを実行できるかどうかを判断しようとしていますが、Google検索ではあまりうまくいきませんでした。

  1. インスタンスのバックアップを実行するときに、RDSインスタンスを自動的に削除し、バックアップを使用して新しいインスタンスを起動するようにします。ここでの使用例は、本番データベースの夜間バックアップで、本番データに影響を与えることなくテストで使用する新しい「ステージング」データベースを生成することです。ステージングデータベースのデータを変更するとレプリケーションが効果的に中断されるため、これをレプリケーションタイプの関数にすることはできません。

  2. インスタンスのバックアップを行うときに、ファイルをFTPサーバーに自動的にコピーするようにします。これは、開発のためにローカルデータベースを更新するために、いつでも夜間のコピーをプルできるようにするためです。

私はいくつかのdevopsプロセスの改善を検討しており、ローカルコピーを最新の状態にしたり、ステージングサーバーに追いついたりするために、本番データベースを手動でダンプする必要があることにうんざりしています。上記がAWS経由で不可能な場合、これを実行しようとする一連のAWSコンソールコマンドを実行するbashスクリプトの作成に問題があるかどうか、またはどのような問題が発生する可能性があるかを誰かが知っていますか?

[〜#〜]リファレンス[〜#〜]http://docs.aws.Amazon.com/AmazonRDS/latest/UserGuide /Overview.BackingUpAndRestoringAmazonRDSInstances.html

6
Jeremy Harris

1)これを達成するための事前に利用可能な自動方法はないと確信しています。いつの日か、RDSバックアップが発生した後にイベントを受信する方法が教えられれば、AWSLambdaはおそらく可能になるでしょう。

2)RDSバックアップの機能を誤解していると思います。実際には、RDSインスタンス(つまり、RDSインスタンスが実行されている非表示のEC2インスタンス)のスナップショットを取得します。 AWSの外部で取得、保存、または使用できるデータベースダンプファイルはありません。 RDSインスタンスのバックアップを復元すると、実際にはスナップショットから一時的に新しいRDSインスタンスが起動され、データがラウンドでコピーされます(または復元されたインスタンスにアプリがポイントされます)。

DB固有のダンプツール(mysqldump、pg_dump、またはSQLServerの場合は何でも)を使用するスクリプトを使用して、本番RDSインスタンスから本番データベースをダンプし、それを既存のステージングRDSにインポートすることを強くお勧めします。たとえば、好きなスケジュールで。

6
Craig Miskell