Herokuとは?料金・使い方・デプロイ手順をわかりやすく解説【2026年最新】

Heroku(ヘロク)は、クラウド上でアプリケーションを簡単に構築・実行・拡張できるPaaS(Platform as a Service)です。開発者はサーバーやインフラの構築・管理を意識せず、コードをデプロイするだけでアプリをすぐに公開できます。Gitを使ったデプロイに対応し、Node.js・Python・Ruby・Java・PHPなど複数の言語をサポート。スタートアップや個人開発、学習用途で特に人気があります。なお、かつて提供されていた無料プランは2022年に廃止され、現在はすべて有料プランとなっている点が重要な変更点です。本記事では、Herokuの概要から現行の料金体系、使い方、デプロイ手順、対応言語までを2026年時点の最新情報で解説します。

Herokuとは?PaaSとしての特徴

Herokuは、アプリを動かすための環境をすべてクラウド側が用意してくれるPaaSです。従来、アプリを公開するにはサーバー構築・OS設定・ミドルウェア導入などの前準備が必要でしたが、Herokuではそれらが不要です。開発者はコードを書いてデプロイするだけで、環境構築・スケーリング・セキュリティ更新はHerokuが自動で担います。これにより、リリースまでの時間が大幅に短縮され、アイデアを素早く形にできます。

Herokuは2007年に設立され、当初はRuby on Railsアプリのホスティングで人気を集めました。2010年にSalesforceが買収して以降、Node.js・Python・Javaなど多言語に対応するプラットフォームへと成長し、SalesforceのCRMとの親和性も高まって、エンタープライズ領域でも使われています。なお、インフラの裏側ではAWSが使われており、一定の安定性とスケーラビリティが担保されています。

他のクラウドサービスとの違い

HerokuはAWSやGCP、AzureといったIaaS系サービスと異なり、PaaSに特化しています。インフラを細かく制御する自由度は低い一方、導入の手軽さと開発スピードでは大きな優位性があります。たとえばAWSではEC2インスタンスの構築やネットワーク設定が必要ですが、Herokuは数回のコマンドやUI操作だけでアプリを公開できます。「インフラに手間をかけず、開発スピードを優先したい」場面で真価を発揮します。なお、AWSにもHerokuに近い手軽さを持つAWS Lightsailのようなサービスがあり、用途に応じて比較検討するとよいでしょう。

Herokuのメリットとデメリット

Herokuには明確な得意分野と不得意分野があります。導入前に把握しておきましょう。

メリット

最大のメリットは、アプリの立ち上げが非常に速いことです。インフラ構築なしに、数行のコマンドやGit操作でデプロイが完了します。Node.js・Python・Rubyなど主要言語は「buildpack」により環境構築が自動化されており、設定ファイルさえあれば最小限の手間で動かせます。さらに「アドオン」と呼ばれる拡張機能で、データベース・ログ管理・監視・キャッシュなどを簡単に追加でき、開発スピードを大きく高められます。GUIの管理画面と充実したドキュメントがあり、初心者にも扱いやすい点も魅力です。

デメリット

一方で、カスタマイズ性には制限があります。OSやミドルウェアを自由に設定できるIaaSと異なり、Herokuでは用意されたbuildpackやアドオンを使うのが前提で、特殊な構成には不向きです(ただしDockerを使えば独自環境も構築可能)。また、大量トラフィックが発生する大規模サービスでは、Dyno(実行環境)の制約からパフォーマンス面で課題が出ることがあります。加えて、無料プランが廃止されたため、かつてのように完全無料で運用することはできません。料金面では、同等のリソースを自前で構築する場合と比べて割高になるケースもあります。

向いている用途

Herokuは、スタートアップのMVP(最小限の製品)を素早く立ち上げたい場合や、学習・プロトタイピングで手軽にクラウドに触れたい場面に最適です。逆に、月間数百万PV規模の大規模本番アプリや、細かいカスタマイズが必要な業務系・金融系システムでは、自由度やコストの観点からAWS・GCPなどのIaaSが選ばれることが多くなります。「スピードを優先したいフェーズ」「インフラに人手を割けない場合」にこそ向くプラットフォームです。

