Deep-dive on the Next Gen Platform. Join the Webinar!

Skip Navigation
Show nav
Dev Center
  • Get Started
  • ドキュメント
  • Changelog
  • Search
  • Get Started
    • Node.js
    • Ruby on Rails
    • Ruby
    • Python
    • Java
    • PHP
    • Go
    • Scala
    • Clojure
    • .NET
  • ドキュメント
  • 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
Hide categories

Categories

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

MuleSoft への Heroku データサービスの接続

日本語 — Switch to English

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

最終更新日 2023年05月17日(水)

Table of Contents

  • 一般的な統合のユースケース
  • 共通ランタイム用の MuleSoft コネクターの設定
  • Private および Shield Heroku サービス用の MuleSoft コネクターの設定

この記事は、MuleSoft 経由での Heroku データサービスへのアクセスに関するものです。Heroku アプリに外部サービスを接続する統合レイヤーとして MuleSoft を使用するには、Heroku と Salesforce プラットフォームを統合する​を参照してください。

MuleSoft は、複数のシステムとサービスを 1 つの中央インターフェースからアクセスおよび管理できるように接続するための IPaaS (Integration Platform as a Service) です。この記事では、Heroku データサービス (Heroku Postgres、Apache Kafka on Heroku、Heroku Data for Redis) を MuleSoft プラットフォームに接続する方法について説明します。

一般的な統合のユースケース

Heroku のデータを MuleSoft に接続する理由はたくさんあります。最も一般的なユースケースは、Heroku Connect と Heroku Postgres を使用して Salesforce からの顧客データを保存および管理しているユーザーです。これらの Heroku データサービスを MuleSoft に接続することで、このデータにアクセスし、MuleSoft プラットフォームに接続されている他のサービスと統合することができます。Heroku と MuleSoft を一緒に使用することで、Heroku のデータ管理の柔軟性を活用しながら、引き続きアプリに必要な外部サービスを使用できます。

共通ランタイム用の MuleSoft コネクターの設定

Redis、Apache Kafka、Postgres などの Heroku データサービスは、特定のコネクター​を使用して MuleSoft に統合できます。このセクションでは、Common Runtime で実行されている Heroku データサービスに接続するために必要な 3 つのコネクターについて説明します。

Private Space で Heroku Postgres を実行している場合は、最初に次のセクションの「Private および Shield Heroku サービス用の MuleSoft コネクターの設定​」を参照してください。

データベースコネクター

データベースコネクター​を使用すると、Heroku Postgres を含む JDBC 準拠のデータベースに接続できます。MuleSoft 側でデータベースコネクターを設定するには、MuleSoft の記事「How to connect to Heroku Postgres using the MuleSoft Database Connector​」(MuleSoft データベースコネクターを使用して Heroku Postgres に接続する方法) に記載されている手順に従ってください。

Redis コネクター

Redis コネクター​を使用すると、Heroku Data for Redis を含む任意の Remote Dictionary Server に接続できます。MuleSoft 側で Redis コネクターを設定する場合は、Redis コネクターのドキュメント​に記載されている手順に従ってください。コネクターを設定するには、次の情報が必要です。

  • 接続:​ ドロップダウンメニューから、「NonClustered」を選択します。
  • ホスト、ポート、パスワード:​ これらの 3 つのフィールドはすべて、アプリケーションの REDIS_URL​ 環境設定にあります。REDIS_URL​ の値の形式は、rediss://h:<password>@<hostname>:<port>​ です。MuleSoft で Redis コネクターを設定する際は、これらの値を使用します。

このコネクターは、Common Runtime で Heroku Data for Redis を使用している場合にのみ機能します。Private Space で Redis を実行している場合は、「Private および Shield Heroku サービス用の MuleSoft コネクターの設定​」を参照してください。

Apache Kafka コネクター

Kafka コネクター​を使用すると、Apache Kafka on Heroku クラスターを MuleSoft プラットフォームに接続できます。MuleSoft 側で Kafka コネクターを設定するには、MuleSoft の記事「How to connect to Apache Kafka on Heroku using the MuleSoft Kafka Connector​」 (MuleSoft Kafka コネクターを使用して Apache Kafka on Heroku に接続する方法) に記載されている手順に従ってください。

このコネクターは、Common Runtime で Apache Kafka on Heroku を使用している場合にのみ機能します。Private Space で Kafka を実行している場合は、「Private および Shield Heroku サービス用の MuleSoft コネクターの設定​」を参照してください。

Private および Shield Heroku サービス用の MuleSoft コネクターの設定

Private​ または Shield Private​ Space で Heroku Postgres、Heroku Data for Redis、または Apache Kafka on Heroku を実行している場合は、MuleSoft と Heroku の間に安全で、かつ相互認証されたチャネルを設定するために必要な追加の設定があります。このセクションでは、Private または Shield Private Space で実行しているときに、Heroku データサービスを MuleSoft に接続するために必要な追加情報を提供します。

データベースコネクター

最初に以下の手順を実行してから、上記のようにデータベースコネクターを設定します​。

