はじめに
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インストール
以下の手順を参照(サービスの自動起動も設定すること)
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のファイルも参照できましたし、ファイルも更新することができました。