Herokuの料金体系【2026年最新・無料プランは廃止】

Herokuの料金で最も重要な変更点は、2022年11月28日をもって無料プランが廃止されたことです。それまで個人開発や学習で広く使われていた無料Dyno枠はなくなり、現在はすべて有料プランとなっています。あわせて、1年以上利用実績のないアカウントや関連データも削除されました。かつて「一定時間アクセスがないとスリープする無料プラン」を前提にした解説は、現在は当てはまらないため注意してください。

現行の主なプラン

現在のHerokuは、主に次の有料プランで構成されています(料金は変動するため、最新の正確な情報は公式の料金ページでご確認ください)。

  • Eco:個人・小規模向けの最も安価なプラン。月額5ドルで、アカウント内の全Eco Dyno合計で月最大1,000時間まで使える定額制。30分間アクセスがないとスリープする。
  • Basic:旧「Hobby」プランから改名。1 Dynoあたり月額上限7ドル(時間あたり約0.01ドルの秒単位課金)。スリープせず、カスタムドメインや無料SSLにも対応し、小規模アプリやテスト環境向け。
  • Standard:本番運用向け。Standard 1X(月上限25ドル/512MB RAM目安)やStandard 2X(月上限50ドル/1GB RAM目安)があり、オートスケーリングやメトリクスなどが利用できる。
  • Performance:高いパフォーマンスが必要な大規模アプリ向けの上位プラン。
  • Private / Shield:専用ネットワークやより高いセキュリティ要件に対応するエンタープライズ向け。

料金は実時間ベースの秒単位課金で、前月の使用分が請求されます。使っていないときはDynoをスケールダウン(0に)すれば、その間の課金を抑えられます。

Dynoとアドオンの課金

Herokuの料金は、「Dyno(ダイノ)」と呼ばれる実行環境の数・種類によって決まります。WebサーバーだけでなくバックグラウンドジョブやバッチにもそれぞれDynoが必要です。さらに、PostgreSQLデータベース・Redisキャッシュ・監視・ログ管理などのアドオンも多くが有料で、月額制で課金されます。複数のアドオンを組み合わせると想定以上に高額になることもあるため、構成を決める際は事前に料金を見積もっておくことが大切です。

Herokuの基本的な使い方と初期設定

ここからは、Herokuを使い始めるための基本手順を解説します。

アカウント作成とログイン

まず公式サイト(heroku.com)からアカウントを作成します。メールアドレスを登録し、確認メールのリンクをクリックして有効化します。その後、後述のHeroku CLIをインストールし、heroku loginコマンドを実行するとブラウザが起動して認証が行われ、CLIとアカウントが連携されます。

アプリの作成

アプリの作成は、ブラウザのGUI管理画面「Heroku Dashboard」と、CLIのどちらからでも行えます。Dashboardでは「New → Create new app」からアプリ名とリージョンを指定して作成します。CLIなら、アプリのディレクトリでheroku createを実行すると、Heroku上にアプリが作成され、Gitのリモートリポジトリが自動で追加されます。環境変数の設定、アドオンの追加、Dynoのスケーリングは、GUI・CLIのどちらからでも操作可能です。

環境変数(Config Vars)の設定

APIキーやデータベースのパスワードなどの機密情報は、コードに直接書かず、環境変数として管理します。Herokuではこれを「Config Vars」と呼び、CLIではheroku config:set KEY=VALUEで設定できます(DashboardからもGUIで編集可能)。アプリ内からは、たとえばNode.jsならprocess.env.KEYのようにアクセスします。これにより、開発環境と本番環境の切り替えや、秘密情報の安全な管理が容易になります。

Heroku CLIのインストールと基本コマンド

Heroku CLIは、デプロイ・ログ確認・アドオン管理・環境変数設定などをコマンドラインから行う公式ツールです。本格的に運用するなら導入は必須です。

インストール方法(OS別)

OSごとに手順が異なります。Windowsは公式サイトからインストーラー(.exe)をダウンロードして実行します。MacはHomebrewが推奨で、brew tap heroku/brew && brew install herokuでインストールできます。Linuxはパッケージマネージャや公式スクリプトを利用します。インストール後、heroku --versionで導入を確認し、heroku loginでアカウントと連携します。

