Dyno Runtime
最終更新日 2025年02月28日(金)
Table of Contents
Dyno Runtime は、アプリの Dyno を実行するための Heroku の主要コンポーネントです。Dyno Runtime は以下を行います。
- dyno (アプリのコードを実行するための安全な、分離したコンテナ) のプロビジョニング。
- 各 dyno のライフサイクルの管理および監視。
- アプリのスケーリング設定が変更された場合の dyno の追加および削除。
- 接続されたアドオンサービスおよびその他の外部エンドポイントに対するネットワークリクエストを dyno が行えるようにする適切なネットワーク設定の提供。
- アプリケーションのドメインでの Web トラフィックの受信およびそのトラフィックの Web dyno へのルーティング。
- 各 dyno からのログ出力のキャプチャおよびアプリケーションのログドレインへの転送。
Heroku にはさまざまなランタイムがあり、主な違いはネットワークトポロジーと分離レベルです。これらのランタイムの認定は、こちらの表を確認してください。
Fir Private Spaces Runtime のコンプライアンス認証は保留中です。
Common Runtime
Common Runtime は、リージョンごとに 1 つのマルチテナントネットワークで dyno を実行および管理します。US および EU の 2 つのリージョンが利用可能です。各 dyno は強力なファイアウォールルールで保護されているため、すべての dyno が 1 つのフラットなネットワークで実行される場合でも、dyno は相互に強力に分離されます。このランタイムの認定は、こちらの表を確認してください。
Common Runtime の dyno は、受信 Web リクエストを正確かつ安全に dyno に転送するルーティングレイヤーからの接続のみを受信できます。この方法で接続を受信できるのは Web dyno のみです。
Private Spaces Runtime
Heroku には、Cedar と Fir という 2 世代の Private Spaces Runtime があります。
Cedar Private Spaces Runtime
Private Spaces Runtime の Cedar 世代では、1 つまたは複数の Cedar Private Spaces でアプリケーションを作成できます。各スペースには、スペース外の他のアプリケーションとは共有されない独自のネットワーク、ルーティングレイヤー、コントロールプレーンがあります。このランタイムの認定は、こちらの表を確認してください。
このランタイムの分離およびネットワークトポロジーには、Common Runtime と比較していくつかのメリットがあります。
- スペース内のすべてのアプリケーションへのアクセスを、一連の信頼できる IP 範囲に制限できます。
- 一連の固定の送信 IP アドレスで作成されたアプリで行われるすべてのリクエストにより、IP 許可リストを使用して、オンプレミスの Web サービスゲートウェイなどのさまざまなバックエンドサービスに安全にアクセスすることができます。
- 1 つのスペース内の Dyno は、プライベートネットワークで相互に直接通信できます。
- 1 つのスペース内の Dyno は、Heroku Postgres や Heroku Key-Value Store (KVS) などの特定の種類のアドオンリソースで、プライベートネットワークで相互に直接通信できます。スペースで作成されたデータベースまたは KVS インスタンスは、パブリックインターネットで直接アクセスできません。
- 強力な分離により、アプリケーションは上述のコンプライアンス要件を満たし、Common Runtime で可能な以上のことができます。
Fir Private Spaces Runtime
Private Spaces Runtime の Fir 世代では、1 つまたは複数の Fir Private Spaces でアプリケーションを作成できます。Cedar Private Space と同様に、Fir Private Space にはスペース外部のアプリと共有されない専用のネットワーク、ルーティング、コントロールプレーンレイヤーがあります。
Fir 世代のランタイムは、Cedar に比べてさらに次のような利点があります。
- より柔軟でより少ない最小 Dyno サイズおよび階層
- Dyno 起動時間の改善
- Dyno スケールの制限の改善
- アプリのビルドはアプリのスペース内で発生
- ARM ベースの Dyno は並列処理と電力効率に高度に最適化されており、特定のワークロードに対して優れた価格性能比を実現
- Cloud Native Buildpack を使用してソースコードをコンテナイメージにビルドする機能
- OpenTelemetry と直接統合することでアプリケーションのオブザーバビリティが簡素化され、大規模な構成なしでテレメトリデータを収集およびエクスポートする効率的な方法を実現。Fir Private Space 内のアプリは、OpenTelemetry のログ、トレース、メトリックシグナルをすぐにサポートします。
Fir Private Spaces Runtime のコンプライアンス認証は保留中です。 信頼できる IP と Internal ルーティングのカスタマイズは、現在 Fir spaces では利用できません。機能が Fir に追加されたときに通知を受け取るには、Changelog の受信登録を行ってください。
アプリの Dyno Runtime の選択
アプリのランタイムは作成時に設定されます。デフォルトでは Common Runtime になります。
代わりに Cedar Private Spaces Runtime または Fir Private Spaces Runtimeを使用するには、「Heroku Private Spaces 」の記事を参照してください。
アプリのリージョンの設定方法については、「リージョン」を参照してください。