インターネット インフォメーション サービス (IIS) は、ローカルデータと同様に SMB ファイルシステム上のデータにアクセスでき、Web サイトのストレージをコンピューティングリソースから分離します。このトピックでは、IIS が File Storage NAS ファイルシステムにアクセスするように設定する方法について説明します。
前提条件
-
SMB ファイルシステムを作成し、マウントターゲットが追加されていること。詳細については、「ファイルシステムの作成」および「マウントターゲットの追加」をご参照ください。
-
WinSCP がインストールされていること。
背景情報
Windows Server は、Web サイトを構築するための一般的なプラットフォームです。多くのユーザーは、Alibaba Cloud Elastic Compute Service (ECS) Windows インスタンスを選択して Web サービスを構築し、Web サイトのコンテンツを信頼性とスループットの高い SMB ファイルシステムに保存することで、コンピューティングリソースとストレージリソースの両方をオンデマンドで拡張できます。
IIS の FTP サービスも人気の機能です。多くの Web サイト管理者は、FTP を使用してサイトコンテンツをリモートで管理します。また、多くのユーザーは、Windows 仮想マシン上の FTP サービスを使用して、ワイドエリアネットワーク (WAN) と Alibaba Cloud の間でファイルを転送および共有したいと考えています。
このトピックでは、Windows Server 2008 R2 上の IIS 7.5 を例に、File Storage NAS が Alibaba Cloud ECS の Windows インスタンスに単一ノードの Web および FTP サービスを提供する方法を説明します。Server Load Balancer (SLB) を使用して、複数のサーバーノードを持つ弾力的でフォールトトレラントなサイトを構築することもできます。詳細については、「Server Load Balancer (SLB)」をご参照ください。
-
このトピックではセキュリティに関する推奨事項を記載していますが、これは完全なセキュリティ設定および実装ガイドではありません。最終的なセキュリティ体制については、お客様が責任を負うものとします。システムレベル (ファイアウォール、ECS インスタンスのセキュリティグループの設定、OS パッチの迅速なインストールなど) とサービスレベル (さまざまな Alibaba Cloud セキュリティ製品の使用など) の両方で、Web サービスとデータを保護する必要があります。
-
セキュリティと管理の目的で、この例では、
iis_userという名前の標準ユーザーアカウントを作成します。Windows Server 2016 で FTP サービスを提供したり、IIS Web サービスを実行したりする場合は、システム管理者の代わりにこのユーザーアカウントを使用してデータにアクセスしてください。

