1. システムとオフィスの融合
  2. media
  3. AWS
  4. 【AWS】AWS Transfer Famiryを利用してWinSCPでSFTPデータ転送をする方法

QESブログ

【AWS】AWS Transfer Famiryを利用してWinSCPでSFTPデータ転送をする方法

AWS
AWS
  • LINEで送る
  • このエントリーをはてなブックマークに追加

はじめに

こんにちは。DXソリューション営業本部の後藤です。
本記事では、AWS Transfer Famiryを利用してWinSCPでSFTPデータ転送をする方法についてご説明したいと思います。

AWS Transfer Famiryとは

AWS Transfer Family は、フルマネージド型のサービスです。SFTP、FTPS、FTP、および AS2 経由で AWS ストレージサービスと直接ファイル転送できます。クライアント側の既存の認証、アクセス、ファイアウォールの設定を維持することで、File Transfer ワークフローをシームレスに移行、自動化、モニタリングできます。引用元:https://aws.amazon.com/jp/aws-transfer-family/features/?nc=sn&loc=2&dn=1

 

今回行いたいこと&構成図

今回行いたいこと

・Transfer Famiryを利用してSFTPプロトコルでAmazon S3へデータ転送する環境を構築する

構成図

 2024-11-14 162615.png

 

事前準備

Transfer Famiryを作成する前にAmazon S3とIAMロール、そしてSSHキー(公開鍵、秘密鍵)を準備しておきましょう。

まずはファイル転送先となるAmazon S3を作成しましょう。

 

続いてTransfer Famiry用のIAMロールを作成していきましょう。今回はIAMロールに「S3FullAccess」をアタッチしました。後ほど説明しますが、Transfer Famiryのユーザーを作成する際にユーザーごとにアクセス制限をかけることが可能です。

2024-11-13 105504.png

 

SFTP接続のためSSHキー(公開鍵、秘密鍵)のペアを作成していきます。OpenSSLを使ってSSHキーを作成していきたいと思います。OpenSSLがインストールされていない場合はインストールが必要となります。今回はWindows環境でOpenSSLのバージョン3.1.5を使用しています。

まずはコマンドプロンプトで【管理者として実行】をクリック。<ssh-keygen>というコマンドを入力してください。キーの保存先の指定やパスフレーズの設定などができますが、今回は何も変えずEnterを押していきます。

2024-11-13 105505.png

 

実行完了後、エクスプローラーより保存先のフォルダを確認すると「id_rsa」(秘密鍵)と「id_rsa.pub」(公開鍵)が作成されているのを確認できました。

2024-11-13 111047.png

Transfer Famiryの作成

Transfer Famiryのサーバーを作成する

では実際にTransfer Famiryのサーバーを作成していきます。Transfer Famiryの画面から【サーバーを作成】をクリック。

SFTPにチェックを入れて【次へ】

2024-11-13 113202.png

 

IDプロバイダーにはサービスマネージドを選択して【次へ】

2024-11-13 113508.png

 

続いてエンドポイントの設定ですが、インターネット経由でのパブリックアクセスとVPCエンドポイントを利用したプライベートアクセスが選択可能です。今回は検証なので「パブリックアクセス可能」を選択します。カスタムホスト名はなしで「FIPSの有効化」もチェックなしで設定します。

2024-11-13 114140.png

 

保存先にAmazon S3を選択して【次へ】

2024-11-13 114205.png

 

追加の詳細は「新しいロググループを作成」を選択して、他はデフォルト設定で【サーバーを作成】をクリックしてください。

2024-11-13 114722.png

 

サーバーの作成が開始され、しばらく待つとステータスが「オンライン」状態になりました。

2024-11-13 115118.png

 

ユーザーを作成する

続いてユーザーの作成をしていきましょう。Transfer Famiryの画面から右上の【ユーザーを追加】をクリック。先ほど作成したIAMロールを選択して、ポリシーはなしで作成します。ホームディレクトリには作成したS3を選択、自動でユーザー名のディレクトリが設定されます。ここで【制限付き】にチェックを入れてください。
<【制限付き】について>
【制限付き】にチェックを入れるとログイン時にホームディレクトリ名が非表示になり、ホームディレクトリから移動できなくなります。これにより強制的にログインユーザーをホームディレクトリ内での操作のみに制限することが可能になります。

2024-11-13 133808.png

 

SSHパブリックキーに作成したSSHキーの「xx.pub」(公開鍵)の内容を貼り付けてください。貼り付けたら【追加】をクリックしてください。ユーザーが作成されます。

2024-11-13 135033.png

 

動作確認

では実際にSFTPでファイル転送してみましょう。今回はWinSCPを使ってファイル転送していきたいと思います。

WinSCPを起動してログイン画面で情報を入力します。ホスト名には、Transfer Famiryのエンドポイントを入力します。ユーザー名には先ほど作成したTransfer Famiryのユーザー名を入力してください。

2024-11-13 150906.png

 

パスワードは下にある【設定】をクリックして、SSH⇒認証に進み「エージェントの転送を許可する」にチェックを入れます。次に秘密鍵をアップロードしてください。秘密鍵がPuTTY形式でない場合、以下のメッセージが表示されます。PuTTY形式の鍵を使用する必要があるので「OK」を選択します。

2024-11-13 140346.png

2024-11-13 152223.png

 

パスワードが設定出来たら、【ログイン】をクリックします。するとWinSCPでログインすることが出来ました。【制限付き】にチェックをいれたのでディレクトリ名が「/」になっており非表示になっていることが確認できます。また他のディレクトリに移動できないことも確認できました。

2024-11-13 140445.png

 

では試しに新規ファイルをホームディレクトリに作成してみます。右クリックをして新規作成からテキストファイルを作成、保存しました。ホームディレクトリ内にテキストファイルが保存されているのが確認できます。

2024-11-13 140446.png

 

マネジメントコンソールに戻ってAmazon S3を確認してみましょう。指定したS3バケットに「/ユーザー名」でプレフィクスが作成され、その配下にテキストファイルがアップロードされているのを確認できました。

2024-11-13 142033.png

 

まとめ

最後までお読みいただきありがとうございます。

今回はAWS Transfer Famiryを利用してSFTPプロトコルでAmazon S3へデータ転送する方法をご紹介しました。Transfer Famiryはフルマネージドサービスのため、ファイルサーバーの構築や管理の手間が軽減され簡単にクラウド上に実装することが可能になります。

最後に「このサービスについて知りたい」「AWS環境の構築、移行」などのリクエストがございましたら、弊社お問合せフォームまでお気軽にご連絡ください! のちほど当ブログにてご紹介させていただくか、複雑な内容に関するお問い合わせの内容の場合には直接営業からご連絡を差し上げます。

※Amazon Web Services、”Powered by Amazon Web Services”ロゴ、およびブログで使用されるその他のAWS商標は、米国その他の諸国における、Amazon.com, Inc.またはその関連会社の商標です。

  • LINEで送る
  • このエントリーをはてなブックマークに追加

お気軽にお問い合わせください。

ページのトップへ