【使い方】HerokuにPython(FastAPI)アプリをデプロイする手順

【使い方】HerokuにPython(FastAPI)アプリをデプロイする手順

 

★悩み★
・PythonのFastAPIで作ったアプリケーションをHerokuで公開できるの?
・Python(FastAPI)をHeroku上で実行するための使い方を知りたい。
・HerokuにPython(FastAPI)アプリをデプロイ(配備)する手順を知りたい。


こういった「悩み」に答えます。

 

★本記事の内容★
① HerokuにPython(FastAPI)アプリをデプロイするための準備を解説
② HerokuにPython(FastAPI)アプリをデプロイする手順を解説



これからご紹介する「【使い方】HerokuにPython(FastAPI)アプリをデプロイする手順」を実践したことで、筆者は30分以内で「PythonのFastAPIで作成したアプリケーションをHerokuにデプロイ(配備)」できました。
 

記事の前半では「HerokuにPython(FastAPI)アプリをデプロイするための準備」を解説します。記事の後半では「HerokuにPython(FastAPI)アプリをデプロイする手順」を紹介します。
 

この記事を読み終えることで、「PythonのFastAPIで作成したアプリケーションをHeroku上で実行できる」状態になります。
 

ちなみに、「作成したアプリケーションを削除する」といったHeroku関連の情報を知りたい方には、以下のURLがオススメです。
参照:Heroku関連の記事一覧(本ブログ)
 

★Herokuとは★
Herokuは、「データとアプリのプラットフォーム」を提供するクラウドサービスです。Herokuを使用することで、Pythonなどで開発したWebアプリケーションを簡単に全世界へ公開できます。
Herokuの特徴(メリットとデメリット)やユースケースを知りたい方には、以下の記事がオススメです。
>> 【要点】Herokuとはを解消!初心者向けに特徴から使い方まで解説


 

HerokuにPython(FastAPI)アプリをデプロイするための準備

HerokuにPython(FastAPI)アプリをデプロイするための準備


「HerokuにPython(FastAPI)アプリをデプロイするための準備」に関してご紹介します。

★HerokuにPython(FastAPI)アプリをデプロイするための準備の流れ★
手順1:Herokuのアカウントを新規作成
手順2:HerokuのCLI(herokuコマンド)をインストール
手順3:HerokuのCLI経由でHerokuにログイン



上記手順を実施することで、「HerokuにPython(FastAPI)アプリをデプロイするための準備」ができます。
 

上記の各手順は、以下の日時と環境で動作確認済みです。
動作確認済み日時:2021年11月17日
動作確認済み環境:CentOS Linux release 7.7.1908 (Core)



以降で、上記「HerokuにPython(FastAPI)アプリをデプロイするための準備の流れ」の各手順に関してご説明します。
 

手順1:Herokuのアカウントを新規作成

「手順1:Herokuのアカウントを新規作成」に関して解説します。
 

PythonのFastAPIで作成したアプリケーションをHerokuにデプロイするには、Herokuのアカウントが必要です。



Herokuのアカウントを新規作成する手順に関しては、以下の記事をごらんください。
 

 

既にHerokuのアカウントを持っている場合、本手順を省略してください。



以上で、「手順1:Herokuのアカウントを新規作成」は完了です。
 

手順2:HerokuのCLI(herokuコマンド)をインストール

「手順2:HerokuのCLI(herokuコマンド)をインストール」に関して解説します。
 

PythonのFastAPIで作成したアプリケーションをHerokuに簡単にデプロイするために、HerokuのCLI(herokuコマンド)をインストールしましょう。



HerokuのCLI(herokuコマンド)をインストールする手順に関しては、以下の記事をごらんください。
 

 

既にHerokuのCLI(herokuコマンド)をインストールしている場合、本手順を省略してください。



以上で、「手順2:HerokuのCLI(herokuコマンド)をインストール」は完了です。
 

手順3:HerokuのCLI経由でHerokuにログイン

「手順3:HerokuのCLI経由でHerokuにログイン」に関して解説します。
 

