web-dev-qa-db-ja.com

RDS Postgresを「オフサイト」で安全にバックアップするためのベストプラクティス?

RDSでPostgresを実行していますが、これは非常に優れています。ただし、それに関する大きな問題はAWSのセキュリティモデルであり、さまざまなアクセス許可を持つすべてのユーザーがすべてを削除できる-DB、バックアップ、全部。

特に、IAMユーザーとグループを作成するアクセス権を持つユーザーが、自分よりも多くのアクセス許可を新しいユーザーに付与できないようにすることはできません。そのため、認証情報が侵害されたり、不満を抱いた従業員がすべてRDS独自のバックアップに依存している場合。

編集:

問題が何であるか疑問に思っている場合に備えて、 http://www.infoworld.com/article/2608076/data-center/murder-in-the-Amazon-cloudをざっと読んでください。 html

したがって、行うべき「賢明な」ことは、基本的に誰もアクセス権を持たない別個のAWSアカウントを持ち、S3までのものを書き込むことができるキーを持っていることです(そして、もしあなたが空想ならば、おそらくそれを読み返すことができます、これはおそらくオプションです)。

このようにして、メインのAWS管理者ができないアカウントに物事をバックアップし、偶然または設計により、データを削除してから、ライフサイクルルールを使用して管理できます。

ビルドが長すぎて申し訳ありません。RDS(または実際にはAWS)を使用しているほとんどの人にとって、これを行う必要があるのは明らかであるため、これまでに人々がこれに質問/回答したことがないようです。 ..

このためにPostgresを賢明な方法でバックアップするにはどうすればよいですか?

考慮すべき事項:

  • ストレージスペースなどは無限ではないため、S3に対して完全なpg_dump/gzip/encrypt/uploadを実行したくないのが理想的です。これは明らかな解決策です。おそらくやり過ぎです。
  • 「コア」サーバーにアクセスできないため、「通常」のように差分タイプのバックアップを実行できません

Pg_dumpを実行してから、ある種のdiffプログラムを使用して、diffのみをアップロード/保存しますか? pg_dumpは特定の順序で生成されるとは思わないので、これが(意図した方法で)機能するかどうかはわかりません。

他のアイデアはありますか?

手動のスナップショット共有の使用方法を知っています- https://aws.Amazon.com/blogs/aws/Amazon-rds-update-cross-account-snapshot-sharing/ -暗号化されていないRDSを使用している場合うまく機能します-しかし、私たちはそうではありません。 」.

6
Pete Storey

私は、dbにアクセスできるAWSの別のマシンでのあなたの考え方が、一般的にそれを行う正しい方法だと思います。インクリメンタルバックアップを作成する「通常の」方法(「実際の」データベースを使用)は、 PITRという名前のポイントインタイムリカバリ。この用語とPostgreSQLを検索すると、一般的な増分データベースバックアップの実行方法に関するチュートリアルが見つかります。AWSを使用してそれらを実装するかどうかは、あなた次第です。

1
Ivan Voras

この質問には2つの角度から出ます。

技術的コントロール

少し長い目標復旧時点(RPO)(おそらく週に1回)を処理できる場合、実際にpg_dumpを使用するという提案が気に入っています。問題のデータベースが数百GBの場合、バックアップはローカルにSMB grade NASに保存できます。また、別のアカウントのS3に保存することもできます。コストを節約するには、 Amazon Glacier も優れたオプションで、暗号化されたtarballを別のクラウドサービスに保存することもできます(Dropboxでも機能します)。

手続き型コントロール

要は、someoneがAWSアカウントを完全に管理できる必要があります。データの破壊と盗難には、民事上および刑事上の重大な罰則があります。したがって、内部の脅威からの保護がいくつかあります。ただし、投稿では、ルートAWSアカウントを外部の攻撃者から保護することの重要性が強調されています(MFAは必須です)。

コードとしてのインフラストラクチャ

一般的な AWSのベストプラクティス について検討する必要があるのは、リソースをコードとして定義する必要があることです。コードはバージョンコントロールシステム(VCS)に保存でき、ローカルにバックアップする必要があります(100年のDVDは物理的なバックアップに適しています)。したがって、すべてのデータをローカルでバックアップできる場合(問題の根源に戻る場合)、インフラストラクチャの再構築を自動化できます。ただし、この質問は、データストレージをAWSのみに依存するリスクを強調しています。

0
Zerodf