よく使う基本コマンド

デプロイ・運用でよく使うコマンドは次の通りです。

  • heroku create:新しいアプリを作成
  • git push heroku main:コードをデプロイ
  • heroku ps:Dynoの稼働状況を確認
  • heroku logs --tail:リアルタイムでログを監視(トラブル時に必須)
  • heroku open:アプリをブラウザで開く
  • heroku restart:アプリを再起動
  • heroku config:環境変数の確認
  • heroku addons:create <アドオン名>:アドオンの追加

アプリが正しく動かないときは、まずheroku logs --tailでエラーやスタックトレースを確認し、heroku psでDynoの状態を調べ、必要に応じてheroku restartで再起動する、という流れが基本のトラブルシューティングです。

Herokuでのデプロイ手順

Herokuのデプロイは、Gitベースで非常にシンプルに行えます。GitHub連携やDockerイメージの利用も可能です。

初期化からデプロイまでの流れ

大まかな流れは次の通りです。

  1. ローカルでアプリを開発し、git initでGitリポジトリを初期化、コードをコミットする
  2. heroku createでHerokuアプリを作成(Gitリモートが自動追加される)
  3. 実行コマンドを定義するProcfileを用意する
  4. git push heroku mainでデプロイを実行する
  5. heroku openでアプリをブラウザ表示し、動作を確認する

コードをプッシュすると、Herokuは言語に応じたbuildpackで自動的にアプリをビルドし、新しいリリースを作成して再起動します。リリース履歴はheroku releasesで確認でき、問題があればheroku releases:rollbackで以前のバージョンに戻せます。なお、デプロイの前提となる基本的なGitコマンドに不安がある場合は、あわせて確認しておくとスムーズです。

buildpackの仕組み

buildpackは、アプリの言語・フレームワークを判別して環境を自動構築する仕組みです。Node.js・Python・Ruby・Javaなどに対応し、たとえばNode.jsならpackage.jsonがあれば依存パッケージのインストールから実行までを自動で行います。明示的に指定したい場合はheroku buildpacks:setを使い、複数のbuildpackを組み合わせることもできます。公式にサポートされない言語(Rust、Elixirなど)も、コミュニティ製のカスタムbuildpackやDocker(Dockerfile)で対応可能です。

デプロイ時の注意点

Webアプリをデプロイする際の注意点として、まずProcfileでアプリの起動コマンドを必ず明示します。これがないと起動方法を特定できずエラーになります。また、package.jsonrequirements.txtなどの依存定義ファイルは常に最新にしておきましょう。重要な注意点として、Herokuのファイルシステムは揮発性(ephemeral)で、Dyno再起動時にアプリ内に保存したファイルは消えます。そのため、ユーザーがアップロードする画像・動画などの永続保存には向かず、Amazon S3やCloudinaryといった外部ストレージと連携するのが一般的です。

Herokuが対応するプログラミング言語

Herokuは多言語対応のPaaSです。公式にサポートされている主要言語は、Node.js・Python・Ruby・Java・PHP・Go・Scalaなどです。いずれもbuildpackにより環境構築が自動化されており、設定ファイルを用意すれば最小限の手間でデプロイできます。

  • Node.js:人気が高く、API・Webアプリ構築に最適。package.jsonstartスクリプトを定義し、enginesでバージョンを指定する。ExpressやNext.jsとの組み合わせも容易。
  • Python:DjangoやFlaskが定番。requirements.txtで依存ライブラリ、runtime.txtでバージョンを指定。
  • Ruby:Herokuが創業時からサポート。Ruby on Railsが主流で、GemfileProcfileを用意する。
  • Java / PHP:JavaはSpring BootでのREST API構築、PHPはLaravelなどでのWebアプリ構築が一般的。

公式にサポートされない言語も、カスタムbuildpackやDockerを使えばデプロイできます。プロジェクトの要件に応じて柔軟に言語・構成を選べるのがHerokuの強みです。

HerokuでWebサイト・Webアプリを公開する際のポイント

HerokuはWebサイトやWebアプリの公開にも使えます。公開にあたって押さえておきたいポイントを紹介します。

カスタムドメインとHTTPS対応