静的外部 IP を許可リストに登録する

Heroku Postgres が MuleSoft アプリケーションに正常に接続するには、MuleSoft アプリケーションの静的外部 IP アドレスを Heroku mTLS 設定の許可リストに追加する必要があります。この IP を許可リストに追加すると、MuleSoft アクセスで Private の Heroku Postgres データベースに接続できるようになります。

  1. MuleSoft のドキュメントの手順を使用して、アプリケーションに静的 IP を割り当てます​。
  2. 外部リソースから Private または Shield の Heroku Postgres データベースに接続する​の記事の手順に従って、生成された静的 IP を mTLS 許可リストに追加します。

Anypoint Studio でローカルで開発する際は、ローカルマシンのパブリック IP を使用できます。

クライアント側の証明書をダウンロードする

MuleSoft と Heroku 間の接続を認証するクライアント側の証明書をダウンロードするには、Heroku CLI を使用します。このプロセスは、「外部リソースから Private または Shield の Heroku Postgres データベースに接続する​」で説明されています。

クライアントの秘密鍵を Java で理解できる形式に変換する

前の手順のコマンドに従った場合は、プロジェクト内に folder​ という名前のディレクトリが作成されています。そのフォルダ内のファイルの 1 つが、MuleSoft が接続のために認識しておく必要のあるクライアントの秘密鍵です。MuleSoft でその鍵を読み取れるようにするためには、MuleSoft で使用できる Java のような形式に鍵を変換する必要があります。

鍵を必要な形式に変換するために、プロジェクトディレクトリ内から次のコマンドを実行できます。このコマンドを実行する前に、

  • openssl​ がコマンドラインにインストールされていることを確認してください。インストールされていない場合、このコマンドはエラーを返します。
  • <CLIENT_PRIVATE_KEY>​ を folder​ ディレクトリ内の *.key​ ファイルの名前に変更してください。通常は PREFIX_postgresql.key​ のようになります。
$ openssl pkcs8 -topk8 -inform PEM -in <CLIENT_PRIVATE_KEY> -outform DER -nocrypt -out postgresql.key.der

MuleSoft アプリケーションに証明書をインポートする

MuleSoft が Heroku 接続の証明書にアクセスするためには、それらを MuleSoft アプリケーションに埋め込むのが最良の方法です。folder​ にダウンロードした 3 つのファイルすべてを、MuleSoft アプリケーションの src/main/resources​ ディレクトリ内に移動します。

データベース接続 URL を設定する

上記の手順を完了すると、MuleSoft データベースコネクターで使用する接続 URL を作成できます。URL は、次の形式で作成できます。

jdbc:postgresql://<DB_HOST>:<DB_PORT>/<DB_NAME>?sslmode=verify-ca&sslcert=${mule.home}/apps/${app.name}/PREFIX_postgresql.crt&sslkey=${mule.home}/apps/${app.name}/postgresql.key.der&sslrootcert=${mule.home}/apps/${app.name}/PREFIX_root.crt
  • <DB_HOST>​、<DB_PORT>​、および <DB_NAME>​ を Heroku Postgres ダッシュボードの値に置き換えます。
  • ${mule.home}​ と ${app.name}​ は実行時にコネクターによって置き換えられるため、そのままにします。

データベースコネクターから Username​ と Password​ の入力も求められます。これらも両方とも Heroku Postgres ダッシュボードにあります。

Kafka コネクター

Private Space または Shield Space で実行されている Heroku Kafka は、外部ソースからの相互 TLS 接続​をサポートします。MuleSoft を使用して Private または Shield Heroku Kafka を接続する場合は、上記の Kafka コネクター​の手順に従う前に、MuleSoft アプリケーションの外部静的 IP を mTLS 設定の許可リスト​に追加する必要があります。

Redis コネクター

Private Space で実行されている Heroku Data for Redis では、MuleSoft ではサポートされていない、AWS PrivateLink を使用するリソースからの信頼関係接続のみがサポートされます。MuleSoft を使用して Private Heroku Data for Redis を接続する場合は、上記の Redis コネクター​の手順に従う前に、Private Space の許可リストに MuleSoft アプリケーションの外部静的 IP を追加する必要があります。このサービスの詳細は、データサービスの信頼済み IP 範囲​を参照してください。

関連カテゴリー

  • データベースとデータ管理

Information & Support

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

Language Reference

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

Other Resources

  • Careers
  • Elements
  • Products
  • Pricing
  • RSS
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku Blog
    • Heroku News Blog
    • Heroku Engineering Blog
  • Twitter
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku
    • Heroku Status
  • Github
  • LinkedIn
  • © 2025 Salesforce, Inc. All rights reserved. Various trademarks held by their respective owners. Salesforce Tower, 415 Mission Street, 3rd Floor, San Francisco, CA 94105, United States
  • heroku.com
  • Legal
  • Terms of Service
  • Privacy Information
  • Responsible Disclosure
  • Trust
  • Contact
  • Cookie Preferences
  • Your Privacy Choices