PythonのFastAPIで作成したアプリケーションをHerokuにデプロイするためには、HerokuのCLI経由でHerokuにログインしておく必要があります。



HerokuのCLI(herokuコマンド)経由でHerokuにログインする手順に関しては、以下の記事をごらんください。
 

 

既にHerokuのCLI(herokuコマンド)経由でHerokuにログインしている場合、本手順を省略してください。



以上で、「手順3:HerokuのCLI経由でHerokuにログイン」は完了です。
 

上記の流れで、HerokuにPython(FastAPI)アプリをデプロイするための準備ができました。


 

HerokuにPython(FastAPI)アプリをデプロイする手順

HerokuにPython(FastAPI)アプリをデプロイする手順


「HerokuにPython(FastAPI)アプリをデプロイする手順」に関してご紹介します。
 

★HerokuにPython(FastAPI)アプリをデプロイするための流れ★
手順1:PythonでFastAPIのアプリケーションを作成
手順2:作成したPython(FastAPI)アプリをHeroku用に設定
手順3:Herokuにアプリケーションを作成
手順4:gitコマンドで作成したPython(FastAPI)アプリをHerokuにデプロイ
手順5:HerokuにデプロイしたPython(FastAPI)アプリの動作確認



上記手順を実施することで、「HerokuにPython(FastAPI)アプリをデプロイ(配備)」できます。
 

上記の各手順は、以下の日時と環境で動作確認済みです。
動作確認済み日時:2021年11月17日
動作確認済み環境:CentOS Linux release 7.7.1908 (Core)



以降で、上記「HerokuにPython(FastAPI)アプリをデプロイするための流れ」の各手順に関してご説明します。
 

手順1:PythonでFastAPIのアプリケーションを作成

「手順1:PythonでFastAPIのアプリケーションを作成」に関して解説します。
 

Herokuにデプロイしたい「Python(FastAPI)のアプリケーション」を作成しましょう。



PythonでFastAPIのアプリケーションを作成する手順に関しては、以下の記事をごらんください。
 


以降の手順では、上記の記事で作成した「PythonのFastAPIアプリケーション」を想定として手順を解説します。
 

以上で、「手順1:PythonでFastAPIのアプリケーションを作成」は完了です。
 

手順2:作成したPython(FastAPI)アプリをHeroku用に設定

「手順2:作成したPython(FastAPI)アプリをHeroku用に設定」に関して解説します。
 

作成したPython(FastAPI)アプリをHerokuで実行するための設定をしましょう。



Python(FastAPI)アプリをHerokuで実行するためには、下記の構成にする必要があります。下記を参考にし、Heroku用に設定してください。

# cd <FastAPIアプリケーションのディレクトリ>
# ls -1
Procfile          # Heroku上でFastAPIアプリを起動するためのコマンドを記載
main.py           # FastAPIアプリのプログラム
requirements.txt  # FastAPIアプリで利用するPythonのライブラリを記載
runtime.txt       # 利用するPythonのバージョンを記載
# cat Procfile 
web:  uvicorn main:app --reload --host=0.0.0.0 --port=${PORT:-5000}
# cat requirements.txt 
fastapi
uvicorn
# cat runtime.txt 
python-3.8.5
# 



以上で、「手順2:作成したPython(FastAPI)アプリをHeroku用に設定」は完了です。
 

手順3:Herokuにアプリケーションを作成

「手順3:Herokuにアプリケーションを作成」に関して解説します。
 

Python(FastAPI)をHerokuにデプロイするために、Herokuにアプリケーションを作成しましょう。



Herokuにアプリケーションを作成するために、「ターミナル」または「コマンドプロンプト」上で以下のコマンドを順に実行してください。

# ↓↓ heroku create <作成したいアプリケーション名> ↓↓
# heroku create python-hero-kakedashi-test-app
Creating ⬢ python-hero-kakedashi-test-app... done
https://python-hero-kakedashi-test-app.herokuapp.com/
| https://git.heroku.com/python-hero-kakedashi-test-app.git # echo $? 0 #



