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?

初心者 AWS EC2にFlaskアプリケーションアップロードした。

Posted at

はじめに

今回AWS上に作ったサーバは、記事公開とともに閉じましたので接続できません。
が、この記事どおりにすればAWS EC2でサーバーを建てる体験ができます。

使うもの

◎買う↓
windowsPC
ネットワークつながるとこ

◎無料で作る↓
AWSアカウント
クレジットカード

◎PCにインストールする
powershell
Cursor エディタ VScodeでOK
クローム ブラウザ

AWS EC2で稼働させてみるアプリ

awsアカウント作成

クレジットカード登録

EC2 キーペア作成

コンピューティングへ
image.png

EC2を選択
キーペアを選択 AWS上の仮想コンピュータにアクセスするための鍵
AWS側でもつパブリックキー 自分のアカウントでもつプライベートキー 2つある
image.png

キーペア作成
image.png

image.png

キーペア作成をクリック
プライベートキーが自動でDLされる。
image.png

.sshフォルダを作って入れとこう。
image.png

EC2ダッシュボードへ
image.png

インスタンスを起動をクリック
image.png

これから作るコンピューター名を入力。
OSはubuntuを選択する。(任意)
マシンイメージを選択する。(無料枠とそうじゃないかわかれているよ。)
image.png

インスタンスタイプ選択。(無料枠とそうじゃないかわかれているよ。)
キーペア選択(さっき作ったやつを選択)

ネットワーク設定
AWS上にwebアプリサーバー建てるのでHTTPSとHTTPのトラフィック許可。
image.png

ストレージ設定
image.png

インスタンスを起動

SSH接続してみる

今立ち上げたインスタンスを確認
インスタンスIDをクリック

接続をクリック
image.png

SSHクライアントを選択
いまからAWS上に作ったarisa_serverにSSH接続する。

image.png

ここコピーする↑

ポート開放

ポート5000番をwebアプリケーションの窓口とするので、開放する。
ダッシュボードのセキュリティグループ。
image.png

セキュリティグループを編集 ここでポート開放を行う
launch-wizard-1を選択 セキュリティグループIDをクリック

image.png

インバウンドルール編集

インバウンドルールというのが クライアントからAWSへの接続口。 基本的に全て閉じられている。設定で開けてあげる。
アウトバウンドルールというのが AWSからクライアントへの出口。すべて空いている。設定で閉じてあげる。今回は設定しない。

image.png

ルールを追加押して5000を追加
image.png

保存

インスタンスの詳細画面のセキュリティ行ったら、5000番がインバウンドルールに追加されているのがわかる。
image.png

powershell起動

キーを格納したディレクトリに変更する。

ssh -i "./.ssh/aws_arisa.pem" ubuntu@ec2-54-206-71-142.ap-southeast-2.compute.amazonaws.com

./.ssh/aws_arisa.pem ここの部分ですね。
コマンド実行

image.png

これYes ホントにここに接続していい?と問われています。
接続失敗したらもいっかい接続コマンド実行。

↓接続成功画面
image.png

python インストール

sudo apt install python-is-python3

※vim操作方法
Esc → i 編集モード
Esc→:→wq→Enter 保存+閉じる

windowsのCusorエディタからAWSサーバーで開発する

windowsでCusor開く
拡張機能出す。
image.png

remote ssh インストール
image.png

Cursor再起動
するとサイドバーにリモートエクスプローラー出現
image.png

SSHの、"+"ボタン押す。
arisa_serverへのSSH接続文入力

ssh -i "./.ssh/aws_arisa.pem" ubuntu@ec2-54-206-71-142.ap-southeast-2.compute.amazonaws.com

アップデートするconfigファイルが選択できる
自分のユーザー名のやつを選択する。

AWSのインスタンスが表示される
image.png

ここクリック
image.png

ubuntuサーバーなのでLinuxを選択する。
image.png

待つ

エディタの左下がこれになったらエディタからAWSへ接続完了
image.png

フォルダーを開く

image.png

OK押す
image.png

ubuntuサーバーの中身が階層構造で見える化
image.png

ターミナル表示
左上の三点メニューから表示→ターミナル
ターミナルコマンドうつ
image.png

必要なライブラリインストール

sudo apt update 
sudo apt install python3-pip
sudo pip install flask
sudo apt install python3-venv -y

アプリをダウンロード(git clone)

git clone https://github.com/arisaEN/kajiApp.git

gitがインストールされていないならばえらーがおきます。gitをインストールしてください。

cd kajiApp

仮想環境作成

python3 -m venv myenv
source myenv/bin/activate

ライブラリインストール

pip install -r requirements.txt
pip install pandas
pip install matplotlib

flask起動 ここでsudoコマンドをつけると仮想環境が無視されるため sudoつけない

flask --app flaskr run --port 8080 --host 0.0.0.0

成功
image.png

awsのコンソール画面戻る
image.png

image.png

パブリックIPアドレスで他端末から接続してみる。
私の場合だと、
http://52.65.153.29:5000
でアクセス。

接続できました。成功です。

image.png

感想

これから私が理解しないといけないこと↓
SSH接続
webサーバ・webアプリサーバを建ててアプリを配信する方法
AWS LambdaとEC2のち

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?