Windows IIS のインストール
次の手順では、Windows Server 2008 R2 のサーバー マネージャーを使用して IIS の役割を追加し、IIS をインストールする方法を説明します。
他のバージョンの Windows に IIS をインストールする方法については、「IIS と ASP.NET モジュールのインストール (Windows Server 2012 および Windows Server 2012 R2)」をご参照ください。
-
Windows クライアントで、 の順に選択します。
-
[サーバー マネージャー] ウィンドウの左側メニューで [役割] をクリックし、[役割の追加] をクリックします。
-
[役割の追加ウィザード] で、左側メニューの [サーバーの役割] をクリックし、[Web サーバー (IIS)] チェックボックスをオンにします。
-
[役割の追加ウィザード] で、左側メニューの [役割サービス] をクリックし、Web サーバー (IIS) にインストールする役割サービスを選択します。
FTP サービスを有効にして動的な Web ページスクリプトを実行するには、デフォルトのサービスに加えて、[ASP] や [FTP サーバー] などのサービスも選択する必要があります。
[アプリケーション開発] カテゴリでは、[ASP] に加えて、[ASP.NET]、[.NET 拡張機能]、[ISAPI 拡張]、[ISAPI フィルター] も選択する必要があります。
-
[次へ] をクリックし、プロンプトに従ってインストールを完了します。
SMB ファイルシステムへのアクセス
Web リソースと設定ファイルは、SMB ファイルシステムの共有ディレクトリ (デフォルトでは myshare) に保存できます。権限グループを設定して、現在の Web サーバーが SMB ファイルシステムへの読み取りおよび書き込みアクセス権を持つように設定します。
-
Windows エクスプローラーを開き、
\\file-system-id.region.nas.aliyuncs.com\myshareと入力して SMB ファイルシステムにアクセスします。パラメーターは次のとおりです:-
file-system-id.region.nas.aliyuncs.comは、SMB ファイルシステムのマウントターゲットドメイン名です。マウントターゲットドメイン名を取得する方法については、「マウントターゲットの表示」をご参照ください。 -
myshareは、SMB ファイルシステムのデフォルトの共有ディレクトリであり、変更できません。
-
-
デフォルトの共有ディレクトリ (
myshare) に、Web サイトファイルを保存するためのwwwという名前のディレクトリを作成します。次の例では、
index.htmlという静的 Web ページファイルとtest.aspという動的 ASP スクリプトをmyshare\wwwディレクトリに作成する方法を説明します。-
Index.html<HTML> <HEAD> <TITLE>Hello World in HTML</TITLE> </HEAD> <BODY> <CENTER><H1>Hello World!</H1></CENTER> </BODY> </HTML>この例では、
Hello World!と表示されます。 -
Test.asp<HTML> <BODY> This page was last refreshed on <%= Now() %>. </BODY> </HTML>この例では、現在時刻を動的に取得して表示します。
-
Windows IIS Web サービスの設定
-
Windows サーバーで、 の順に選択します。
-
左側メニューで、 を選択し、[基本設定] をクリックします。
-
[サイトの編集] ダイアログボックスで、[物理パス] を設定し、[OK] をクリックします。
[物理パス] テキストボックスに、File Storage NAS 上の Web リソースの UNC パス (例:
\\file-system-id.region.nas.aliyuncs.com\myshare\www) を入力します。file-system-id.region.nas.aliyuncs.comは、実際のマウントターゲットドメイン名に置き換えてください。説明Windows IIS は、現在ログインしているユーザーではなく、アプリケーション プール ID を使用してリソースにアクセスします。したがって、ユーザーのデスクトップ セッションからマップされたネットワークドライブ (例:
Z:) はアクセスエラーを引き起こすため使用できません。常に完全な UNC パスを使用してください。 -
[オプション]:レジストリを変更して、
iis_userユーザーを追加します。Windows Server 2016 では、IIS が File Storage NAS にアクセスできるように、レジストリを変更して
iis_userユーザーを追加する必要があります。Windows Server 2019 では、レジストリを変更してiis_userユーザーを追加した後、さらにNew-SmbGlobalMappingPowerShell コマンドを実行してファイルシステムをマウントする必要があります。これにより、DLL の読み込みに失敗する問題が解決されます。次の手順に従ってください。-
SMB クライアントのレジストリキーを変更します。
-
Windows サーバーで、 の順に選択します。
-
[レジストリ エディター] で、 に移動します。右側のペインを右クリックし、 を選択します。
-
値の名前を [AllowInsecureGuestAuth] に、値のデータを [1] に設定し、[OK] をクリックします。
-
-
File Storage NAS に保存されている Web リソースにアクセスするためのローカルユーザーを指定します。
-
Windows サーバーで、 の順に選択します。
-
左側メニューで、 を選択し、[基本設定] をクリックします。
-
[サイトの編集] ダイアログボックスで、[接続ユーザー] をクリックします。
-
[特定のユーザー] を選択し、[設定] をクリックします。
-
-
ユーザー名とパスワードを設定し、[OK] をクリックします。
この例では、ユーザーは
iis_userです。[資格情報の設定] ダイアログボックスで、[ユーザー名] にiis_user(NAS 共有にアクセスするために作成したユーザー) を入力し、対応するパスワードを入力します。 -
New-SmbGlobalMappingPowerShell コマンドを使用して SMB ファイルシステムをマウントします。# ユーザー名とパスワードのクリアテキスト文字列を定義します [string]$userName = 'WORKGROUP\administrator' [string]$userPassword = '****' # SecureString に変換します [securestring]$secStringPassword = ConvertTo-SecureString $userPassword -AsPlainText -Force [pscredential]$credObject = New-Object System.Management.Automation.PSCredential ($userName, $secStringPassword) New-SmbGlobalMapping -LocalPath z: -RemotePath \\file-system-id.region.nas.aliyuncs.com\myshare -Persistent $true -Credential $credObjectコード内の
****をオペレーティングシステムの管理者のパスワードに置き換え、file-system-id.region.nas.aliyuncs.comを SMB ファイルシステムのマウントターゲットドメイン名に置き換えます。説明-
IIS が NAS 共有ディレクトリ内のファイルにアクセスすると、複数のバックエンドリクエストが行われることがあります。これにより、クライアント側の待機時間が増加する可能性があります。解決策については、「IIS が NAS にアクセスする際のパフォーマンスを向上させるにはどうすればよいですか。」をご参照ください。
-
パフォーマンスを向上させるために、JavaScript や CSS ファイルなど、頻繁にアクセスされるアセットはローカルディスクに保存することを推奨します。
-
これらの手順を実行しても書き込みエラーが解決しない場合は、NAS テクニカルサポートにお問い合わせください。
-
-
-
結果を確認します。
ローカルブラウザーで、
localhostまたは127.0.0.1に移動してindex.htmlとtest.aspにアクセスします。ページが正しく表示されれば、IIS は期待どおりに Web コンテンツを配信しています。Alibaba Cloud ECS セキュリティグループと Windows ファイアウォールを設定して、Web アクセスをセキュリティで保護することもできます。index.htmlページの本文には、テキストHello World!が表示されます。test.aspページには、現在の更新時刻 (例:This page was last refreshed on 5/24/2017 10:48:12 AM.) が表示されます。
Windows IIS FTP サービスの設定
-
Windows サーバーで、 の順に選択します。
-
SSL 証明書を作成します。
-
サーバーのホーム ページで、[サーバー証明書] をダブルクリックします。
-
[サーバー証明書] ページで、[操作] ウィンドウの [自己署名証明書の作成] をクリックします。
-
[SSL 証明書] の名前を指定し、[OK] をクリックします。
-
-
FTP サイトを設定します。
-
[接続] ウィンドウで、[サイト] フォルダーを右クリックします。
-
[FTP サイトの追加] をクリックします。
-
[FTP サイトの追加] ウィザードの [サイト情報] ページで、必要な情報を設定し、[次へ] をクリックします。
[物理パス] テキストボックスに、File Storage NAS 上の Web リソースの UNC パス (例:
\\file-system-id.region.nas.aliyuncs.com\myshare\www) を入力します。file-system-id.region.nas.aliyuncs.comは、実際のマウントターゲットドメイン名に置き換えてください。myshareディレクトリ内の他のディレクトリを選択できます。異なるポートで複数の FTP サイトを設定して、異なるディレクトリにアクセスすることもできます。[FTP サイト名] フィールドに
ftpと入力します。 -
[バインドと SSL の設定] ダイアログボックスで、必要な情報を設定し、[次へ] をクリックします。
次の設定を使用します。
-
[ポート]:デフォルトのポートは 21 です。セキュリティのため、この例ではポート 2222 を使用します。
-
[SSL 証明書]:作成した SSL 証明書を選択します。
[SSL] で、[SSL が必要] オプションを選択します。
-
-
認証と認可の情報を設定し、[完了] をクリックします。
次の設定を使用します。
-
認証: [基本] を選択します。
-
[認可]:サイトへのアクセスを許可するユーザーを選択します。この例では、[指定されたユーザー] を選択し、
iis_userと入力します。 -
[アクセス許可]:ユーザーの読み取りおよび書き込み権限を設定します。
-
-
-
FTP ファイアウォールを設定します。
サーバーのホーム ページで、[FTP ファイアウォール サポート] をダブルクリックし、[データ チャネルのポート範囲] を設定して、[適用] をクリックします。
たとえば、範囲を
2223-2333に設定します。 -
[サーバー マネージャー] ページに戻り、FTP サービスを再起動してポート範囲の設定を有効にします。
左側のナビゲーションツリーで、[構成] > [サービス] の順に移動します。中央のペインで [Microsoft FTP Service] を見つけて右クリックし、[再起動] をクリックします。
-
ECS コンソールで、ECS インスタンスのセキュリティグループを設定して、FTP クライアントからのアクセスを制限します。詳細については、「セキュリティグループの作成」をご参照ください。
-
WinSCP FTP クライアントを使用して FTP サイトにアクセスします。
-
WinSCP を開きます。
-
[はい] をクリックしてサーバー証明書を受け入れます。
-
プロトコルの種類、ポート番号、ログイン情報を設定します。
WinSCP の [ログイン] ダイアログボックスで、[ファイルプロトコル] を [FTP] に、[暗号化] を [TLS/SSL 明示的な暗号化] に、[ポート番号] を
2222に設定します。[ユーザー名] にiis_userを入力し、パスワードを入力し、[ログイン] をクリックします。 -
認可されたユーザー (
iis_user) のパスワードを入力します。 -
データ接続を確立し、サーバーがリモートディレクトリ情報を読み取って転送できるようにします。
接続ログに 「TLS connection established」 と表示され、FTPS 暗号化接続がアクティブであることがわかります。
-
接続が確立された後、ファイルをアップロードまたはダウンロードできます。
WinSCP が正常に接続すると、2 ペインのインターフェイスが表示されます。左側のペインにはローカルディレクトリ (例:
C:\tmp) が表示され、右側のペインにはリモートサーバーのディレクトリとファイル一覧 (例:index.htmlおよびtest.asp) が表示されます。ツールバーの [アップロード] ボタンと [ダウンロード] ボタンを使用して、ローカルマシンとリモートサーバー間でファイルを転送できます。
-