この文書では、Windows で SMB プロトコル (Alibaba Cloud NAS でサポートされている) および ECS インスタンスを使用して、Windows の組み込みインターネットインフォメーションサービス (IIS) を使ってWeb および FTPサービスを有効にする方法について説明します。

プロダクトの実装

Alibaba Cloud は、Network File System (NFS) プロトコル (NFSv3 および NFSv4) とvServer Message Block (SMB) プロトコル (バージョン 2.0 以降) の両方をサポートするファイルストレージシステム (NAS) を持つ唯一のパブリッククラウドベンダーです。 IIS と NAS の連携を確実にするために、次を推奨します。
  • Windows Vista / Windows Server 2008 またはそれ以降の Windows バージョンを使用する必要があります。 それ以前のバージョン (Windows XP や Windows Server 2003 など) はサポートされていません。 Windows 2008 R2 以降を使用することを強く推奨します。
  • Windows アプリケーションが変更を必要とせずに直接NAS にアクセスできるように、SMB ファイルシステムの使用を優先します。
信頼性が高く、スループットの高い Alibaba Cloud NAS と SMB 共有上の集中型リソースストレージにより、IIS は Alibaba Cloud NAS 内のデータにローカルファイルシステムにアクセスしているかのようにアクセスできます。 これにより、Web サイトのストレージサービスとコンピューティングサービスを分離することができます。 また、コンピューティングリソースおよびストレージリソースは、要件を満たすためにオンデマンドでサイズ変更することができます。 さらに、Alibaba Cloud の Server Load Balancer (SLB)は、エラー耐性と回復力を向上させるために、複数のインスタンスが Web サイトアーキテクチャをサポートすることを可能にします。 次の図は、単純なアーキテクチャの例を示しています。 IIS が提供する FTP サービスも広く使用されています。 多くの Web サイト管理者は FTP を使用して Web サイトのコンテンツをリモートで管理し、多くのお客様はWindows インスタンスのFTPサービスを使用して WANと Alibaba Cloud の間でファイルを転送および共有したいと考えています。

基本設定

例として IIS 7.5 (Windows Server 2008 R2) を使用して、Alibaba Cloud NAS を使って Alibaba Cloud 上でシングルノードの Web および FTP サービスを提供する方法を以下に説明します。 他のバージョンの Windows Server (Windows Server 2008、Windows Server 2012 など) のインストールと展開でも、同様のセットアップが実装されています。 Windows Server 2016 の場合、設定に関する主な違いは次のセクションで詳しく説明します。 さらに、Alibaba Cloud Server Load Balancer をデプロイして、エラー耐性と回復力を備えたマルチサーバーノード Web サイトを作成することもできます。 詳細は、What is Server Load Balancer を参照してください。

データと Web サイトサービスのセキュリティを維持するために必要なすべての措置を講じるようにしてください。 Alibaba Cloud は最高のデータセキュリティ基準を維持するよう努めていますが、発生する可能性のあるすべての攻撃に対する保護については責任を負いません。 リソースを完全に保護するために、ファイアウォールとECS インスタンスセキュリティグループの設定、利用可能になったときに更新された OS パッチのインストールなど、包括的なセキュリティ対策を講じることを推奨します。

IIS をインストールする

例として Windows Server 2008 R2 を使用して、サーバーコンソールから IIS のロールを追加し、IIS をインストールする手順を以下に示します。WindowsOS への IIS のインストールの詳細な手順については、Microsoft のオンラインドキュメントを参照してください。

  • IIS 7 のインストールと展開
  • IIS および ASP.NET モジュールをインストールする(Windows Server 2012および2012 R2)
Windows OS に IIS をインストールする手順の詳細については、Microsoft のオンラインドキュメントを参照してください。
  1. サーバーコンソールから Web サーバー(IIS) のロールを選択します。
  2. Web サーバーのロールサービスを選択します。 この例では、基本的な HTTP 機能に加えて、FTP サービスと拡張機能、ASP サービス、およびその他のサービスが選択されています。 これらは FTP over SSL サービスおよび動的 Web ページスクリプトに使用されます。 次に、 [次へ] をクリックします。
  3. [インストール] をクリックします。

NAS に SMB ファイルシステムを作成する

Web サービスリソースと設定ファイルのストレージをAlibaba Cloud NAS SMB 共有で集中管理できます。 SMB をサポートする Alibaba Cloud NAS ファイルシステムを作成した後、現在の Web サーバーが SMB 共有の対応するファイルシステムへの読み取りおよび書き込みアクセスを持つように権限グループを設定します。 NAS ファイルシステムと Web サーバーを接続するには、VPC またはクラシックネットワークを使用できます。

SMB ファイルシステムを作成したら、ファイルシステムのデフォルト共有 "myshare"にディレクトリを作成します。たとえば、 "www" を使って、ウェブサイトのファイルを保存します。 これ以降の例では、静的ファイル "index.html" と動的 ASP スクリプトファイル "test.asp" "myshare \ www"の下に作成されます。 前者は "Hello World" を表示し、後者は現在時刻を動的に取得して表示します。

  • "index.html" ファイルは次のとおりです。

    <HTML>
    
      <HEAD>
    
         <TITLE>Hello World in HTML</TITLE>
    
      </HEAD>
    
      <BODY>
    
         <CENTER><H1>Hello World! </H1></CENTER>
    
      </BODY>
    
    </HTML>
    
    					
  • "test.asp" ファイルは次のとおりです。

    <HTML>
    
      <BODY>
    
         This page was last refreshed on <%= Now() %>.
    
      </BODY>
    
    </HTML>
    
    					

