0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

GCPのVM上で構築したFastAPIを外部PCからコールする

0
Posted at

GCPのVMでAPIを作成し、外部に公開したかったので、その手順をまとめました。
APIはFastAPIを利用して作成します。
APIの作成方法は詳しく触れませんので他の記事を参照してください。

目次

  1. GCP上にVM(GCE)を構築し、APIを作成する。
  2. GCPのファイアーウォールの設定をする。
  3. 外部PCからAPIをコールする。

1. GCP上にVM(GCE)を構築し、APIを作成する。

  • VMの作成

まず、GCP上にVMを作成します。
スペックを求めなければ無料で作成できます。
こちらを参照してください。

特別な設定などは必要ありませんが、外部IPを固定しておくと今後便利です。
pythonはインストールしておいてください。

  • APIの作成

以下のコードを任意のディレクトリに作成し、実行してください。

main.py
from fastapi import FastAPI
import uvicorn

app = FastAPI()

@app.get("/")
async def root():
    message = "Hello"
    return message

if __name__ == "__main__":
    uvicorn.run(app, host="0.0.0.0", port=8000)

ホストを0.0.0.0/0にし、port番号8000に穴をあけています。
「手順2. GCPのファイアーウォールの設定をする。」でここへの外部からのアクセス許可を設定します。

実行すると以下のようにターミナルに出力されます。

$ python main.py
INFO:     Started server process [56297]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)

2. GCPのファイアーウォールの設定をする。

GCPコンソール上で、左上のメニュー>VPC ネットワーク>ファイアウォール からファイアウォールルールを作成することができます。

以下のように設定します。
ここで、任意のアドレス(0.0.0.0/0)から8000番ポートへのアクセスを許可しています。
セキュリティを高めたい方はアドレスを絞ってください。

image.png

ここで作成したターゲットタグ(fastapi)をVMで設定します。
VMインスタンスの設定で、ネットワークタグを追加します。
image.png

3. 外部PCからAPIをコールする。

以上で準備が整いましたので、いよいよAPIをコールします。
ブラウザ上でhttp://[VMの外部IPアドレス]:8000と入力します。

"Hello"

と表示されれば完了です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?