Django

DjangoプロジェクトをHerokuにデプロイする最新手順

ⓘ本ページはプロモーションが含まれています

スポンサードリンク

はじめに

HerokuはDjangoアプリケーションのクラウドデプロイにおいて人気のあるプラットフォームですが、ユーザーごとに目的や技術スタックが異なります。本記事では一般的なHerokuデプロイフローDocker Compose・Gunicornを活用した最適化手順の両方を解説し、初心者から上級者まで対応できるよう構成しました。


Herokuへのデプロイの基本フロー

Herokuへのデプロイは以下4つの主要ステップで実施されます。技術スタックやプロジェクト規模に応じてアプローチを調整できます。

  1. Heroku CLIによる初期設定(アカウント作成・リポジトリ連携)
  2. ProcfileとGunicornでの起動コマンド定義
  3. 環境変数管理とセキュリティ対策の実施
  4. Docker Composeを活用したローカル/本番環境の一貫性確保

Heroku CLIを使用する際の基本事項

Heroku CLIは、プロジェクト初期化やデプロイに必須のツールです。以下に主な設定手順を整理しました。

Herokuアカウントの作成とCLIインストール

  1. Heroku公式サイトでアカウントを作成します。
  2. CLIは公式ページからダウンロードし、PCにインストールします。

    注意: デプロイ前にはheroku loginコマンドで認証を確実に行い、アクセス権を取得してください。


Procfileの作成とDyno起動設定

ProcfileはHerokuでアプリケーションを起動するための定義ファイルです。以下に主な構文と役割を解説します。

Procfileの基本構文と役割

ポイント: gunicornはWSGIサーバーで、DjangoアプリケーションをHTTP通信可能にします。


Web Dynoの指定方法

Web Dynoは、アプリケーションにアクセスする際のエントリーポイントです。ポート番号を自動取得するには以下のように記述します:

注意: $PORTはHerokuが動的に割り当てるポート番号を表します。


Worker Dynoの追加オプション

バックグラウンド処理(例: Celeryタスク)を行うにはWorker Dynoを追加します。以下のようにProcfileに記述します:


環境変数管理とセキュリティ対策

セキュリティ強化のため、SECRET_KEYなどの機密情報は本番環境でハードコーディングしないようにします。

Heroku Config Varsの設定方法

Heroku CLIから環境変数を設定するには以下のようにコマンドを使用します:

注意: .envファイルでローカル開発用に仮想的な環境変数を定義し、.gitignoreに登録する必要があります。


SECRET_KEYの安全な管理方法

Djangoアプリケーションではsettings.pyで以下のように読み込みます:

項目 内容 補足
環境変数の管理 .envファイルとHeroku Config Varsを組み合わせる 本番環境では.envはリポジトリに含めない
セキュリティ対策 DEBUG=False, ALLOWED_HOSTSの設定等を確認 ローカル開発用と本番環境で分離

Gunicornとの連携設定

GunicornはDjangoアプリケーションの起動に使われるWSGIサーバーです。以下に主な設定ポイントを整理しました。

wsgi.pyの調整ポイント

wsgi.pyファイルでは、アプリケーションを正しく参照できるようにします:


Gunicorn起動コマンドの最適化

以下のようにProcfileに記述することで、ポート番号を自動取得できます:

推奨バージョン: gunicorn21.x以上が推奨されます。


Docker Composeによるローカル環境構築

Heroku環境と同等なローカル開発環境を作成するには、Docker Composeが最適です。以下に具体的な手順を紹介します。

Docker Composeの構成例

docker-compose.ymlファイルでデータベースを定義します:


ローカルでのDynoシミュレーション方法

Docker Composeを使用すると、ローカルでHerokuのDynoを再現できます。以下のようにコマンドを実行します:


本番環境へのデプロイ手順

いよいよHerokuにアプリケーションを配備する手順です。

git push heroku mainの実行手順

ローカルリポジトリをHerokuにプッシュするには、以下のようにコマンドを実行します:


デプロイログの確認方法

デプロイ中のログは以下のようにして確認できます:


まとめと補足情報

本記事ではDjangoプロジェクトをHerokuにデプロイする際の手順や注意点について解説しました。以下のポイントを再確認してください。

  • ProcfileGunicornによるアプリケーション起動設定
  • 環境変数管理には.envファイルやdjango-environを活用
  • Docker Composeでローカル/本番環境の構成を一致させる

注意: 記述時点(2023年)の技術情報に基づいています。Django 4.2以降やHerokuの最新機能については、公式ドキュメントを参照してください。

スポンサードリンク

-Django