AWS RDS for MySQLを使用しています。バックアップに関しては、Amazonが自動バックアップとデータベース(DB)スナップショットの2種類のバックアップを提供していることを理解しています。違いを説明します ここ 。ただし、まだ混乱しています。自動バックアップのみ、または自動と手動の両方(dbスナップショット)を使用する必要がありますか?
みんなどう思いますか?あなた自身のセットアップは何ですか?他のユーザーから、DBインスタンスがクラッシュしたときにDBスナップショットがあなたを救う方法である場合、一部の回復不可能なデータベースが原因で自動バックアップは信頼できないと聞いています。自動バックアップと同様の設定として毎日のDBスナップショットを実行する場合、多額の費用を支払うことになります。
誰かが私を啓蒙したり、正しい設定を私に助言したりできることを願っています。
個人的な経験から、両方を行うことをお勧めします。自動バックアップを8日に設定していて、1日に1回スナップショットを取り、7日より古いスナップショットを削除するスクリプトもあります。その理由は、私が理解しているところによると、自動バックアップから復元できない状況があるためです。たとえば、RDSインスタンスを誤って削除し、最終スナップショットを作成しなかった場合、実行された自動バックアップにアクセスできなくなります。ただし、自動バックアップを有効にしておくと、ポイントインタイムリストアが可能になるので便利です。
お役に立てれば。
[〜#〜]編集[〜#〜]
あなたのコメントに答えるために、私はスクリプトがスナップショットを作成するときに特定の命名規則を使用します。何かのようなもの:
autosnap-インスタンス名-2012-03-23
クリーンアップを行うと、すべてのスナップショットが取得され、その命名規則が検索され、日付が解析され、特定の日付より古いものが削除されます。
スナップショットの作成日も確認できると思いますが、これが結局のところです。
個人的な経験から、昨日私は誤ってテーブルを削除し、RDSスナップショットから復元する必要がありました。最新のスナップショットはわずか10分前のもので、完璧でした。ただし、Amazon RDSがスナップショットをオンラインにするまでに約3時間かかりました。その間、サイトの影響を受けるセクションは完全にオフラインでした。
したがって、非常に迅速なリカバリを行う必要がある場合は、RDSバックアップに依存しないでください。
スナップショットをダウンロードしてデータベースダンプを表示することはできません。あなたの唯一の選択肢は、それが新しいデータベースインスタンスにロードされるのを待つことです。したがって、単一のテーブルを復元することだけを目的としている場合、RDSバックアップは非常に困難なプロセスになる可能性があります。
アマゾンのせいではありません-彼らは素晴らしいです。しかし、それは私たちにとっての学習経験だったので、計画するときに心に留めておくべきことだけです。