Skip Navigation
Show nav
Heroku Dev Center
  • Get Started
  • ドキュメント
  • Changelog
  • Search
  • Get Started
    • Node.js
    • Ruby on Rails
    • Ruby
    • Python
    • Java
    • PHP
    • Go
    • Scala
    • Clojure
  • ドキュメント
  • Changelog
  • More
    Additional Resources
    • Home
    • Elements
    • Products
    • Pricing
    • Careers
    • Help
    • Status
    • Events
    • Podcasts
    • Compliance Center
    Heroku Blog

    Heroku Blog

    Find out what's new with Heroku on our blog.

    Visit Blog
  • Log inorSign up
View categories

Categories

  • Heroku のアーキテクチャ
    • Dyno (アプリコンテナ)
    • スタック (オペレーティングシステムイメージ)
    • ネットワーキングと DNS
    • プラットフォームポリシー
    • プラットフォームの原則
  • コマンドライン
  • デプロイ
    • Git を使用したデプロイ
    • Docker によるデプロイ
    • デプロイ統合
  • 継続的デリバリー
    • 継続的統合
  • 言語サポート
    • Node.js
    • Ruby
      • Rails のサポート
      • Bundler の使用
    • Python
      • Python でのバックグランドジョブ
      • Django の使用
    • Java
      • Maven の使用
      • Java でのデータベース操作
      • Play Framework の使用
      • Spring Boot の使用
      • Java の高度なトピック
    • PHP
    • Go
      • Go の依存関係管理
    • Scala
    • Clojure
  • データベースとデータ管理
    • Heroku Postgres
      • Postgres の基礎
      • Postgres Getting Started
      • Postgres のパフォーマンス
      • Postgres のデータ転送と保持
      • Postgres の可用性
      • Postgres の特別なトピック
    • Heroku Redis
    • Apache Kafka on Heroku
    • その他のデータストア
  • モニタリングとメトリクス
    • ログ記録
  • アプリのパフォーマンス
  • アドオン
    • すべてのアドオン
  • 共同作業
  • セキュリティ
    • アプリのセキュリティ
    • ID と認証
    • コンプライアンス
  • Heroku Enterprise
    • Private Space
      • インフラストラクチャネットワーキング
    • Enterprise Accounts
    • Enterprise Team
    • Heroku Connect (Salesforce 同期)
      • Heroku Connect の管理
      • Heroku Connect のリファレンス
      • Heroku Connect のトラブルシューティング
    • シングルサインオン (SSO)
  • パターンとベストプラクティス
  • Heroku の拡張
    • Platform API
    • アプリの Webhook
    • Heroku Labs
    • アドオンのビルド
      • アドオン開発のタスク
      • アドオン API
      • アドオンのガイドラインと要件
    • CLI プラグインのビルド
    • 開発ビルドパック
    • Dev Center
  • アカウントと請求
  • トラブルシューティングとサポート
  • Integrating with Salesforce
  • データベースとデータ管理
  • Heroku Postgres
  • Postgres のデータ転送と保持
  • Heroku Postgres のデータの安全性と継続的保護

Heroku Postgres のデータの安全性と継続的保護

日本語 — Switch to English

この記事の英語版に更新があります。ご覧の翻訳には含まれていない変更点があるかもしれません。

最終更新日 2022年11月07日(月)

Table of Contents

  • Heroku Postgres での物理バックアップ
  • 物理バックアップと論理バックアップの比較

Heroku Postgres は、ファイルシステムの増分スナップショットまたはベースバックアップ、および先行書き込みログ (WAL) ファイルを外部の信頼性の高いストレージに保持することによって、継続的保護のために物理バックアップを使用します。この記事では、Heroku Postgres で物理バックアップを実行する方法について説明します。

Heroku Postgres での物理バックアップ

スナップショットはほとんどのデータベースで、データベースが完全に使用可能な間に取得され、インスタンスのディスクのそのままのコピーを作成します。これには、現在実行中のデータベースのデッドタプル、肥大化、インデックス、すべての構造的特性が含まれます。スナップショットを取得する頻度は動的です。変更が平均またはそれより低いデータベースの場合、スナップショットは 24 時間おきに取得されます。もっと頻繁に変更されるデータベースの場合、もっと頻繁に取得されます。

