このチュートリアルでは、Windows ECS インスタンス上で FTP サイトを構築する方法について説明します。Windows インスタンスとの間でリモートでファイルを転送する必要がある場合、インターネット インフォメーション サービス (IIS) の役割を使用して FTP サーバーをセットアップできます。
前提条件
ECS インスタンスに固定パブリック IP アドレスが割り当てられているか、Elastic IP アドレス (EIP) が関連付けられている。
インスタンスで Windows Server 2012 R2 以降が実行されている。
ステップ 1: IIS と FTP サービスの役割を追加する
FTP サイトを作成する前に、インスタンスに IIS と FTP サービスを追加する必要があります。これらのサービスを追加していない場合は、次の手順に従ってください。
Windows インスタンスにリモート接続します。
Windows デスクトップで、左下隅のアイコンをクリックし、 [サーバー マネージャー] を見つけてクリックします。
トップナビゲーションバーで、を選択します。
[開始する前に] ダイアログ ボックスで、 [次へ] をクリックします。
[役割ベースまたは機能ベースのインストール] を選択し、 [次へ] をクリックします。
[サーバー プールからサーバーを選択] を選択し、対象サーバーを選択して、 [次へ] をクリックします。
選択したサーバーのオペレーティングシステムは Microsoft Windows Server 2012 R2 Datacenter です。
[Web サーバー (IIS)] を選択します。表示されるダイアログ ボックスで、 [機能の追加] をクリックし、 [次へ] をクリックします。
既定の構成をそのまま使用し、 [役割サービスの選択] ページが表示されるまで [次へ] をクリックします。
[IIS 管理コンソール] と [FTP サーバー] を選択し、 [次へ] をクリックします。
[インストール] をクリックし、インストールが完了したら、 [閉じる] をクリックします。
ステップ 2: FTP アクセス用の Windows ユーザーを作成する (オプション)
FTP サイトの認証用に Windows ユーザーを作成します。FTP サイトへのアクセスが匿名ユーザー (ユーザー名 anonymous または ftp) のみでよい場合は、この手順をスキップします。
[サーバー マネージャー] で、 を選択します。
左側のナビゲーションペインで、 を選択し、空白の領域を右クリックして [新規ユーザー] を選択します。
ポップアップ ウィンドウで、 [ユーザー名] と [パスワード] を設定します。
構成の詳細:
ユーザー名: この例では、
ftptestという名前の Windows ユーザーを作成します。[パスワード] と [パスワードの確認入力] :任意のパスワードを入力します。
重要パスワードには、大文字、小文字、および数字を含める必要があります。含めない場合、パスワード ポリシーによりシステムによって拒否されます。データ セキュリティのリスクを回避するため、パスワードは安全に保管してください。
[パスワードの設定] : [パスワードを無期限にする] を選択します。
[作成] をクリックし、 [新しいユーザー] ダイアログ ボックスを閉じます。
ステップ 3: 共有フォルダーのアクセス許可を設定する
FTP サイトのルート ディレクトリとして使用するフォルダーを作成します。このフォルダーには、適切なアクセス許可と変更許可が必要です。すべてのクライアント ファイル転送は、このフォルダーを経由します。
Windows インスタンスで、ディスクに FTP サイト用のフォルダーを作成します。
この例では、C ドライブに ftp という名前のフォルダーを作成します。
[ftp] フォルダーを右クリックし、 [プロパティ] をクリックします。
[セキュリティ] タブをクリックし、 [Everyone] を選択して、 [編集] をクリックします。
[Everyone] がリストに表示されない場合は、まず追加する必要があります。手順については、「フォルダーのアクセス許可で Everyone オプションが見つからない場合の対処方法」をご参照ください。
ポップアップ ウィンドウで、 [Everyone] を選択し、必要なアクセス許可を選択して、 [OK] をクリックします。
この例では、すべてのアクセス許可を付与します。
ステップ 4: FTP サイトを追加して構成する
[サーバー マネージャー] を開きます。
トップナビゲーションバーで、を選択します。
左側のナビゲーションペインで、を選択し、右側の[操作]列で[FTP サイトの追加]をクリックします。
ダイアログ ボックスで、サイト情報を設定し、 [次へ] をクリックします。
構成の詳細:
FTP サイト名: カスタム名を入力します。例:
ftptest。[コンテンツ ディレクトリ] :FTP で共有するフォルダー。この例では、C ドライブの ftp フォルダー。
IP アドレスと SSL 証明書を設定し、 [次へ] をクリックします。
構成の詳細:
[IP アドレス] :既定の構成をそのまま使用します。
[SSL] :次のオプションがあります。この例では [SSL なし] を選択します。これは、SSL 暗号化が不要であることを意味します。データ転送のセキュリティを確保する必要があり、SSL 証明書をお持ちの場合は、要件に応じて [SSL を許可] または [SSL が必要] に設定してください。
[SSL なし] :SSL 暗号化は不要です。
[SSL を許可] :FTP サーバーは、クライアントとの SSL 以外の接続と SSL 接続の両方をサポートします。
[SSL が必要] :FTP サーバーとクライアント間の通信では、SSL 暗号化を使用する必要があります。
その他の設定は既定値のままにします。
説明SSL を [許可] または [必要] に設定する場合は、SSL 証明書を選択する必要があります。既存の証明書を使用するか、作成することもできます。手順については、「サーバー証明書の作成方法」をご参照ください。
認証と承認を設定し、 [完了] をクリックします。
構成の詳細:
認証: 次のオプションを使用できます。この例では [ベーシック] のみを選択します。FTP サイトには、事前に作成した
ftptestユーザーを使用してアクセスします。データ転送のセキュリティ要件がない場合は、これを [匿名] に設定すると、匿名ユーザーが FTP サイトに直接アクセスできます。匿名:ユーザー名に
anonymousまたはftpのみを使用することで、任意のユーザーがコンテンツにアクセスできるようになります。[基本] :コンテンツにアクセスするには、有効なユーザー名とパスワードが必要です。基本認証では、暗号化されていないパスワードがネットワーク経由で送信されるため、この方法は、クライアントと FTP サーバー間の接続が安全な場合 (Secure Sockets Layer (SSL) 暗号化を使用する場合など) にのみ使用してください。
承認: 次のアクセス範囲が利用可能です。 この例では、[指定されたユーザー] を選択し、テキストボックスに
ftptestを入力します。[すべてのユーザー] :すべてのユーザー (匿名ユーザーと認証されたユーザーの両方) が FTP サイトの共有フォルダーにアクセスできます。
[匿名ユーザー] :匿名ユーザーのみが共有フォルダーにアクセスできます。
[指定された役割またはユーザー グループ] :特定の役割またはユーザー グループのメンバーのみが共有フォルダーにアクセスできます。テキスト ボックスに役割またはユーザー グループを入力します。
[指定されたユーザー] :指定されたユーザーのみが共有フォルダーにアクセスできます。テキスト ボックスにユーザー名を入力します。
[アクセス許可] : [読み取り] と [書き込み] の両方を選択します。
新しい FTP サイトが IIS マネージャーに表示されます。セットアップが完了すると、IIS マネージャーの [サイト] リストに作成された ftptest FTP サイトが表示され、そのステータスは [開始]、バインドポートは 21、物理パスは
C:\ftpとなります。FTP サイトのファイアウォールを構成します。
a. IIS マネージャーで、FTP サイト名
ftptestをダブルクリックして FTP サイトのホームページを開きます。b. [FTP ファイアウォール サポート] をダブルクリックします。
c. 次のパラメーターを構成し、 [適用] をクリックします。
[データ チャネルのポート範囲] :パッシブ接続に使用されるポート範囲。有効値:1025~65535。要件に応じて設定してください。
[ファイアウォールの外部 IP アドレス] :ECS インスタンスのパブリック IP アドレス。
説明パッシブ モードでポート範囲を開く必要がある理由と構成の推奨事項については、「FTP パッシブ モードのポート構成の推奨事項」をご参照ください。
d. インスタンスで Windows コマンド プロンプトを開き、次のコマンドを実行して FTP サービスを再起動します。
net stop ftpsvc net start ftpsvc
ステップ 5: セキュリティグループとファイアウォールを構成する
Windows インスタンスに FTP サイトを構築した後、インスタンスに関連付けられているセキュリティグループにインバウンドルールを追加して、FTP サーバーで必要となるポートのトラフィックを許可します。
ポート範囲は、要件に応じて設定してください。(推奨) 大きい番号のポートを使用します。この例では、ポート 40000~40100 を使用します。
Windows インスタンスのセキュリティグループにインバウンドルールを追加して、ポート 21 およびポート 40000~40100 のトラフィックを許可します。
手順については、「セキュリティグループルールの追加」をご参照ください。
説明セキュリティグループの構成の詳細については、「セキュリティグループのベストプラクティス」および「一般的なポート」をご参照ください。
(オプション) Windows インスタンスのファイアウォールを構成します。
Windows インスタンスのファイアウォールは既定で無効になっています。ファイアウォールが有効になっている場合は、FTP サービス用に、TCP ポート 21 およびポート 40000~40100 の通信を許可してください。
その他のファイアウォール設定については、Microsoft のドキュメントをご参照ください。
ステップ 6: クライアントから FTP サイトへのアクセスをテストする
Windows ファイル エクスプローラー、コマンドラインインターフェイス、ブラウザー、またはサードパーティの FTP ツールを使用して、FTP サーバーをテストできます。この例では、ローカルの Windows マシンをクライアントとして使用し、ファイル エクスプローラーを介してアクセスをテストします。
ローカル Windows クライアントで、ファイルエクスプローラーを開き、アドレスバーに
ftp://FTP サイトのパブリック IP アドレス:21を入力します。接続に成功すると、エクスプローラーのアドレスバーに
ftp://Public IP address:21/が表示され、現在の FTP サイトのディレクトリは空です。[ログオン] ダイアログ ボックスで、ログイン情報を入力し、 [ログオン] をクリックします。
ftptestユーザー名とそのパスワードを使用します。 [User name] をftptestに設定し、対応するパスワードを入力します。Windows エクスプローラー経由で FTP サイトにアクセスし、組み込みの Internet Explorer ブラウザーで[パッシブ FTP を使用する]が有効になっていない場合、FTP サイトへのアクセスが失敗し、エラーコード
200および501が返されます。この問題を解決するには、Internet Explorer でパッシブ FTP を有効にします:a. ローカルの Windows クライアントで、Internet Explorer を開きます。
b. ページの右上隅にある歯車アイコンをクリックし、 [インターネット オプション] をクリックします。
c. 高級 タブの設定リストで、[パッシブ FTP を使用する (ファイアウォールおよび DSL モデムとの互換性のため)] を選択します。
d. [適用] をクリックし、 [OK] をクリックします。
共有 ftp フォルダーにアクセスした後、test という名前のテスト フォルダーを作成します。
Windows ファイル エクスプローラーの FTP サイト ディレクトリに test フォルダーが表示されます。これは、FTP サイトにアクセスできることを示しています。
Windows インスタンスに再度ログオンします。 C ドライブの ftp フォルダーに test フォルダーが表示された場合、FTP サイトは使用可能です。
C:\ftpディレクトリに表示されている test フォルダーは、クライアントが FTP サイトに正常にアクセスできることを示しています。
次のステップ
Object Storage Service (OSS) に保存されているファイルを FTP 経由で管理する場合は、OSS FTP をインストールしてください。OSS FTP は、標準の FTP リクエストを受信し、ファイルとフォルダーの操作を OSS 操作にマッピングします。