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
      • Django の使用
      • Python でのバックグランドジョブ
    • 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 Redis
  • Heroku Redis と Private Space

Heroku Redis と Private Space

日本語 — Switch to English

最終更新日 2021年04月06日(火)

Table of Contents

  • プロビジョニング
  • プラン
  • 外部接続
  • Premium Redis プランから Private Redis プランへの移行

Private Space での Heroku Redis は、Heroku Enterprise でのみ利用できます。

この記事では、Heroku Redis が Private Space​ または Shield Private Space​ で使用される場合と、Common Runtime​ で使用される場合を比較したときの Heroku Redis のプロビジョニング、プラン、接続の違いについて説明します。

Heroku Private Space は、分離されたネットワーク内でアプリケーションを実行するための専用環境です。つまり、アプリケーションスタックのすべての部分 (dyno、データストア、サードパーティアドオンを含む) がこの環境内に含まれています。

Heroku Redis は、Common Runtime 上と同じ開発者エクスペリエンスで、Private Space 内で実行できます。同じ CLI コマンドおよび Web インターフェースの多くが Private Heroku Redis インスタンスに対して機能します。

Private Heroku Redis プランは、ビルド時にアプリケーションからアクセスできません。ビルド時のプライベートデータストアへの依存関係を削除するか、パブリックの Heroku Data プランを使用するか、またはサポートに連絡して指示に従うことをお勧めします。

プロビジョニング

Heroku Redis には、Private Space のみを対象とした一連のプランがあります。Private 層プランは、分離されたネットワーク環境の内部でプロビジョニングできる唯一のプランです。Premium 層からインスタンスを作成しようとすると、そのリクエストは失敗します。

新規インスタンスの作成

多くの buildpack では、ビルドプロセスの一部として Redis インスタンスが作成されます。作成されるアプリケーションが Private Space 内にある場合は、そのアプリケーションの Redis インスタンスがすでに存在していない限り、使用可能な最も低い Private​ プランがインスタンスの作成時に使用されます。現在使用可能なプランの一覧については、「プラン​」のセクションを参照してください。

Private Heroku Redis インスタンスは、CLI 経由でプロビジョニングできます。

$ heroku addons:create heroku-redis:private-7 -a private-sushi

Private Space 内には Heroku Redis の Private​ 層のプランしか作成 できません。

作成されるデータベースのリージョンやタイプによっては、インスタンスが使用可能になるまでにプロビジョニングプロセスに最大 10 分かかることがあります。

プラン

Heroku Redis には、Private Space 向けの一連のプランが用意されています。Private​ 層は本番環境アプリケーション用に設計されており、次のものが含まれています。

  • リージョンのサポート
  • フォークのサポート
  • アプリケーションログストリームに公開されるメトリクス
  • 高可用性
プラン名 プロビジョニング名 メモリ制限 接続制限 月額料金
Private-7 heroku-redis:private-7​ 7 GB 10000 $900
Private-9 heroku-redis:private-9​ 10 GB 25000 $1750
Private-10 heroku-redis:private-10​ 25 GB 40000 $4000
Private-12 heroku-redis:private-12​ 50 GB 65000 $7500
Private-14 heroku-redis:private-14​ 100 GB 65000 $14000

Shield Private Space のプラン

Shield Private Space では、追加の ‘Shield’ Heroku Redis プラン​を使用できます。これらのデータベースには厳密な接続要件があり、外部接続が防止され、暗号化されたクライアントが要求されます。

Shield Private Space では、Heroku Redis の Shield​ 層プランを使用する必要があります。

Shield​ 層は本番環境アプリケーション用に設計されており、次のものが含まれています。

  • リージョンのサポート
  • アプリケーションログストリームに公開されるメトリクス
  • 高可用性
プラン名 プロビジョニング名 メモリ制限 接続制限 月額料金
Shield-7 heroku-redis:shield-7​ 7 GB 10000 $1100
Shield-9 heroku-redis:shield-9​ 10 GB 25000 $2100
Shield-10 heroku-redis:shield-10​ 25 GB 40000 $4800
Shield-12 heroku-redis:shield-12​ 50 GB 65000 $9000
Shield-14 heroku-redis:shield-14​ 100 GB 65000 $19600

外部接続

