ファイルアップロードなどを行うために、Azure App ServiceのサーバーにFTP接続する方法をメモしておきます。
今回はWinSCPを使用する前提での記載をしていますが、他のFTPクライアントとして動作するツールでも同様です。
接続方法
Azure Portalでデプロイユーザーとデプロイパスワードの設定
- Azure Portalにログインします。
- 対象のApp Serviceを選択します。
- 左側のメニューから「デプロイセンター」を選択します。
- 「デプロイセンター」ページの「FTPS資格情報」セクションで、デプロイユーザー名とデプロイパスワードを設定します。
FTPホスト情報の確認
「デプロイセンター」ページに戻り、「FTPS資格情報」セクションで「ホスト名」を確認します。
通常、これは ftp://<your-app-name>.scm.azurewebsites.net
という形式です。
WinSCPで接続設定
- WinSCPを開きます。
- 「新しいサイト」ボタンをクリックします。
- 「ファイルプロトコル」を「FTP」に設定します。
- 「暗号化」を「TLS/SSLを使用して明示的に暗号化する (FTPS)」に設定します。
- 「ホスト名」に先ほど確認したホスト名を入力します。
- 「ユーザー名」に
your-username\$your-app-name
形式のデプロイユーザー名を入力します。 - 「パスワード」にデプロイパスワードを入力します。
- 「ログイン」ボタンをクリックします。
ファイルのアップロード
- WinSCPに接続が成功すると、リモートファイルシステムが表示されます。
- ローカルファイルシステムからファイルをドラッグアンドドロップして、リモートファイルシステムにアップロードします。
以上の手順で、Azure App ServiceのサーバーにFTP接続し、ファイルを送信することができます。
FTPS(FTP over SSL/TLS)とは
FTPSは、FTPプロトコルの拡張版であり、SSLまたはTLSを使用して通信を暗号化します。これにより、ユーザー名、パスワード、データが盗聴されるリスクを軽減します。FTPSは、次の2つのモードで動作します。
- Explicit FTPS
クライアントとサーバーが明示的にTLSを開始し、セキュアな接続を確立します。ポート21が使用されます。 - Implicit FTPS
サーバーが最初からTLSを要求し、ポート990で通信を行います。
FTPSのメリット
- セキュリティの強化
- SSL/TLSによる暗号化により、データの盗聴や改ざんを防止します。
- 認証情報(ユーザー名とパスワード)も暗号化されるため、より安全です。
- 互換性
- 多くのFTPクライアントおよびサーバーがFTPSをサポートしているため、既存のインフラストラクチャに容易に統合できます。
- 標準プロトコルの拡張
- 標準のFTPプロトコルを拡張した形で動作するため、基本的なFTPの操作はそのまま使用できます。
FTPSとSFTPの違い
FTPSとSFTP(SSH File Transfer Protocol)はしばしば混同されますが、異なるプロトコルです。
- FTPS
- FTPの拡張版で、SSL/TLSを使用して暗号化します。
- ポート21(Explicit)または990(Implicit)を使用します。
- FTPの機能をすべてサポートします。
- SFTP
- SSHプロトコルの一部で、SSHセッションを使用してファイルを転送します。
- デフォルトでポート22を使用します。
- FTPとは異なり、独自のコマンドセットを持ちます。