Heroku Private Space
この記事の英語版に更新があります。ご覧の翻訳には含まれていない変更点があるかもしれません。
最終更新日 2025年04月14日(月)
Table of Contents
Private Spaces は、検証済みの Heroku Teams および Heroku Enterprise](heroku-enterprise) でのみご利用いただけます。Heroku Enterprise の詳細は、Heroku にお問い合わせください。
Private Space は、dyno や特定の種類のアドオンを、分離されたネットワーク内で実行するための専用環境です。これらにより、データ保護と変更管理の厳格な要件を満たす Heroku アプリをビルドおよび実行できるようになります。
Heroku プラットフォームには、レガシープラットフォームである Cedar と、Heroku の将来である Fir の 2 世代があります。この記事では、両世代向けの Private Spaces の機能と利点について説明します。
ユースケースとメリット
- ネットワークレベルでのアクセス制御: 厳格なセキュリティポリシーを適用する必要のある組織は、カスタムネットワークルールを実装することで、機密性の高いアプリケーションに Private Spaces を活用できます。ネットワークレベルでスペース内のアプリへのアクセスを制御します。
- 安全な通信: スペース内のアプリからの送信リクエストは、一連の安定した IP アドレスから発信されます。オンプレミスのサービスやその他のネットワークでそれらのサービスを許可リストに登録して、安全に通信できるようにします。
- 規制コンプライアンス: 金融や医療などの規制業界の組織は、スペースを使用してデータの分離とセキュリティの強化を確保することで、コンプライアンス要件を満たすことができます。
- パフォーマンスの最適化: 分離されたリソースにより、Private Space アプリケーションは共有環境で発生する可能性のある “ノイジーネイバー” 問題を回避し、一貫したパフォーマンスを実現できます。
- 内部ツールと API: スペースで内部アプリケーションまたは API をホストし、機密データがパブリックインターネットを通過しないようにします。
一般的な git push heroku main
コマンドを使用して Private Space にデプロイするか、Heroku パイプラインを最大限に利用することができます。Private Spaces によって提供される強力なガバナンスおよびセキュリティ機能は、標準的な Heroku 開発者のエクスペリエンスを変えるものではありません。
機能
Fir Private Spaces
Heroku プラットフォームの Fir 世代のスペースには、次の機能があります。
Private Space ルーター
Private Space でのルーターは、Common Runtime 内のルーターとは少し動作が異なります。違いについては、「Private Spaces でのルーティング」を参照してください。
固定アウトバウンド IP アドレス
Private Space 内のアプリからのアウトバウンドトラフィックはすべて、そのスペース専用で小規模かつ固定の IP アドレスのリストが発信元になります。許可された IP の一覧を使用して、Space 内のアプリによってアクセスされるサービスをセキュリティで保護できます。
たとえば、企業のデータセンターで Web サービスゲートウェイを設定し、スペースに割り当てられた IP アドレスからのアクセスのみを許可できます。TLS およびアプリケーションレベルの認証トークンと組み合わせてこれを使用すれば、企業のデータセンター内のリソースを保護するためのセキュリティレベルが向上します。
すべてのチームメンバーは、スペースの固定アウトバウンド IP アドレスのリストを表示できます。詳細は、「アウトバウンド IP を表示する」を参照してください。
アプリの可用性
スペースに関連付けられた 3 つのアベラビリティゾーン (AZ) のいずれかにラウンドロビンでプロビジョニングします。 アプリに高可用性が必要な場合は、AZ の障害という稀なシナリオに備えて、プロセスタイプごとに Dyno formation を 3 dyno 以上にスケールアップすることをお勧めします。 AZ が異常または利用不能に陥った場合、正常に機能している AZ に dyno を自動的に再スケジュールします。異常が発生していた AZ が正常な状態に戻ると、自動的に dyno を再分散します。ダウンタイムなしのローリングデプロイ
ローリングデプロイは、Common Runtime での Preboot に似ています。どちらも、新しいリリースの間のゼロダウンタイムを実現します。ローリングデプロイでは、既存の dyno の最大 25% のみが一度に停止および変更され、残りの dyno はリクエストとタスクを処理します。詳細は、「ローリングデプロイ」を参照してください。
アドオン
スペース内のアプリに Heroku アドオンを使用できます。リージョンで利用可能なアドオンを確認するには、Add-on Runtime Availability (ランタイムでのアドオンの利用可能状況) を参照してください。Private Spaces
タブを選択して Private Spaces リージョンの情報を確認してください。詳細は、「アドオンと Private Space」 を選択してください。
Cedar Private Spaces の追加機能
Heroku プラットフォームの Fir 世代のスペースに記載されている機能に加えて、Cedar 世代のスペースには次の機能があります。
Internal Routing
Private Spaces では、Internal Routing を使用してアプリを作成することを選択できます。他のアプリと異なり、Internal Routing を有効にしたアプリは、アプリの Web プロセスタイプ宛ての外部 Web トラフィックを受信できません。同じスペース内の他のアプリ、または VPC ピアリングまたは VPN 接続されたネットワークで実行されているソフトウェアからの Web トラフィックのみを受信できます。
DNS Service Discovery
Heroku Private Spaces で実行されているプロセスは、DNS を使用して同じスペース内の他の dyno の IP アドレスを取得することによって相互通信できます。DNS Service Discovery により、マイクロサービスの作成とデプロイが容易になります。
信頼できる IP 範囲
信頼済み IP 範囲を使用して、会社のネットワークから、または、アプリのトラフィックのプロキシとして機能する CDN サービスからアプリへのトラフィックを制限します。
これらの信頼済み IP 範囲に含まれる発信元クライアントのみが、Private Space で実行されている Web プロセスにアクセスできます。詳細は、「Private Space の信頼できる IP 範囲」を参照してください。
VPN 接続
Heroku Private Spaces および Heroku Shield Spaces では、IPSec VPN を使用して別のプライベートネットワークへの接続を設定できます。この VPN 接続により、dyno はプライベートネットワーク上のホストに接続でき、その逆も可能になります。接続はパブリックインターネット経由で確立されますが、すべてのトラフィックが IPSec を使用して暗号化されます。
VPC ピアリング
Private Space Peering を使用すると、Heroku Private Space で実行されている dyno と、お客様により制御される AWS VPC の間にプライベートネットワーク接続を確立できます。この接続はパブリックインターネットを経由しません。
Shield Space の追加機能
詳細は、「Shield Private Spaces」を参照してください。
スペースの種類
スペースには、標準の Private Spaces と Shield Private Spaces の 2 種類があります。
Private Spaces は Heroku プラットフォームの両世代で利用できますが、Shield Private Spaces は Cedar でのみ利用できます。
Shield Space には、高コンプライアンスアプリケーションをビルドおよび実行するための追加機能が含まれます。機能についての詳細は、Shield Private Space に関する記事を参照してください。
Private Space リージョン
さまざまなリージョンにスペースを作成できるため、エンドユーザーに最も近いアプリを展開できます。完全なリストについては、「リージョン」を参照してください。
Private Space のプロビジョニング
チーム管理者のみが Private Space を作成、破棄、または変更できます。すべてのチームメンバーはチーム内の Private Space の詳細を表示できます。詳細は、「Private Spaces での作業」を参照してください。
Private Spaces 内のアプリ
Private Spaces には、その内側であれば、機密性の高いデータを扱うアプリをチームでデプロイして管理してもよいという信頼境界があります。スペース内でアプリを作成できる権限は、チーム管理者およびスペースに対して app creation
権限を持つユーザーに限定されています。詳細は、「Private Spaces でのアプリの管理: 権限の付与」を参照してください。
Private Space の転送
スペースを転送する方法については、「Private Spaces での作業」を参照してください。
デフォルトの制限
Private Spaces Runtime は Common Runtime とは異なるアーキテクチャで構築されているため、スペースのデフォルトの制限が異なります。詳細は、デフォルトの Private Spaces の制限を参照してください。