無料APIサーバー構築!RenderにFast APIアプリをデプロイする

2023年6月4日日曜日

Python Render

t f B! P L

Renderをご存知でしょうか?Renderは、無償プランも存在するNodeやPythonなどのバックエンドサービスをGitHubのリポジトリと直接連携してデプロイすることが可能なPaaSです。本記事では、無料APIサーバーを一緒に構築しながら、このRenderを用いてFast APIアプリをデプロイする手順を詳しく解説していきます。

スポンサーリンク

ソースコードの準備

「main.py」

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def root():
    return {"message": "Hello World"}

「requirements.txt」

fastapi==0.95.2
uvicorn==0.22

GitHubリポジトリの作成

VSCodeからGitHubのリポジトリを作成します。

ソース管理メニューから「GitHubに公開」を選択。
enter image description here

新規に作成するリポジトリ名を入力。今回は「RenderAPI」というリポジトリ名にしました。リポジトリの公開設定は「Private」にします。
enter image description here

リポジトリに登録するファイルを選択します。__pycache__ はソース管理する必要がないので外します。「OK」をクリックすると、GitHubへ公開されます。
enter image description here

GitHubのページに行って、正常にリポジトリが作成されているか確認します。
enter image description here

Renderアカウントの作成

以下のURLにアクセスして、Renderのアカウントを作ります。
Render

アカウントは、GitHub・GitLab・Googleのアカウントまはたメールアドレスで登録できます。どうせ後からGitHubのリポジトリと連携するので、私はGitHubのアカウントでアカウントを作成しました。
enter image description here

GitHub側で認証します。
enter image description here

メールアドレスを登録します。
enter image description here

上で指定したメールアドレスに認証メールが飛んで来るので、リンクをクリックして認証を完了させます。
enter image description here

ここまでの手順で、Renderの登録は完了です。次は、Fast APIのアプリをRenderにデプロイします。

スポンサーリンク

Fast APIアプリをRenderにデプロイ

Renderのダッシュボードから「New Web Service」をクリックします。
enter image description here

GitHubのリポジトリと連携

GitHubの「Connect account」をクリック
enter image description here

GitHubのページに移動します。ここで、Renderからアクセス可能なリポジトリを設定します。

  • 「All repositories」:GitHubアカウントの全リポジトリ
  • 「Only select repositories」:選択したリポジトリのみ

今回は「Only select repositories」を選択し、「Render API」のリポジトリのみアクセス許可を設定します。
enter image description here

下の方までスクロールして「Install」をクリック
enter image description here

許可したリポジトリが一覧に表示されます。「Render API」の「Connect」をクリックします。
enter image description here

デプロイの設定

デプロイの設定を行います。まず、Name に適当なアプリ名を入力します。
enter image description here

スタートアップコマンドに、次のコマンドを設定。また、料金プランは「Free」を選択します。

uvicorn main:app --host 0.0.0.0 --port 10000

enter image description here

最後に、下の方までスクロールして「Create Web Service」をクリックしてデプロイを開始します。
enter image description here

動作確認

デプロイが完了すると、ダッシュボードの以下の部分にアプリのURLが表示されます。
enter image description here

ブラウザでアクセスして、動作確認してみましょう。
enter image description here

うん、正常に Hello WorldのJSONが返されていますね!

まとめ

Python+Fast APIのアプリを、Renderにデプロイする手順を紹介しまいた。Freeプランでも、個人用または小さなコミュニティー程度であれば十分に使えます。

スポンサーリンク
スポンサーリンク

このブログを検索

Profile

自分の写真
Webアプリエンジニア。 日々新しい技術を追い求めてブログでアウトプットしています。
プロフィール画像は、猫村ゆゆこ様に書いてもらいました。

仕事募集もしていたり、していなかったり。

QooQ