はじめに
今回AWS上に作ったサーバは、記事公開とともに閉じましたので接続できません。
が、この記事どおりにすればAWS EC2でサーバーを建てる体験ができます。
使うもの
◎買う↓
windowsPC
ネットワークつながるとこ
◎無料で作る↓
AWSアカウント
クレジットカード
◎PCにインストールする
powershell
Cursor エディタ VScodeでOK
クローム ブラウザ
AWS EC2で稼働させてみるアプリ
awsアカウント作成
クレジットカード登録
EC2 キーペア作成
EC2を選択
キーペアを選択 AWS上の仮想コンピュータにアクセスするための鍵
AWS側でもつパブリックキー 自分のアカウントでもつプライベートキー 2つある
キーペア作成をクリック
プライベートキーが自動でDLされる。
これから作るコンピューター名を入力。
OSはubuntuを選択する。(任意)
マシンイメージを選択する。(無料枠とそうじゃないかわかれているよ。)
インスタンスタイプ選択。(無料枠とそうじゃないかわかれているよ。)
キーペア選択(さっき作ったやつを選択)
ネットワーク設定
AWS上にwebアプリサーバー建てるのでHTTPSとHTTPのトラフィック許可。
インスタンスを起動
SSH接続してみる
今立ち上げたインスタンスを確認
インスタンスIDをクリック
SSHクライアントを選択
いまからAWS上に作ったarisa_serverにSSH接続する。
ここコピーする↑
ポート開放
ポート5000番をwebアプリケーションの窓口とするので、開放する。
ダッシュボードのセキュリティグループ。
セキュリティグループを編集 ここでポート開放を行う
launch-wizard-1を選択 セキュリティグループIDをクリック
インバウンドルール編集
インバウンドルールというのが クライアントからAWSへの接続口。 基本的に全て閉じられている。設定で開けてあげる。
アウトバウンドルールというのが AWSからクライアントへの出口。すべて空いている。設定で閉じてあげる。今回は設定しない。
保存
インスタンスの詳細画面のセキュリティ行ったら、5000番がインバウンドルールに追加されているのがわかる。
powershell起動
キーを格納したディレクトリに変更する。
ssh -i "./.ssh/aws_arisa.pem" ubuntu@ec2-54-206-71-142.ap-southeast-2.compute.amazonaws.com
./.ssh/aws_arisa.pem ここの部分ですね。
コマンド実行
これYes ホントにここに接続していい?と問われています。
接続失敗したらもいっかい接続コマンド実行。
python インストール
sudo apt install python-is-python3
※vim操作方法
Esc → i 編集モード
Esc→:→wq→Enter 保存+閉じる
windowsのCusorエディタからAWSサーバーで開発する
Cursor再起動
するとサイドバーにリモートエクスプローラー出現
SSHの、"+"ボタン押す。
arisa_serverへのSSH接続文入力
ssh -i "./.ssh/aws_arisa.pem" ubuntu@ec2-54-206-71-142.ap-southeast-2.compute.amazonaws.com
アップデートするconfigファイルが選択できる
自分のユーザー名のやつを選択する。
待つ
フォルダーを開く
ターミナル表示
左上の三点メニューから表示→ターミナル
ターミナルコマンドうつ
必要なライブラリインストール
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
パブリックIPアドレスで他端末から接続してみる。
私の場合だと、
http://52.65.153.29:5000
でアクセス。
接続できました。成功です。
感想
これから私が理解しないといけないこと↓
SSH接続
webサーバ・webアプリサーバを建ててアプリを配信する方法
AWS LambdaとEC2のち