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
      • Bundler の使用
      • Rails のサポート
    • Python
      • Python でのバックグランドジョブ
      • Django の使用
    • Java
      • Maven の使用
      • Java でのデータベース操作
      • Play Framework の使用
      • Java の高度なトピック
      • Spring Boot の使用
    • 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 の外部からの Heroku Postgres データベースへの接続

Heroku の外部からの Heroku Postgres データベースへの接続

日本語 — Switch to English

最終更新日 2021年12月28日(火)

Heroku Postgres データベースは、Heroku アプリと共に使用するために設計されています。すべての Heroku Postgres データベースには、対応する Heroku アプリケーションがあります。アプリケーションの名前は data.heroku.com​ のデータベースページで確認できます。データベースは Heroku アプリにアタッチされており、アプリケーション自体ではコードをホストしていない場合でも、データベース URL を含むアプリ環境設定​を介してアクセスできます。この設定は Heroku によって管理され、データベースのネットワークの場所と資格情報は基本的にここから取得します。

ただし、Private tier と Shield tier のデータベース​を除き、Heroku Postgres データベースはどこからでもアクセスでき、標準の Postgres クライアントを使用しているどのアプリケーションからも使用できます。Private データベースの場合、Mutual TLS​ を使用して外部アクセスを有効化できます。

Heroku アプリケーション以外の場所で Heroku Postgres データベースを効果的に使用するには、以下の点に注意してください。

資格情報を別の環境やアプリのコードにコピーして貼り付けないようにする

データベース URL は Heroku によって管理され、以下のような場合には変更されます​。

  • ユーザーが heroku pg:credentials:rotate​ を使用してデータベースの資格情報の変更を開始した。
  • 壊滅的なハードウェア障害が発生し、Heroku Postgres のスタッフが新しいハードウェア上にデータベースを復旧する必要がある。
  • セキュリティの問題または脅威に対処するため、Heroku Postgres のスタッフがデータベースの資格情報を変更する必要がある。
  • HA​ 対応プランでの自動フェイルオーバーイベント。

データベース URL の環境設定は常に、アプリケーションの起動時に、対応する Heroku アプリから取得してください。たとえば、12Factor アプリケーション設定の原則​に従い、Heroku CLI​ を使用して次のようにプロセスを起動できます。

DATABASE_URL=$(heroku config:get DATABASE_URL -a your-app) your_process

こうすれば、プロセスまたはアプリケーションで常に、正しいデータベース資格情報を確実に取得できます。

データベースをアドオンとして別の Heroku アプリにアタッチする

他の Heroku アプリからデータベースに接続している場合、複数のアプリケーションにデータベースアドオンを直接アタッチ​できます。これにより、データベースの URL の変更が確実に、自動で他のアプリに伝播します。

SSL を有効にする

アプリケーションから Heroku Postgres データベースに接続するには、アプリケーションで SSL をサポートし、有効にする必要があります。ほとんどのクライアントではデフォルトで SSL を使用して接続しますが、接続する前に sslmode=require​ クエリパラメータをデータベース URL に追加することが必要な場合があります。

DATABASE_URL​ 環境設定の値を直接編集するのではなく、必ずコードからデータベースの URL に sslmode=require​ パラメータを追加してください。(フェイルオーバーなどの) さまざまな自動イベントによって環境設定の値が変更され、編集内容が上書きされる可能性があるためです。

Heroku Postgres Backups を使用する

データベースの自動バックアップを取得するために、関連付けられた Heroku アプリで Heroku Postgres Backups​ を使用できます。Heroku アプリで DATABASE_URL​ が指すデータベースのバックアップが Heroku Postgres Backups によって作成されるため、必ず次のようにしてデータベースをプロモートしてください。

heroku pg:promote HEROKU_POSTGRESQL_VIOLET --app your-app

関連カテゴリー

  • 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