LoginSignup
1
1

More than 1 year has passed since last update.

AWS Transfer for SFTP ローカルとS3間をSFTPでやり取りする

Last updated at Posted at 2021-06-18

初めに

以前投稿したこちらの記事は、プロトコルは HTTPS でした。SFTP でやり取りしたかったので良いサービスがないか探してみたところ、Transfer for SFTP というサービスによって実現できることがわかりました。こちらのサーバー作成から接続手順について書きました。

Transfer for SFTP

  • AWS ストレージサービスとの間でファイルを転送するためのセキュアな転送サービス

  • 以下の AWS ストレージサービスとの間でデータの転送をサポート

    • S3
    • EFS
  • 次のプロトコルによるデータ転送をサポート

    • SFTP
    • FTPS
    • FTP

サーバー作成手順

SFTP を選択します。

image.png

「サービスマネジメント」を選択します。

image.png

「パブリックアクセス可能」を選択します。

image.png

「Amazon S3」を選択します。

image.png

ログ記録用に「新しいロールの作成」を選択します。暗号化アルゴリズムはデフォルトのものを選択します。

image.png

「サーバーホストキー」は空のまま「次へ」を選択します。

image.png

以下のようにサーバーが立ち上がりました。

image.png

ユーザー作成手順

サーバーにユーザーを登録します。今立ち上げたサーバーを選択し「ユーザーを追加」を選択します。

image.png

次のような画面に遷移しますので、別タブでこのユーザーの IAM ロールを作成します。

image.png

ユースケースには「Transfer」を選択します。

image.png

ポリシーは 「AmazonS3FullAccess」を選択し、ロールを作成します。

image.png

先ほどのユーザー作成画面に戻り、任意のユーザー名を入力し、「ロール」には先ほど作成したロールを選択します。ユーザーに適用する「ポリシー」は「なし」を選択します。ログイン後のホームディレクトリは接続したい S3 バケットを選択します。オプションでログイン後のフォルダを選択することができます。今回は空のまま進めます。

image.png

SSH で接続するための公開鍵と秘密鍵を作成するために EC2 インスタンスを起動します。鍵が作成できればよいので、ローカルマシンでも構いません。以下のコマンドを実行します。

ssh-keygen -P "" -m PEM -f transfer_key

transfer_key という秘密鍵と transfer_key.pub という公開鍵がカレントディレクトリに作成されます。秘密鍵には pem という拡張子を付けておき、ローカルフォルダに格納します。秘密鍵は作成したSFTP サーバーにログインする際に必要になります。

mv transfer_key transfer_key.pem

公開鍵の中身を丸ごとコピーします。

image.png

コピーした公開鍵の中身を「SSH パブリックキー」に貼り付けます。その後「追加」を選択するとユーザー作成完了です。

image.png

SSH 接続手順

サーバーのエンドポイントをコピーします。

image.png

winSCP を起動し、コピーしたエンドポイントを「ホスト名」に貼り付けます。「ユーザー名」には作成したユーザー名を入力します。パスワードは空のままにします。「設定」を選択します。

image.png

ローカルフォルダに保存した秘密鍵を選択します。鍵の変換には「OK」を選択します。

image.png

以下の確認ポップアップ画面が出ますが、「はい」を選択します。

image.png

以下の警告が出ますが、「はい」を選択します。

image.png

接続に成功しました。

image.png

参考記事

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