2
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?

AWS EC2でFlaskを動かす

Posted at

おはようございます。座禅いぬです。

いつも表題の仕組みを使っているのですが、見事に構築の仕方を忘れました。頻繁にサーバーなんて立てないよね...特に非エンジニアは。そこで忘備録というかせっかくなので、自分のような非エンジニアがチャレンジするときの助けになったらうれしいので、手順をなるべく詳細にまとめなおすことにしました。

とりあえずEC2立ち上げよう

  1. 左上のここで「EC2」を検索
    image.png

  2. 「インスタンス」を選ぼう
    image.png

  3. 「インスタンスを起動」する
    image.png

  4. 「名前とタグ」で適当な名前をアルファベットでつける(例:zazeninu-is-not-a-dog)

  5. 「アプリケーションおよびOSイメージ」で「クイックスタート」「Amazon Linux2023AMI」を選ぶ
    image.png

  6. 「インスタンスタイプ」を選ぶ。とりあえずt2.microにしとこう

  7. 「キーペア(ログイン)」
    新しいキーペアの作成→キーペア名(アルファベット)、RSA、.pemでキーペアを作成する
    →pemファイルがダウンロードされる。これ絶対無くしちゃダメ。

  8. 「ネットワーク設定」では、「セキュリティグループを作成」、「からのSSHトラフィックを許可」を「自分のIP」、「インターネットからのHTTPトラフィックを許可」にチェックを入れる。

  9. とりあえずこれで右側の「インスタンスを起動」を押そう
    起動したらインスタンスに接続、で「SSHクライアント」を選ぶ。下の方にssh-i なんちゃらというのがあるので、これをコピペしておく

SSH接続する

gitbashが便利

僕はssh接続にはGitBash使っています。Windows上でLinuxコマンドがちょっと使えるという感じのツール。
参考資料→WindowsでGitBashを使って快適なBashライフを送る

接続してみよう

ssh -i (さっき落としたpemファイルを絶対パスで指定) ec2-user@(IPv4アドレス)

これをかますと、初回だけ
The authenticity of host'(IPV4アドレス) can't be established.なんちゃらとでるので、yesと打ってエンターを押す。すると
image.png
なんか鳥が出てきます。これでOK.

timezone設定しよう

最初は時間帯が世界標準的な何かで、日本時間じゃないので色々後でイラつくことになります。そこで、日本時間にサーバーをセッティングする必要があります。
ここを参考にするとすぐできます

インストール

まずはyumをアップデートしてpipをインストールします。

sudo yum update
sudo yum install python3-pip 
sudo pip install flask

これでOK.

あとはflaskでアプリを書いて、scpでアップロードします。フォルダごと送る時は-rを指定します。

scp -i (さっき落としたpemファイルを絶対パスで指定)-r (flaskアプリを書いたフォルダを絶対パスで指定) ec2-user@(IPv4アドレス):/home/ec2-user/

これで送りこまれるので、

sudo flask --app (実行ファイル名).py run --port 80 --host 0.0.0.0

これでサーバーが起動します。
ただし、あくまでこれはテストサーバーなので、実際にはwaitressとか入れるといい感じです。

まとめ

思い出してみたら簡単でした。
テストサーバーまでは簡単なのですが、他にもいろいろやろうと思ったらnginx入れたりDBサーバ立てたりセキュリティ色々いじったりは必要です。でもこの作業たまにやると色々思い出していいなと思いました。

そのうちCloudFormationでどうやるかとか、AMIイメージつかってみるとか、TerraForm使うとかもまとめてみたい。

参考資料

YouTube

オンライン学習

  • paiza
    python、flask、SQLあたりはだいたいここで覚えました。ブラウザ上でほぼ完結するからわかりやすかったです。
2
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
2
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?