Skip to main content
From 16:00 UTC on January 17, 2026, to 20:00 UTC on January 17, 2026, we will perform planned maintenance on the Trailhead, myTrailhead, and Trailblazer Community sites. During the maintenance, these sites will be unavailable, and users won't be able to access them. Please plan your activities around this required maintenance.

Heroku の中身を覗いてみる

学習の目的

この単元を完了すると、次のことができるようになります。

  • dyno とは何かを説明する。
  • 言語、ビルドパック、コンパイルされたアプリケーションロジックを区別する。
  • アドオンがどれだけ有用か説明し、Heroku Elements Marketplace からプロビジョニングできるアドオンを 1 つ挙げる。
  • Heroku CLI コマンドを指定する。

内部の Heroku

ここまでは、Heroku の概要と使用する状況について説明してきました。さまざまなリリース方法についても学習しました。Heroku とはいったい何なのでしょうか? 内部に何があるのでしょうか? 見てみましょう!

dyno

アプリケーションのコードは、Heroku プラットフォームの dyno と呼ばれる構造の内部で実行されます。Heroku の dyno は、Linux オペレーティングシステムを元にした単なる管理ランタイムコンテナです。これらのコンテナによって、カスタムアプリケーションコードを実行できるプロセスが実行されます。

ランタイムコンテナとは

用語におじけづかないでください。コンテナリゼーションは、実行中のプロセスを相互に分離したままにする単なるメカニズムです。コンテナによって冷蔵庫内のイチゴジャムとマスタードが混ざることがなく、朝食のトーストが常においしくなると考えましょう。ランタイムコンテナは、コードと設定を他のものから分離した状態にすることを除けば同じものです。そのように、アプリケーションはちょうどあるべき状態で常に機能します。

また、アプリケーションの同一のインスタンスを実行し、クライアント要求を受け入れて応答を処理する 2 つ以上の dyno の間で分離することもコンテナでできます。ある要求が Dyno A で処理され、別の要求が Dyno B で処理された場合も、ユーザーには区別がつきません。表示されるのは、迅速に応答するアプリケーションのみです。アプリケーションをスケールアップしていくつかの (または数十や数百もの) dyno で実行すると、いっそう安心です。1 つの dyno のアプリケーションコードに何か問題が発生しても、他のすべての dyno は顧客の処理を続行できます。

ビルドパック

ビルドパックは、さまざまな言語とフレームワークを処理するスクリプトのコレクションです。コードを Heroku に転送すると、ビルドシステムがビルドパックを使用して、コードを実行可能なアプリケーションに変換します。このプロセスで、Ruby、Python、Java、Clojure、Node.js、Scala、Go、PHP で記述されたアプリケーションが、適切に実装されてコンパイルされます。アプリケーションを拡張するには、構築されたアプリケーションをダウンロードして dyno に拡張し、実行できるようにする必要があります。

カスタムビルドパックを使用して、Heroku で公式にサポートされているビルドパックが対応しない言語またはフレームワークをサポートできます。

アプリケーションのトラフィックコントロール: Heroku ルーター

Heroku ルーターは、こうした複数の dyno のすべてのマジックにとって重要です。新しい Web dyno は、起動されるたびにルーターに登録され、Web dyno で実行中のアプリケーションが通知されます。dyno が登録されると、Heroku ルーターは、アプリケーションに使用できるすべての dyno (アプリケーションの「dyno 構成」) にわたる受信要求の配信を開始します。dyno 構成は、アプリケーションを実行する dyno のサイズと数 (たとえば、7 つの Performance-L dyno の構成) の呼び名です。

当社が考えているように Heroku ルーターが魅力的であることがわかりますか? Heroku ルーターのしくみと想定できる内容についての詳細は、ルーティングに関する Heroku 開発センターのドキュメントを参照してください。

アドオン

アドオンは、Heroku プラットフォームの必要不可欠な別の要素です。これらの要素により、基盤となるソフトウェアまたはインフラストラクチャを管理せずに、複雑な機能をアプリケーションに追加する機能が得られます。

有用なアドオンの優れた例として、Heroku Postgres データベースがあります。Postgres はエンタープライズクラスのデータベースであり、高速で信頼性が高く豊富な機能を備えています。特に、Postgres データベースをアドオンとしてプロビジョニングすると、基盤となるインフラストラクチャが Heroku によって完全に管理されます。

複数の Heroku 管理アドオンに加えて、サードパーティによって数十ものアドオン (データストア、メールサーバー、監視ツール、および想像できる他のほとんどすべての機能) が提供されます。開発者は、バックエンド機能 (メールやテキストの送信機能など) をたった 1 回のクリックでプラグインできます。多くのアドオンには、好きなだけ試して使用できる無料のオプションがあります。

Heroku Enterprise アプリケーションに組み込むことができるすべてのアドオンを調べるには、Heroku Elements Marketplace のアドオンページを参照してください。

Salesforce ヘルプで Trailhead のフィードバックを共有してください。

Trailhead についての感想をお聞かせください。[Salesforce ヘルプ] サイトから新しいフィードバックフォームにいつでもアクセスできるようになりました。

詳細はこちら フィードバックの共有に進む