初期ドメイン(xxxxx.herokuapp.com)のほか、独自ドメインを設定できます。heroku domains:add yourdomain.comで追加し、DNSレコード(CNAMEなど)をHerokuに向けます。HTTPS対応については、Herokuの「Automated Certificate Management(ACM)」により、Let’s Encryptの証明書を自動で発行・更新できます。ビジネス用途や顧客情報を扱うサイトでは必須の設定です。

データベース連携

動的サイトではデータベースが欠かせません。Herokuではheroku addons:create heroku-postgresqlでPostgreSQLを簡単に導入できます(接続情報は環境変数DATABASE_URLで自動提供)。Django・Rails・Expressなどの主要フレームワークなら、ORMを通じて手軽にDB連携できます。キャッシュが必要な場合はRedisを併用するとパフォーマンスが向上します。

監視・ログ運用

公開後の安定運用には監視が重要です。heroku logs --tailでリアルタイムにログを確認できるほか、Papertrailなどのログアドオンを導入すればGUIでの可視化や通知設定も可能です。New Relicなどの監視ツールと連携すれば、レスポンス時間やリソース消費もモニタリングできます。

Herokuの近年の動向

Herokuは長年PaaS市場を牽引してきましたが、近年は大きな変化がありました。最も影響が大きかったのが、前述の2022年11月の無料プラン廃止です。背景には、無料枠を悪用するスパムボットの増加と、運営コスト・セキュリティ対策のバランスを取る狙いがあったとされています。これにより、個人開発者やオープンソースのコミュニティの一部は、Render・Railway・Fly.ioといった新興のPaaSへ移行する動きも見られました。

一方、Salesforce傘下のHerokuは、エンタープライズ向けの安定性やSalesforce製品との親和性を強みに、ビジネス用途での利用が続いています。近年はGitHub連携やCI/CD(GitHub Actionsとの連携など)の整備、セキュリティ強化も進められており、「開発が速いだけのPaaS」から「本番運用に耐える信頼性の高いPaaS」へと位置づけを変えつつあります。料金やプランは今後も改定の可能性があるため、公式の発表に目を配っておくことが大切です。

まとめ

Herokuは、コードをデプロイするだけでアプリをクラウドに公開できる、手軽さに優れたPaaSです。要点を整理します。

  • インフラ構築不要で、Gitデプロイにより素早くアプリを公開できる
  • 2022年11月に無料プランは廃止され、現在は有料プラン(Eco/Basic・Standard・Performance・Private)のみ
  • Eco(月5ドル)やBasic(月上限7ドル)が個人・小規模向け、StandardやPerformanceが本番向け
  • Node.js・Python・Ruby・Java・PHPなど多言語に対応
  • スタートアップのMVP構築や学習用途に最適。大規模・高カスタマイズ用途はIaaSが向く

無料での運用はできなくなったものの、開発スピードと手軽さは依然として大きな魅力です。まずはBasicプランで小さなアプリをデプロイしてみると、Herokuの「コードを書いて、プッシュするだけで公開できる」体験を実感できるでしょう。

よくある質問(FAQ)

Q. Herokuは今でも無料で使えますか?
A. いいえ。無料プランは2022年11月28日に廃止され、現在はすべて有料プランです。最も安価なのは月額5ドルのEcoプランです。

Q. Herokuの料金プランにはどんなものがありますか?
A. 主に「Eco・Basic」(個人・小規模向け)、「Standard」(本番向け)、「Performance」(大規模向け)、「Private/Shield」(エンタープライズ向け)があります。料金は秒単位の従量課金で、前月分が請求されます。

Q. HerokuとAWSの違いは何ですか?
A. HerokuはPaaSで、インフラ管理が不要で手軽に使えます。AWSはIaaSで、自由度・拡張性が高い反面、構築・運用に専門知識が必要です。スピード重視ならHeroku、細かい制御や大規模運用ならAWSが向きます。

Q. Herokuはどんな言語に対応していますか?
A. Node.js・Python・Ruby・Java・PHP・Go・Scalaなどに公式対応しています。カスタムbuildpackやDockerを使えば、対応外の言語もデプロイ可能です。

資料請求

RELATED POSTS 関連記事