AWS EC2上でPythonの実行環境を構築

システム開発 学習記録


AWS上で構築していたPythonの実行環境がなぜか不具合で動かなくなったため、再構築をしました。

その際に、情報を再度調査し直して構築するのがめんどくさかったため、ブログ上に議事録として残しておきます。

環境構築までの流れ

  1. AWS上に新規のEC2インスタンスを作成
  2. TeraTermでsshにログイン
  3. python3.8をインストール
  4. venvをインストール
  5. gitをインストール
  6. EC2上に仮想環境を構築
  7. 開発したアプリケーションをpull
  8. crontabを設定
  9. 実行可能かテストを実施

AWS上に新規のEC2インスタンスを作成

割愛

TeraTermでsshにログイン

割愛

python3.8をインストール

初期状態だとpython2.7がインストールされているので、ここを変更する必要があります(新しい方がかっこいいため)。

今回はpython3.8をインストールし、初期設定もpython3.8に変更します。

コード

  1. sudo amazon-linux-extras install -y python3.8
  2. echo ‘alias python=python3.8’ >> ~/.bashrc
  3. source ~/.bashrc
  4. python -V

この流れで実行すればとりあえずデフォルトの実行環境がpython3.8に変更されました。

※応用は利かないが、今の段階ではこれぐらいの情報だけで問題なし

venvをインストール

次に定期実行させるために仮想環境を構築します。

コード

  1. sudo yum install venv
  2. python -m venv 環境名
  3. source /home/・・・/環境名/bin/activate

以上で仮想環境の構築は終了です。

最後のコードは仮想環境が構築されたかどうかの確認で実行しています。

この仮想環境内に必要なライブラリ?をインストールしていきます。

インストール方法は「pip install ライブラリ名」で完了です。

gitをインストール

gitをインストールし、git上のアプリケーションをAWS内にコピーします。

コード

  1. sudo yum install git
  2. git clone git@github.com:・・・/・・・

注意点

AWS上にpullをしようとするとエラーが生じるため、git上でSSH keysの設定が必要

流れ

  1. cd ~/.ssh
  2. ssh-keygen -t rsa
  3. cat id_rsa.pub
  4. 表示された内容をコピー
  5. githubにログイン
  6. 右上のアイコンをクリックし「Settings」に入る
  7. 左側のタブにある「SSH and GPG keys」をクリック
  8. New SSH keyをクリック
  9. Keyにコピーしたものを貼り付け、Titleは任意で入力しAdd SSH keyをクリック

これでAWS上でpullすることができるようになります。

crontabを設定

コード

crontab -e

こちらを入力し実行するとエディタが表示されるため、内容を記入し保存する。

実行可能かテストを実施

割愛

まとめ

情報なしで実戦できる部分は書くのがめんどくさくて割愛しています。

今後、顧客が見に来ると想定すればしっかり書く必要があるが、この記事は僕の記憶定着用なので一旦無視します。

サーバーサイドに関してはメンターがいないので、独学で実行するしかなく、さらに何をしているのかイメージしずらいので本当にむつかしいです。

ただ、今後アプリの開発も実戦できるようにならないといけないため、今のうちに苦手意識をなくしておかなくてはいけません。

事業責任者は辛い・・・