EC2からのファイル転送方法【WinSCP・SCP・FTP対応】初心者向けに完全ガイド!
生徒
「AWSのEC2で作ったファイルをローカルPCにダウンロードしたいんですが、どうすればいいんでしょう?」
先生
「ファイル転送にはSCPやWinSCPなどの方法がありますよ。FTPも使えますが、少し注意が必要です。」
生徒
「使うソフトやコマンドによってやり方が違うんですか?」
先生
「はい、それぞれ特徴があります。順番に、初心者でもできるEC2からのファイル転送方法を紹介しましょう。」
1. EC2からファイルを転送する基本の考え方
AWS EC2インスタンスはクラウド上にあるため、ローカルPCとファイルをやり取りするにはセキュアな通信手段を使う必要があります。 一般的に使われるのは以下の3つです。
- SCP(Secure Copy):ターミナルからコマンドで転送
- WinSCP:Windows用のGUIツール
- FTP:設定が複雑で非推奨だが一部環境で使用可
特にLinuxやMacではSCP、WindowsではWinSCPが初心者におすすめです。以下でそれぞれ詳しく解説していきます。
2. SCPコマンドでEC2からファイルをダウンロード
SCP(Secure Copy Protocol)は、SSHを利用してファイルを安全に転送するためのコマンドです。 MacやLinux、WindowsのWSLやGit Bashでも使えます。
基本的なSCPコマンドの書き方:
scp -i ~/Downloads/my-key.pem ec2-user@203.0.113.10:/home/ec2-user/file.txt ~/Desktop/
-i:キーペアファイル(.pem)ec2-user@IP:EC2のユーザー名とパブリックIPアドレス:以降:EC2上のファイルパス- 最後:ローカルPCの保存先
転送元と転送先を逆にすれば、ローカルからEC2へのアップロードも可能です。
3. WinSCPでファイルをアップロード・ダウンロード(Windows向け)
WindowsユーザーにはWinSCPというGUIツールが便利です。 直感的な操作で、ドラッグ&ドロップでファイルの転送ができます。
WinSCPでEC2に接続する手順:
- WinSCPを起動し、プロトコルを「SCP」に設定
- ホスト名:EC2のパブリックIP
- ユーザー名:ec2-user(Amazon Linuxの場合)
- 「詳細設定」→「SSH」→「認証」で
.pemファイルを指定 - 「保存」して「ログイン」
無事に接続できると、左側がローカルPC、右側がEC2サーバーとなる画面が表示されます。あとは転送したいファイルをドラッグするだけです。
4. FTPでEC2とファイル転送するには?
FTP(File Transfer Protocol)は古くからあるファイル転送方式ですが、AWS EC2ではFTPは標準では使えません。
FTPを使うには、EC2内にvsftpdやProFTPDなどのFTPサーバーをインストールし、セキュリティグループでTCPポート21を開放する必要があります。
FTP使用時の注意点:
- デフォルトでは暗号化されていないためセキュリティリスクがある
- FTPSやSFTPなど、より安全な方法を選ぶことを推奨
初心者や業務用途であれば、FTPではなくSCPやSFTP(WinSCP)を使うのが安心です。
5. ファイル転送で接続できないときの対処法
Q. Permission denied エラーが出る
A. .pemファイルの権限が適切でないとSCP接続できません。次のコマンドで権限を修正してください。
chmod 400 ~/Downloads/my-key.pem
Q. 接続タイムアウトになる
A. セキュリティグループのインバウンドルールに「ポート22(SSH)」が開放されているか確認してください。
Q. WinSCPで接続エラーになる
A. キーペア(.pem)指定が正しいか、ユーザー名やIPアドレスが間違っていないかを確認しましょう。
6. まとめ
AWS EC2からのファイル転送方法について、SCP、WinSCP、そしてFTPの3つの手法を比較しながら解説しました。特に初心者にとって重要なのは、どの方法が自分の環境に合っていて、安全にファイル転送できるかという点です。
SCPはMacやLinux、Git Bashなどターミナル操作に慣れている人に向いており、シンプルでセキュアなファイル転送が可能です。一方、Windows環境のユーザーにはGUIで操作できるWinSCPが便利で、ドラッグ&ドロップによる直感的なファイル操作が魅力です。
FTPは一見簡単そうに見えますが、AWSでは初期状態で使えず、FTPサーバーの導入やセキュリティ設定が必要になるため、セキュリティリスクが高く初心者には推奨されません。可能であればSFTPまたはWinSCPの使用が望ましいです。
また、接続できない場合のエラー対策も大切です。.pemファイルの権限設定やセキュリティグループの構成、IPアドレスの確認といった基本事項を押さえておけば、スムーズにファイル転送を行うことができます。
今後、EC2インスタンスを使った開発や運用を行う際には、今回学んだファイル転送の知識が非常に役立ちます。ファイルの送受信は、デプロイ作業やバックアップ作業の基礎となるため、操作に慣れておくことがAWS初心者からのステップアップに繋がります。
以下は、SCPでEC2にファイルをアップロードする例です:
scp -i ~/Downloads/my-key.pem ~/Desktop/myfile.txt ec2-user@203.0.113.10:/home/ec2-user/
このように、転送元と転送先を入れ替えるだけでアップロードも簡単に行えます。
生徒
「EC2とローカルPC間のファイル転送って、想像よりも簡単なんですね!」
先生
「そうですね。ポイントはセキュリティを意識しながら、正しい手順で転送することです。SCPやWinSCPをマスターすれば、デプロイも楽になりますよ。」
生徒
「次はSCPスクリプトを自動化することにも挑戦してみたいです!」
先生
「素晴らしいですね。cronやバッチ処理と組み合わせれば、バックアップやデプロイの自動化もできますよ。」