コマンド実行後、「0」が表示された場合、「正常にHerokuにアプリケーションを作成できた」と判断できます。
 

★heroku createのコマンドリファレンス★
heroku create <作成したいアプリケーション名>
処理内容:Herokuに指定したアプリケーションを作成
参照:Heroku CLI コマンドのリファレンス(公式サイト)



以上で、「手順3:Herokuにアプリケーションを作成」は完了です。
 

手順4:gitコマンドで作成したPython(FastAPI)アプリをHerokuにデプロイ

「手順4:gitコマンドで作成したPython(FastAPI)アプリをHerokuにデプロイ」に関して解説します。
 

gitコマンド経由で、「PythonのFastAPIで作成したアプリ」をHerokuにデプロイできます。



作成したFastAPIのアプリをHerokuにデプロイ(配備)するために、以下のコマンドを順に実行してください。

# cd <FastAPIアプリケーションのディレクトリ>
# git init                     # gitのリポジトリを作成
# git add .                    # ディレクトリ直下のファイルをgitの管理対象に追加
# git commit -m "first commit" # ファイルの変更をgitに登録
# ↓↓ heroku createコマンドで利用した名称を指定  ↓↓
# heroku git:remote -a python-hero-kakedashi-test-app # Herokuとgitを関連づける
# git push heroku master  # HerokuにPython(FastAPI)アプリをデプロイ(配備)
・
・
・
To https://git.heroku.com/python-hero-kakedashi-test-app.git
 * [new branch]      master -> master



コマンド実行後、「[new branch] master -> master」が表示された場合、「正常にHerokuにデプロイできた」と判断できます。
 

★heroku git:remoteのコマンドリファレンス★
heroku git:remote <heroku createで作成したアプリケーション名>
処理内容:Herokuとgitを関連づける
参照:Heroku CLI コマンドのリファレンス(公式サイト)



以上で、「手順4:gitコマンドで作成したPython(FastAPI)アプリをHerokuにデプロイ」は完了です。
 

手順5:HerokuにデプロイしたPython(FastAPI)アプリの動作確認

「手順5:HerokuにデプロイしたPython(FastAPI)アプリの動作確認」に関して解説します。
 

HerokuにデプロイしたPython(FastAPI)アプリの動作を確認しましょう。



HerokuにデプロイしたPython(FastAPI)アプリの動作を確認するために、以下のコマンドを実行してください。

#  curl https://python-hero-kakedashi-test-app.herokuapp.com/
{"text":"hello world!"}
#



コマンド実行後、「{“text”:”hello world!”}」が表示された場合、「正常にHerokuでPython(FastAPI)アプリを実行できた」と判断できます。
 

以上で、「手順5:HerokuにデプロイしたPython(FastAPI)アプリの動作確認」は完了です。
 

上記の流れで、PythonのFastAPIで作成したアプリをHeroku上で実行できました。



ちなみに、「Herokuを用いたWebアプリケーション作成手順」を体系的に学びたい方には、以下がおすすめです。無料体験もあるので、検討する価値ありです。

TechAcademy「Webアプリケーションコース」(無料体験あり)


 

【まとめ】HerokuにPython(FastAPI)アプリをデプロイする手順【使い方】

【まとめ】HerokuにPython(FastAPI)アプリをデプロイする手順【使い方】


いかがでしたでしょうか?
「作成したPython(FastAPI)アプリをHeroku用に設定する手順」、「gitコマンドでHerokuにFastAPIのアプリをデプロイする流れ」を解説し、以下の悩みを解決しました。
 

★悩み★
・PythonのFastAPIで作ったアプリケーションをHerokuで公開できるの?
・Python(FastAPI)をHeroku上で実行するための使い方を知りたい。
・HerokuにPython(FastAPI)アプリをデプロイ(配備)する手順を知りたい。



「Pythonのアプリ」と「gitとherokuコマンド」を準備するだけで、Heroku上でPython(FastAPI)アプリを実行できます。ぜひあなたも本記事を参考に「HerokuにPython(FastAPI)アプリをデプロイ」を実践してください。

タイトルとURLをコピーしました