EC2を作ると色々と疑問がでてきたのでまとめる
EC2を作成して自作のアプリを動かすための手順はこんな感じ
1️⃣ EC2インスタンスを作成
2️⃣ SSHで接続する
3️⃣ Python & FastAPI 環境構築
4️⃣ アプリファイルをEC2にアップロード
5️⃣ FastAPIを起動
6️⃣ 外部からブラウザでアクセス確認
EC2を作ってみた
手順はこんな感じ
1-1. AWSマネジメントコンソールでEC2を開く
1-2. 「インスタンスを起動」
名前:fastapi-server(何でもOK)
OS:Amazon Linux 2023(推奨)
インスタンスタイプ:t2.micro(無料枠対象)
キーペア:作成 or 既存のキーペアを選択(.pemファイルをダウンロード)
セキュリティグループ:ポート22(SSH)とポート8000(カスタムTCPルール) を追加
1-3. 作成完了したら、パブリックIPv4アドレスをメモ!
躓きポイント1:接続できない
EC2ができたから、Tera Termでつなごうと思ったけどつながらない。
ホスト名のところにIPアドレスだけをいれていたので、ec2-user@IPアドレスという形にすると
上手く接続できた。
(EC2を実際に作るときの手順は別途写真付きでまとめる)
躓きポイント2:ローカルからEC2にファイルをコピーできない
自作APIをEC2にコピーしたいと思ったがやり方がわからない。
調べてみると以下のようだ
scp -i <キーペアファイル.pem> <送りたいファイル名> ec2-user@<パブリックIP>:<送り先の場所>
実際は以下のように作ったコマンドをPowerShellで実行。パスは適宜置き換えてください
scp -i "C:\Users\Test\Desktop\秘密鍵\Study.pem" "C:\Users\Test\Desktop\Study\main.py" ec2-user@EC2のIPアドレス:~/
とりあえず動いた
コピーしてきたPythonのファイルがある階層で下記を実行したらとりあえず起動した
uvicorn main:app --host 0.0.0.0 --port 8000
次回記事ではよくわかってなかったAWS環境のことをまとめます。