🍟

Azure上の仮想マシン(Windows10)にFTPサーバを立てる方法

2023/01/31に公開

AzureでWindows10の仮想マシンを立てて、FTPサーバを設置するときの備忘録です。別の記事を参考にしつつなので、重複する内容は記載しません。
仮想マシンを立てた後を想定しています。仮想マシンの立て方は公式リファレンス:クイック スタート:Azure Portal で Windows 仮想マシンを作成するの「仮想マシンの作成」等を参考にしてください。

1. 仮想マシン側の設定

1.1. IISのインストールとFTPユーザの作成とFTPサイトの作成と設定

まず、仮想マシンにリモートデスクトップでアクセスしてください。公式リファレンス:クイック スタート:Azure Portal で Windows 仮想マシンを作成するの「仮想マシンへの接続」で接続できると思います。
FTPサーバを立てるためのIISをインストールして、FTPユーザを作成、FTPサイトを作成し設定を行います。
こちらのサイトに書いてあることをすべて行えばOKです。
簡単な流れは以下の通りです。

  1. IIS(FTPサーバ)を有効にする
  2. FTPユーザを作成する
  3. FTPサイトの作成と設定

1.2. FTPサイトのパッシブモードの設定

こちらのサイトの「2.IISの設定」を行います。
流れは以下の通りです。

  1. IISマネージャー
  2. FTPサーバを選択
  3. FTPファイアウォールポート範囲
  4. データチャネルポート範囲
  5. 60000-60005(今回はこちらにしました)を設定

1.3. FTPサイトのファイアウォールの設定

こちらのサイトの「IIS->設定->2.サイトを指定して,~」を行います。
流れは以下の通りです。

  1. IISマネージャー
  2. FTPサーバの作成したサイトを選択
  3. FTPファイアウォールのサポート
  4. ファイアウォールの外部IPアドレス(仮想マシンのグローバルIP(パブリックIPアドレス))
    仮想マシンのグローバルIPはAzure Portalの仮想マシンの概要で見ることができると思います。
    Azure Portal 仮想マシンの概要の例

1.4. Windowsファイアウォールの設定

こちらのサイトの「3.ファイアーウォールの設定」を行います。
流れは以下の通りです。

  1. コントロールパネルを起動
  2. システムとセキュリティ
  3. Windows Dedender ファイアウォール
  4. 詳細設定
  5. 受信の規則
  6. 新しい規則
  7. ポート
  8. 特定のローカルポート
  9. 先ほど1.2.で設定したポート(今回は60000-60005)を入力
  10. 接続を許可する
  11. 適当な名前で完了

1.5. もともとある設定の有効化

1.4.の続きでこちらのサイトの「Windows ファイアウォールの設定」のように3つの設定を有効化する。
以下の3つです。

  1. FTPサーバー(FTP トラフィック受信)
  2. FTPサーバー セキュリティ(FTP SSL トラフィック受信)
  3. FTPサーバー パッシブ(FTP パッシブ トラフィック受信)

1.6. サービスの再起動

念のためFTPサーバの再起動を行います。
再起動方法は以下の通りです。

  1. デスクトップ左下「ここに入力して検索」で「サービス」を起動
  2. Microsoft FTP Serviceをクリック
  3. サービスの再起動を選択

2. Azure側の設定

2.1. 受信ポート規則の追加

作成した仮想マシンの「ネットワーク」の項目から「受信ポートの規則を追加する」で以下の2つを追加する。

  1. サービス:FTPを許可(パッシブコネクション確立用:ポート21)
  2. サービス:Custom、ポート:60000-60005を許可

これで設定は以上です。

3. FTPサイトの確認

設定したサーバにアクセスできるか確認してみます。
コマンドプロンプトからftpコマンドでアクセスしようと思ったのですが、僕の環境ではアクティブモードでアクセスしてしまうみたいで、うまく接続できませんでした。
なので、今回はエクスプローラーで接続してみます。
今回は1.1.で作成したコンテンツディレクトリに、仮想マシン上で「test.txt」ファイルを入れましたので、こちらを自分のPCから見に行きたいと思います。

  1. エクスプローラーでftp://グローバルIPと入力して接続します。
  2. 以下のような画面が出てきて1.1.で作成したユーザーとパスワードを入力してログオンします。

うまく接続されると、以下のように「text.txt」が表示されます。

以上です。

Discussion