1
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?

More than 1 year has passed since last update.

ローカルからEC2へファイルをアップロードする方法

Posted at

よくあるローカルからEC2へファイルをアップロードしたい。そんな時によく使われる方法です。

まずはファイルの配置場所とコピーの宛先のEC2のキーペアの配置場所を確認しておきます。
今回の記事は分かりやすくデスクトップに置いていると想定しています。

ファイルをEC2にコピーする場合はscpコマンドを使用します。

sh-3.2# scp -i <キーペアファイル名>.pem sample01.txt ec2-user@<パブリックIPアドレス>:/home/ec2-user/

成功するとファイル名が表示されます。

sample01.txt                                  100%  796    75.5KB/s   00:00

もしもNo such file or directoryが出る場合はファイルパスが間違っている可能性があります。
ユーザーがデスクトップにいる場合は絶対パスを必要はありません。ファイル名だけでOKです。

現在いるディレクトリがデスクトップにいない場合は下記のように指定する必要があります。

sh-3.2# scp -i /Users/username/Desktop/TEST.pem /Users/username/Desktop/sample01.txt ec2-user@××.××.××.××:/home/ec2-user/

それではSSH接続してみてファイルがコピーされているか確認しましょう。

ssh -i /Users/username/Desktop/<キーペアファイル名>.pem ec2-user@<パブリックIPアドレス>

image.png

findコマンドを使って.txtに絞ってみましょう。最後の行に先ほどのsample01.txtが存在しているのが確認できます。

[ec2-user@ip-××-××-××-×× ~]$ find ./ -name "*.txt" -type f
./.cache/Homebrew/api/formula_names.before.txt
./.cache/Homebrew/api/cask_names.before.txt
./.cache/Homebrew/api/formula_aliases.txt
./.cache/Homebrew/api/formula_names.txt
./.cache/Homebrew/api/cask_names.txt
./.cache/Homebrew/all_commands_list.txt
./.cache/Homebrew/external_commands_list.txt
./data.txt
./sample01.txt

そもそもEC2に接続できない問題が発生すれば下記のドキュメントを参考にしてみてください。

EC2からローカルへダウンロードする方法

ローカルで実行します。

sh-3.2# scp -i /Users/username/Desktop/<キーペアファイル名>.pem ec2-user@<パブリックIPアドレス>:/home/ec2-user/sample01.txt /Users/username/Desktop/

scp -i <キーペアファイル名>.pem <ユーザー名>@[パブリックIP]アドレス: <ファイルを落とすローカルのディレクトリパス>

またfindコマンドを使ってみるとデスクトップに存在することが確認できます。

sh-3.2# find ./ -name "sample01.txt" -type f
find: .//Pictures/写真ライブラリ.photoslibrary: Operation not permitted
.//Desktop/sample01.txt

上記の通りやってもらえれば基本的にできると思いますが詰まった時は正確なファイルパスを確認しコピーすること。手入力だと打ち間違いにも気づかないので。

個人的な振り返り

行う手順を書き出すこと。
・EC2に置いているファイルをローカルに落とす必要があるためにまずはキーペアのファイル名が必要。
・どのEC2からどのファイルをダウンロードするのか?
・EC2に置いているファイルをどこに転送するのか?
などの手順を書き出してみると必要なコマンドができる。

参考にしたドキュメント

1
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
1
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?