はじめに
今回はHerokuとFastAPIを用いて簡単にWebアプリケーションをデプロイする方法を紹介します。
この記事を読んで欲しい人
- サクッとサーバーレスでWebアプリケーションをデプロイしたい人
- FastAPIで作ったサービスを作ったことがある人
サービスの特徴
Herokuは、アプリケーションの開発、デプロイ、運用を行うためのクラウドプラットフォームです。簡単なコマンド操作だけで、Webアプリケーションをデプロイすることができます。また、PHP以外にもPython、Ruby、Node.js、Java、Goなど、多くの言語に対応しています。
サービスの導入方法
Heroku CLIのインストール
まずはHerokuのアカウントを作成します。支払い方法まで登録しないとデプロイできないのでそこまで登録しておきましょう。次に、Heroku CLIをインストールします。Heroku CLIは、Herokuのコマンドラインインターフェースです。Heroku CLIを使うことで、Heroku上でアプリケーションの作成、デプロイ、運用を行うことができます。
FastAPIで簡単に動くアプリの作成
FastAPIは、PythonのWebフレームワークです。FastAPIを使うことで、簡単にWebアプリケーションを作成することができます。とりあえず、以下のコードをコピペして、main.py
というファイル名で保存してください。
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def read_root():
return {"Hello": "World"}
次に、Herokuへデプロイ時の設定ファイルを作成します。以下のコードをコピペして、Procfile
というファイル名で保存してください。
web: uvicorn main:app --reload
Herokuへのデプロイ
まず、Herokuにログインします。以下のコマンドを実行してください
heroku login
画面が遷移するので、ログインしてください。
次に、Herokuにアプリケーションを作成します。以下のコマンドを実行してください。
heroku create
作成されたアプリケーションにデプロイします。
herokuでは、デプロイするためにgitを使います。以下のコマンドを実行してください。
git push heroku
これで、HerokuにFastAPIのアプリケーションがデプロイされました。HerokuのURLにアクセスすると、{"Hello": "World"}
と表示されるはずです。
Herokuの動作を確認
Herokuのダッシュボード
Herokuのダッシュボードにアクセスすると、デプロイされたアプリケーションの情報が表示されます。アプリケーションのステータスや、ログ、設定などを確認することができます。
Herokuのコマンド
Heroku CLIを使うことで、Heroku上でアプリケーションの操作を行うことができます。以下のコマンドを実行することで、アプリケーションのステータスやログを確認することができます。
# アプリケーションのステータスを確認
heroku ps
# アプリケーションのログを確認
heroku logs --tail
# アプリケーションの再起動
heroku restart
# アプリケーション内でのコマンド実行(ここではlsを実行)
heroku run ls
# アプリケーションの停止
heroku ps:scale web=0
おわりに
今回は、Herokuで使えるコマンドについて簡単に紹介しました。自分の使い慣れた言語でサクッとWebアプリケーションをデプロイしたいときには、Herokuが便利ですね。