2024年7月10日水曜日

EC2にRDSから情報を取得し、FlaskでWebアプリとして表示させる

 今回はEC2にRDSから情報を取得し、FlaskでWebアプリとして表示させることをやっていきます。

事前知識

・EC2でサーバを立ち上げてクラウドシェルで接続(https://smizunolab.blogspot.com/2023/10/ec2.html)

・Pythonでデータベースに情報を格納する(https://smizunolab.blogspot.com/2024/07/python.html)

・EC2でjupter-notebookをインストールする(https://smizunolab.blogspot.com/2023/11/ec2jupter-notebook.html)

1. EC2を立ち上げ、Flaskをインストールする

上記の「EC2でサーバを立ち上げてクラウドシェルで接続」の方法でEC2にサーバを立ち上げます。また「EC2でjupter-notebookをインストールする」にあるpipのインストールを実施しといてください。

$ sudo yum install python3-pip

今回はec2-userでFlaskをインストールしていきます。

(1) Flaskのインストール

$ pip install Flask mysql-connector-python

(2) Flaskアプリケーションの設置 : ホームディレクトリに作成

$ mkdir my_flask_app

$ cd my_flask_app

$ touch app.py

$ mkdir templates

$ touch templates/index.html

(3) app.pyの作成:

ホストやパスワードは自分の環境に揃える

(4) index.htmlの作成:

templates/index.html にコードを書き込みます。

(5) セキュリティグループの追加 : インバウンドルールに5000を追加(Flaskのデフォルトポートが5000)

(6) app.pyの実行 : python3 app.py
(7) http://publicDNS:5000 でアクセスし、データベースの内容を確認する

もしうまくいかない場合は以下をチェック
・データベース(今回はRDS)に接続ができているか
・データベース上にデータベース(nasa)、テーブル(apod)が保存されているか
・Flaskのインストールができているか
・5000番ポートでのアクセスができているか(セキュリティグループにインバウンドルールが追加されているか)

0 件のコメント:

コメントを投稿