AWS SFTPを作成してS3にファイルをアップロード

目次

01. SFTPを作成してS3にファイルをアップロード

概要

SFTPを作成する

SFTPユーザを作成

SFTPを使用してS3にファイルをアップロード

概要

AWSのAWS Transfer FamilyでSFTPサーバーを作成しS3にファイルをアップロードします。
事前にどこにも紐づいていないEIP(Elastic IPaddress)を取得しておきます。

 

SFTPを作成する

1.検索入力欄で「SFTP」と入力し、表示された「AWS Transfer Family」をクリックします。
※画面右上のリージョンを確認します。例:東京 ap-northeast-1

2.画面左の「サーバー」をクリックします。

3.画面右にある「サーバを作成」をクリックします。

4.有効にするプロトコルは、SFTPにチェックを入れ次へをクリックします。

 

5.IDプロパイダーのタイプは、サービスマネージドにチェックを入れ次へをクリックします。

 

5.エンドポイントのタイプは、VPCでホストにチェックを入れます。

 

6.VPC、public sunetのサブネットIDを選択し、IPアドレスは取得したEIPを選択します。

 

7.セキュリティグループは、ポート22が空いているセキュリティグループを指定します。
(ポート番号の22は、SSHとSFTPのポート番号です)
次へを押します。

 

8.ドメインは、Amazon S3を選択し、次へをクリックします。

 

9.ロググループは、新しいロググループを作成のままで、次へをクリックします。
確認の画面が表示され、「サーバーを作成」をクリックすると作成されます。

 

10.作成が完了すると一覧に表示されます。

 

SFTPユーザを作成

1.IAMでロールを作成します。

ロール名:sftpuser
ユースケースは、Transfer
ポリシーはAmazon S3 FullAccess

 

2.SFTPサーバーの一覧でサーバのリンクをクリックし、「ユーザーを追加」をクリックします。

3.ユーザ名を入力し、ロールを選択します。

 

4.ポリシーは無しで、ホームディレクトリはテスト用に作成していたものを指定し、test-sftp1は入力しました。

 

5.SSHパブリックキーを入力します。公開鍵と秘密鍵を作成し公開鍵を貼り付ける必要があります。Windowsですが、gitで作成しました。追加ボタンをクリックするとユーザが作成されます。

 

6.SFTPの一覧では以下のようにユーザが表示されます。

 

SFTPを使用してS3にファイルをアップロード

sftp -i 秘密鍵 ユーザー名@IPaddress

1.Windowsのコマンドプロンプトを立ち上げます。

2.sftpのコマンドを入力してファイルをアップロードします。

d:\Test\aws-test>sftp -i test-sftp.key test-sftp1@IPアドレス
The authenticity of host 'IPアドレス' can't be established.
RSA key fingerprint is SHA256:ELOWCL6i8EzafmAoXqOYmp7MU3X481TNx+PmDlbNnRY.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
Warning: Permanently added 'IPアドレス' (RSA) to the list of known hosts.
Enter passphrase for key 'test-sftp.key':
Connected to IPアドレス.
sftp> put testfile1.txt
Uploading testfile1.txt to /test-s3-data-1122/test-sftp1/testfile1.txt
testfile1.txt                                                                         100%   12     0.7KB/s   00:00
sftp> ls
testfile1.txt
sftp> get testfile1.txt
Fetching /test-s3-data-1122/test-sftp1/testfile1.txt to testfile1.txt
/test-s3-data-1122/test-sftp1/testfile1.txt 
sftp>exit

8行目のputは、ローカルのファイルをS3にアップロードしています。
11行目のlsは、ファイルの一覧を表示しています。
13行目のgetは、ファイルをダウンロードします。

 

3.S3にファイルがアップロードされました。

関連の記事

AWS CLIのコマンド (S3のファイルの一覧/コピー/移動)

△上に戻る