次の図に示すように、現在の ECS インスタンスのユーザーは、Windows ファイルマネージャを使って SMB 共有へのアクセスを確認できます。 この例では:

  • "\\32f214a370-pcy74.cn-shanghai.nas.aliyuncs.com\myshare\www" は、ウェブサイトリソースの物理パスです。
  • "\\32f214a370-pcy74.cn-shanghai.nas.aliyuncs.com\myshare" は、前述のステップで作成した Alibaba Cloud NAS SMB 共有です。

セキュリティと管理のために、ユーザー "iis_user" がシステムに追加されています。 次の例では、FTP サービスをプロビジョニングするとき、または Windows Server 2016 を実行するときに、データアクセスは管理者ではなくこのユーザーで行います。

IIS Web サービスを設定する

ウェブサイトの基本設定を開き、 [ウェブサイトの編集] > [物理パス]の順にアクセスします。 Alibaba Cloud NAS 上の Web サイトリソースの保存パスを入力します。

UNC アドレス "\32f214a370-pcy74.cn-shanghai.nas.aliyuncs.com\myshare\www" を Web サイトリソースの物理パスとして入力します。デフォルトでは、IIS ではユーザーアカウントと IIS アプリケーションのユーザーグループを使ってデータへアクセスします。 現在のセッション中に、Windows ユーザーがネットワークドライブ (Z: など) をマップすると、そのネットワークドライブを直接使用できないか、またはシステムがアクセスエラーを返します。

ローカルホストまたは"127.0.0.1"へブラウザを使って、"index.html""test.asp" ファイルへアクセスし、次の例に似た結果が表示されると、次の例に示すとおり、IIS では通常の Web サービスを提供する準備が整います。

さらに、サーバーユーザーは Alibaba Cloud セキュリティグループと Windows ファイアウォールを設定して Web アクセスを制限することができます。

Windows Server 2016

Windows Server 2016 ユーザーの場合、マイクロソフトが IIS の製品サイクルにいくつかの変更を加えたため、IIS が Alibaba Cloud NAS SMB サービスと正しく連携するように、次の 2 つの追加設定を実装する必要があります。

  • SMB クライアントの次のレジストリキーを変更して、匿名ユーザーとしての SMB 共有へのアクセスをサポートします。 レジストリエディタ (regedit) を実行してレジストリを編集できます。

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters\AllowInsecureGuestAuth

    手順は次のとおりです。

    1. レジストリエディタを起動し、

      "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parametersを探します。右クリックして "New(N) > DWORD (32) Value(D)"を選択します。

    2. "AllowInsecureGuestAuth"を編集して、値を「1」に設定します。

  • Alibaba Cloud NAS の Web サイトリソースにアクセスするには、IIS Web サイト設定でローカルユーザーを指定します。以下の図に具体的な手順を示します。 ウェブサイトの [基本設定] を選択し、[別名で接続] をクリックして、指定したユーザーを設定できます。 この例では、ユーザー "iis_user" が選択されています。

IIS FTP サービスを設定する

FTP を使ってファイルを共有したり Web サイトのコンテンツを公開したりできるようにするには、IIS を使ってFTP over SSL サービス (FTP-SSL、S-FTP、またはFTP Secure とも呼ばれる) を設定する必要があります。

  • SSL 証明書をインストールする
    1. IIS Server セクションで、[サーバー証明書]を選択して、サーバー証明書を適用し管理します。
    2. サーバー証明書の名前を指定する
    3. 成功すると、証明書は次のように表示されます。
  • FTP サイトを設定する
    1. IIS Website セクションで、[FTP サイトの追加] を選択します。

      Web サービスと同様に、物理パスは UNC 形式の SMB 共有パスです。 この例では、Web サービスの"www" ディレクトリを使用します。 ニーズにあわせて、"myshare" の他のディレクトリを選択できます。または、複数の FTP サイトを設定し、異なるポートから異なるディレクトリへアクセスします。
    2. FTP サービスを提供する IP アドレスをバインドし、ポート番号を割り当てます。

      セキュリティのために、この例では FTP 制御情報チャネルを提供するために標準ポート "21" ではなくポート "2222" を使用します。 [このFTP サイトへの接続に SSL 証明書を要求する] を選択し、以前に作成した SSL 証明書を使用することを推奨します。
    3. ID 認証方法を [基本]に指定し、読み取りおよび書き込み権限を"iis_user" へ割り当てます。 必要に応じて、この段階で複数の許可ユーザーを選択できます。
    4. セキュリティのために、この例では IIS コンソールでサーバーレベルの FTP ファイアウォールサポートを有効にすることで FTP データチャンネルのポート範囲を制限します。 これを行うには、次のように [適用] をクリックします。
    5. サーバーコンソールで FTP サービスを再起動して、ポート範囲をただちに有効にします。
    6. セキュリティのために、この例では Alibaba Cloud Security Group 設定を次のように変更することで FTP クライアントアクセスを制限します。

      FTP 制御およびデータポート範囲にアクセスするためのクライアント IP アドレスを 1 つだけ許可します。 必要に応じて、複数の IP アドレス、または 1 つ以上のCIDR ブロックを認証することもできます。
    7. 次の図は、FTP over SSL を選択して FTP クライアントWinSCP を使って FTP サイトにアクセスする方法を示しています。

      1. サーバー証明書を受け入れます。 このメッセージは、初めて FTP サイトに接続したときにのみ表示されます。
      2. プロトコルの種類、ポート番号、およびログイン情報を設定します。
      3. [ログイン] をクリックします。 IIS サーバー上の許可ユーザーのパスワードを入力するように求められます。

      4. 接続が確立します。 これにはしばらく時間がかかります。
      成功すると、ファイルをアップロードおよびダウンロードできることを示す次のメッセージが表示されます。