Premium 層の Heroku Redis インスタンスとは異なり、Private インスタンスにローカルコンピュータ経由でアクセスすることはできません。Private Redis インスタンスにアクセスするには、使用可能な Heroku Redis CLI コマンドを使用する必要があります。これにより、分離されたネットワーク境界を超えてインスタンスに接続するための適切な承認が確実に得られます。

CLI の使用

Private インスタンスに接続する機能は Heroku CLI に直接統合されており、Premium 層に使用できるすべてのコマンドを Private インスタンスに使用できます。

Heroku Redis に使用できる CLI コマンドについての詳細は、メインの Heroku Redis の記事を参照してください。

Premium Redis プランから Private Redis プランへの移行

アプリケーションが Common Runtime から Heroku Private Space に移行される場合は、Premium Redis インスタンスのデータも Private Redis インスタンスに移行できます。この移行ガイドは、Private Space 内での Premium Heroku Redis インスタンスから Private Heroku Redis インスタンスへのデータの移動にのみ適用されます。

Shield Redis プランにフォークすることはできません。

1. Common Runtime インスタンスの資格情報を取得する

このプロセスを開始するには、Common Runtime で実行される Heroku Redis インスタンスの資格情報が必要になります。

$ heroku redis:credentials REDIS_URL -a sushi
redis://h:pdx11111111@ec2-184-255-255-255.compute-1.amazonaws.com:7929

2. 新しいインスタンス更新を防ぐ

移行プロセス中は、ソースシステム上のアプリケーションに新しいデータが書き込まれないようにすることが重要です。そうしないと、そのデータが新しいデータベースに転送されません。これを行うには、ソースアプリをメンテナンスモード​にします。スケジューラージョブが実行されている場合は、これを無効にしてください。

アップグレードプロセスのこの時点で、アプリケーションは起動できなくなります。

$ heroku maintenance:on
Enabling maintenance mode for sushi... done

メンテナンスモードでは、どの dyno も自動的にスケールダウンされません。どの接続もデータベースにデータを書き込んでいないようにするために、Web dyno や Web 以外の dyno をスケールダウンする必要があります。

$ heroku ps:scale worker=0
Scaling worker processes... done, now running 0

3. フォークを使用して Private プランをプロビジョニングする

アプリケーションが Private Space 内に作成されている場合は、--fork​ フラグをこのプロセスの手順 1 の Heroku Redis URI と共に使用して、新しい Private Heroku Redis プランをプロビジョニングできます。

$ heroku addons:create heroku-redis:private-7 --fork=redis://h:pdx11111111@ec2-184-255-255-255.compute-1.amazonaws.com:7929 -a private-sushi
Creating redis-rugged-22859... done
Adding redis-rugged-22859 to private-sushi... done
Setting HEROKU_REDIS_CHARCOAL_BASTIONS, HEROKU_REDIS_CHARCOAL_BASTION_KEY, HEROKU_REDIS_CHARCOAL_BASTION_REKEYS_AFTER, HEROKU_REDIS_CHARCOAL_URL and restarting private-sushi... done, v55
Instance has been created and will be available shortly
Use `heroku addons:docs heroku-redis` to view documentation.

4. ターゲットアプリケーションをアクティブにする

通常のアプリケーション動作を再開するには、Web dyno 以外のスケールを元のレベルに戻します(アプリケーションで Web dyno 以外が使用されていなかった場合、不要な可能性がある dyno のスケーリングを防ぐためにこのステップをスキップします)。

$ heroku ps:scale worker=1

最後に、メンテナンスモードをオフにします。

$ heroku maintenance:off

アプリケーションが、移行された Redis インスタンスへのリクエストを受信するようになりました。これは、heroku redis:info​ を実行することによって確認できます。REDIS_URL​ で示されるインスタンスはプライマリインスタンスとみなされます。

移行後に実行する手順

インスタンスをアップグレードした後、未使用のインスタンスに対する支払いが発生しないように、古いインスタンスをプロビジョニング解除する必要があります。

$ heroku addons:destroy HEROKU_REDIS_BLUE

関連カテゴリー

  • Heroku Redis
暗号化鍵を使用した Heroku Redis の暗号化 Heroku Redis のログステートメントと一般的なエラーの概要

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