SFTPでFSx for Windows File Server内のファイルを更新する

はじめに

Amazon FSx for Windows File Server(以下 FSx)をコンテンツサーバとして利用し、運用者がSFTPを使用し、FSxにファイルをアップデートできるようにします。

以下、要件です

・ローカル環境からWinSCPを使って、FSx内のファイルを更新したい

WinSCPはSFTPを利用してセキュアに接続したい

前提

・EC2は Windows Server 2019を利用

・FSx、ADは作成済

・EC2はドメインに参加済

・AD管理用のEC2を作成済(AD管理ツールのインストールが必要)

 

EC2のドメインの参加手順は以下の手順3~4を参照

IISからFSx for Windows File Server内のファイルを参照する

 

AD管理ツールのインストールは以下を参照

【AWS Managed Microsoft AD】AD管理ツールをインストールして管理者権限を持つユーザでログインする - サーバーワークスエンジニアブログ

 

構成図

※Direct Connectで接続し、構成をマルチAZにしても、同じ手順でできます

 

構築概要

1、EC2(AD管理):ADにSFTPで利用するユーザーを作成

2、EC2(SFTP接続用):OpenSSHインストール

3、EC2(SFTP接続用):シンボリックリンク作成

4、ローカルPC:WinSCPの設定をして、FSxのファイルを更新

 

手順

1、ADにSFTPで利用するユーザーを作成

 1-1、EC2(AD管理)にAD管理ユーザーにてRDPする

※本環境では「Admin@sftp.local」がAD管理ユーザです

 

 1-2、管理ツールの中から「Active Directoryユーザーとコンピューター」を起動し、左ペインにある「Users」(赤枠)を選択する

 

 1-3、右クリックして、「新規作成」-「ユーザー」を選択する

 

 1-4、以下を設定し、「次へ」ボタンを押下する

   ※本手順ではユーザー名を「sftptest」とする

 

 1-5、パスワードを設定し、「次へ」ボタンを押下する

   ※画像は省略

 1-6、「完了」ボタンを押下する

   ※画像は省略

 1-7、ユーザが追加されたことを確認する

 

2、OpenSSHインストール

 以下の手順を参照(サービスの自動起動も設定すること)

t-dilemma.info

 

3、シンボリックリンク作成

 3-1、EC2(SFTP接続用)にRDPでログインし、FSxに接続できることを確認

※もし無い場合はフォルダとファイルを作成

 3-2、EC2内にフォルダを作成

   ※ここでは「C:\ftptest」を作成

※新規で作成せず既存のフォルダでもOK

 

 3-3、シンボリックリンク作成(コマンドプロンプトを管理モードで起動)

   「C:\ftptest\DATA」を「\\xxxxx.sftp.local\share」のシンボリックリンクとする

mklink /d C:\ftptest\DATA \\xxxxx.sftp.local\share

 

 3-4、シンボリックリンクが作成されたことを確認

 

これであとはWinSCPから接続するだけです。

 

4、WinSCPの設定をして、FSxのファイルを更新

 特別な設定は不要なのですが、手順を記載します

 4-1、必要な情報を入力し、「ログイン」ボタンを押下する

 

 4-2、シンボリックリンクを作成したフォルダに移動し、更にFSx内のフォルダに移動

 

 4-3、PC内にある「bbb.txt」をFSxにアップロードする

 

これでFSxのファイルも参照できましたし、ファイルも更新することができました。