EC2へPCからファイルアップロード|Linux/chmod/scp/ec2-user

タイトルの通り、EC2のディレクトリ内へローカルPCからファイルをアップロードする方法を解説します。

幾つかのSTEPで解説していきます。

①:AWS上の環境構築

ここは概ね省略します。

VPC、サブネット、セキュリティグループを設定。
サブネット上に、EC2インスタンスを起動させておく。

EC2には、sshで接続できる状態へ

②:ローカルPCからEC2へファイルアップロード(ディレクトリまるごと)

早速ですが、EC2へファイルアップロードするコマンドです。

scp -r -i ~{秘密鍵のディレクトリ}/{pemファイル名称.pem} ~{アップするローカルPCディレクトリ} ec2-user@{EC2のIPアドレス}:{EC2のアップディレクトリ}

上記のコマンドで、EC2にssh接続して、そのままディレクトリ丸ごとアップロードすることが出来ます。

※ -r のオプションは、ディレクトリ毎アップロード

ですが、アップロードするディレクトリによっては権限エラー(Permission denied)で、アップ出来ない場合があると思います。

原因は、アップロードしようとしたEC2内のディレクトリが、rootユーザーのみという場合です。

では、EC2内に入って、権限変更していきましょう。

③:EC2内のディレクトリで編集権限を変更

ディレクトリ編集 コマンド

sudo chmod {コマンドコード} {権限編集するディレクトリ} -R

※ -Rはオプションで、ディレクトリまるごとアップする場合に必要です。ファイルのみの場合は不要

アップロードする権限を付与する場合は、コマンドコード 777が良いと思います。

sudo chmod 777 {権限編集するディレクトリ} -R

で、権限を編集します。

②のコマンドを実行すると、アップロードが開始されます。

【windows編】AWSのEC2へssh接続するコマンドを紹介

AWSにssh接続するコマンドを紹介します。
簡潔に下記がそのコマンドです。

ssh -i 公開鍵のファイル ec2-user@IPアドレス

公開鍵のファイル

公開鍵のファイル:ディレクトリの場所も指定する必要があります。
例えば、 \Users\Desktop\ssh\aws-and-infra-ssh-key.pem
※ \Users\Desktop\ssh まではディレクトリで、それ以降がファイル名です。

IPアドレス

EC2のインスタンスで登録されているIPアドレスです。
(※Elastic IP を関連付けている場合は、Elastic IP)
確認場所は、

EC2 > インスタンス > 使用するインスタンスを選択

そして、下部に存在するタブの中から「説明」を指定すると
「 IPv4 パブリック IP」という項目で、確認できます。