Postgres バージョン 9.5 や、データベースの容量を超過した場合などの一部のケースでは、ベースバックアップが依然として使用されます。ベースバックアップは、データベースが完全に使用可能な間に取得され、Postgres のデータファイルのそのままのコピーを作成します。これには、現在実行中のデータベースのデッドタプル、肥大化、インデックス、すべての構造的特性が含まれます。Heroku Postgres では、ベースバックアップの取得は約 10 MB/秒にレート制限されており、実行中のデータベースで発生する負荷は最小限に抑えられます。

コミットされたトランザクションは WAL ファイルとして記録されます。このファイルは、スナップショットまたはベースバックアップ上で再生できるため、これによりデータベースの状態を完全に再構成する方法が提供されます。スナップショットは AWS の S3 オブジェクトストアに直接格納されます。ベースバックアップと WAL ファイルは、Postgres によって使用可能になるとすぐに、WAL-E​ という名前のアプリケーションを使用して S3 にプッシュされます。

Heroku Postgres によって管理されるデータベースはすべて、スナップショット、ベースバックアップ、および WAL ファイルを S3 に保持することによって継続的保護を提供します。また、スナップショットまたは永続的なベースバックアップと WAL ファイルをフェッチし、それを新しい Postgres インストール上で再生することによって、フォーク​とフォロワー​のデータベースが実装されます。これらの物理バックアップを可用性の高いオブジェクトストアに保存することにより、ハードウェア障害、データ破損、または大規模なサービス中断が発生した場合にデータベース全体を復旧することもできます。

すべての Heroku Postgres データベースが継続的な物理バックアップによって保護されます。これらのバックアップはデータベースと同じリージョンに格納され、Standard 層以上のデータベースで Heroku Postgres ロールバック​経由で取得されます。ただし、Essential 層のデータベースでは​ロールバック、フォーク、フォロワーが提供されません。

 

これらのスナップショット、バイナリベースバックアップ、および WAL ファイルは、その性質のために、ソースデータベースと同じアーキテクチャ、メジャーバージョン、ビルドオプションを備えた Postgres インストールにしか復元できません。つまり、Postgres の複数のアーキテクチャやメジャーバージョンにわたってアップグレード​するには、論理バックアップを完了する必要があります。

物理バックアップと論理バックアップの比較

Postgres で使用可能なバックアップのタイプは、物理バックアップと論理バックアップに大きく分類されます。Heroku Postgres での物理バックアップはそのままのコピーですが、論理バックアップはデータベース内の特定のオブジェクトのスキーマやデータの SQL のようなダンプです。

物理バックアップは、完全な障害復旧の場合に便利で、使用可能なデータ耐久性の計算量の最も少ない方法のいくつかを提供しますが、データの復元方法は非常に制限されています。論理バックアップはそれより柔軟ですが、非常に低速で、バックアップや復元中に膨大な計算リソースを必要とする場合があります。

すべての Heroku Postgres データベースが継続的な物理バックアップによって保護されますが、データの可搬性を高めるために、必要に応じて論理バックアップを取得することも選択できます。論理バックアップは、テスト、ステージング環境の設定、データの移行について柔軟性が高くなっています。詳細は、「Heroku Postgres Logical Backups​」 (Heroku Postgres の論理バックアップ) を参照してください。

関連カテゴリー

  • Postgres のデータ転送と保持
MySQL から Heroku 上の Postgres への移行 Heroku Postgres の論理バックアップ

Information & Support

  • Getting Started
  • Documentation
  • Changelog
  • Compliance Center
  • Training & Education
  • Blog
  • Podcasts
  • Support Channels
  • Status

Language Reference

  • Node.js
  • Ruby
  • Java
  • PHP
  • Python
  • Go
  • Scala
  • Clojure

Other Resources

  • Careers
  • Elements
  • Products
  • Pricing

Subscribe to our monthly newsletter

Your email address:

  • RSS
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku Blog
    • Heroku News Blog
    • Heroku Engineering Blog
  • Heroku Podcasts
  • Twitter
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku
    • Heroku Status
  • Facebook
  • Instagram
  • Github
  • LinkedIn
  • YouTube
Heroku is acompany

 © Salesforce.com

  • heroku.com
  • Terms of Service
  • Privacy
  • Cookies
  • Cookie Preferences