Python

初心者がAWSを利用する!EC2インスタンスへファイル転送する方法(AWSを利用してPython学習)

AWSを利用してPythonのプログラミングを実施したいけど、どのようにすればいいのか分からない人向けに、その設定方法について解説します。

この記事はEC2初心者やPythonによるWEBアプリ制作の初心者向けの内容です。

以下の4ステップで出来るようになります。

手順1 PythonをEC2にインストールする

まず、EC2インスタンスにPython3をインストールしておく必要があります。SSH接続をした状態で以下コマンドを実行すればOKです。

sudo yum install python3

※この記事は2021年の記事ですが、この時点では、Python2が初期で入っている為、Python3をインストールしておく必要があります。

EC2インスタンスのSSH接続については以下の記事を参考にして下さい。

python webアプリ
ん?sshクライアント「PuTTY」を使うって何? 教本「動かして学ぶPython Django開発入門」のchapter12に記載してある「EC2にSSHクライアントを利用して接続する...

注意:EC2インスタンスのユーザ名を事前に変更することを忘れずに

ここから先はユーザー名をデフォルトのままにしておくと、セキュリティ上よくない為、なるべくユーザ名を任意に変更しておくことをおススメします。

※Amazon Linux 2 または Amazon Linux AMI の場合は、ユーザー名は ec2-user ですのでこの「ec2-user」をユーザ名に使用してる人は以下の記事を見ながら変更して下さい。

AWSデフォルトユーザーから任意のユーザーに変更する ec2-userは作業用のユーザーとしてもリスクがあるので変更すべき デフォルトのユーザーは皆「ec2-user」で周知された名...

手順2 モジュール一覧の出力

ここで一旦コマンドプロンプトを立ち上げて、PythonのDjangoプロジェクトファイルのモジュール一覧ファイルを作成します。

方法は簡単で、まずコマンドプロンプトでPythonの仮想環境に入って下さい。

仮想環境に入ったら、プロジェクトのメインディレクトリ(上層ディレクトリ)にコマンド「cd ..」を使用して移動し、以下コマンドを入力してください。

pip freeze > requirements.txt

このコマンドにより、requirements.txtのテキストファイルがプロジェクトのメインディレクトリに作成されます。

手順3 WinSCPを自身のPCへインストールする

転送するためのソフト「WinSCP」をインストールする

ソフトは以下のリンクからダウンロードページに進めます。

WinSCPダウンロードページ:https://winscp.net/eng/download.php

WinSCPの設定について解説

WinSCPの設定方法について解説しておきます。ユーザ名はなるべく任意の名前を事前に設定して使用するようにしてください。プライベートキーファイルって何?という人は、以下のリンクでPuTTYgenでプライベートキーの作成について記載しています。

python webアプリ
ん?sshクライアント「PuTTY」を使うって何? 教本「動かして学ぶPython Django開発入門」のchapter12に記載してある「EC2にSSHクライアントを利用して接続する...

設定する箇所は少ししかないため、すぐにできると思います。

手順4 作成した一覧ファイルをEC2インスタンスのホームディレクトリに転送する

WinSCPの起動に成功した後の画面は、以下のように2画面構成で表示されます。

左が自分のPCのディレクトリ、右がEC2インスタンスのディレクトリになっているはずです。

このソフトの2画面間はファイルをドラック&ドロップできるため、まるで自身のPC内にあるディレクトリになったかのようにファイル操作が簡単にできるようになります。

requirements.txtをEC2インスタンスのユーザー名のついたディレクトリ内に転送しておけばOK


python webアプリ
やっちゃえPython!工場勤務の初心者がPythonでwebアプリ制作に挑戦 pythonでWEBアプリの制作にチャレンジ webアプリの制作に初心者工場勤務のサラリーマンが独学でチャレンジし、その過程を記...
ABOUT ME
den
完全独学でWEBデザインを無謀にも挑戦している中年男。 工場勤務の会社員で3児の父。 チャレンジを忘れず、妻に怒られても心はおれず。 有益な情報を発信し、これを見ている人の為になればと思っています。