なんかこれ無限に調べている気がする。
日本語化
Oracle 環境下の場合、と書いてあるけど AWS でも手順自体は同じ。
ディスク追加
共有 (SMB)
IIS の匿名認証を有効にする
IIS ServerRoot を共有フォルダにする
IIS 500.19 エラー
Instead of using z:\ , I used network path \server\share\live_folder in the IIS physical path – something like this \server\share\wwwroot\inetpub\wwwroot
ネットワークドライブに割り当てたドライブレターから指定するのではなく ¥¥ホスト名¥共有名¥
で作って指定する。
IIS6 とかだとドライブレターで指定しても大丈夫だった気がするんだけどなあ。
SMB v2 or SMB v3 での匿名認証について
This article describes information about Windows disabling guest access in SMB2 and SMB3 by default, and provides settings to enable insecure guest logons in Group Policy. However, this is generally not recommended.
この記事では、Windows が SMB2 および SMB3 でのゲスト アクセスをデフォルトで無効にすることについて説明し、グループ ポリシーで安全でないゲスト ログオンを有効にする設定について説明します。ただし、これは一般的に推奨されません。
共有サーバのネットワーク設定
ようはサービスで port137-139, 445 あたりのグループ「ファイル共有〜」のあたりを、ネットワーク種別に応じて受信・送信それぞれ許可しているか? みたいな事。
「○○(接続名)のプロパティ」が開きます。
「ネットワークプロファイルの種類」で「プライベートネットワーク」をクリックしてください。
「ネットワークとインターネット」をクリックして「ネットワークとインターネット」に戻ります。
基本的に接続設定はパブリックネットワークでセットアップされるので、 上記ルールを設定していても netbios が流れなくてネットワークフォルダを設定できずマウント (ドライブレターを割り振れない) できない、という感じだった。
困ったら IUSRS
IIS_IUSRS
を追加しておくとよさそう?
レジストリ編集
これは実施しなかった。
AWS EC2 上で Windows を動かした時の名前解決
suffix ここで付与してるんだぁ。
ネットワーク上に共有すべき対象が表示されない
Function Discovery サービスらしいんだけど、サービスを起動しても解決しないのであった。
最終的に
AWS EC2 でスタンドアロンな WindowsServer2019 を2台立てて、IIS Webサーバと共有フォルダを ServerRoot にする、という事をやりたかったけど上手くいかなかったという話です。
PrivateSubnet に所属させてお互いローカル IP 同士では疎通や共有フォルダのネットワークドライブ割当、は IP 経由で実施できたんだけど、ホスト名ベースで出来ない (hosts 設定してもダメ) 状態で、 IIS が 500.19 エラーをずっと出力している。
IIS8 だと仮想パス (ネットワークドライブのドライブレターから始まるパス) で記述すると 500.19 エラーで、物理パス (¥¥ホスト名¥共有名¥) で、かつ実際に Windows にログオン出来るユーザで認証するように記述すると動作する、という状態なのは、 VirtualBox 上にホストオンリーアダプタ追加した仮想インスタンスふたつ用意して確認できたのだった。
いやーマジで素朴な事をさせて欲しいのにスルッといかないの本当に Windows っぽくて辛い。 ザッとググると、「port 137-139,445 をセキュリティグループで開放したら動きます!」みたいな記述がチラホラあるんだけど動かなくて、あーこれ Windows というか IIS のバージョン問題か? と考えている。