基本的な IIS ウェブサーバーの実行


Compute Engine 上の仮想マシン(VM)インスタンスは、標準の Windows サーバーと同様に制御できます。このチュートリアルでは、VM でウェブサーバーを実行するための基本を学ぶために、シンプルな IIS ウェブサーバーをデプロイする方法を説明します。

始める前に

HTTP トラフィックが許可されている新しい Windows インスタンスが必要です。

  • クイックスタートの手順に沿って、新しい Windows インスタンスを作成して RDP で接続します。

IIS のインストール

  1. Windows タスクバーの検索ボックスに PowerShell と入力して Enter キーを押します。タスクバーに検索フィールドがない場合は、検索アイコンをクリックして PowerShell と入力し、Enter キーを押します。タスクバーに検索フィールドも検索アイコンも表示されない場合は、Windows の検索ボックスを非表示 / 再表示するをご覧ください。

  2. 検索結果の [アプリ] で [Windows PowerShell] を右クリックし、[管理者として実行] を選択します。

  3. 次のコマンドを使用して、IIS サービスをインストールします。

    import-module servermanager
    
    add-windowsfeature web-server -includeallsubfeature
    
  4. 次のコマンドを使用して、IIS ウェブサーバーのデフォルトのウェブページを上書きします。

    echo '<!doctype html><html><body><h1>Hello World!</h1></body></html>' > C:\inetpub\wwwroot\index.html
    

サーバーのテスト

インスタンスの外部 IP でトラフィックが処理されているかどうかをテストします。

  1. Google Cloud コンソールで [VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. [外部 IP] 列から IP アドレスをコピーし、新しいブラウザタブに貼り付けて [Hello World!] ページを表示します。[Hello World!] ページが表示されない場合は、トラブルシューティング手順に従ってください。

クリーンアップ

テストが完了したら、このインスタンスに課金されないように、クイックスタートの手順に沿ってクリーンアップを行います。

トラブルシューティング

Connection Refused エラーの受信

Connection Refused エラーが発生した場合、次の原因が考えられます。

  • ファイアウォール ルールまたはタグが次のように誤って構成されているため、VM インスタンスが一般公開されていない。

    • Compute Engine が VM インスタスに該当するファイアウォール ルールを適用するための適切なタグが、インスタンスに構成されていない。
    • インスタンスの外部 IP アドレスへのトラフィックを許可するファイアウォール ルールが、プロジェクトに構成されていない。
  • https アドレスで VM にアクセスしようとしている。URL が https://[EXTERNAL_IP] ではなく、http://[EXTERNAL_IP] になっていることを確認します。

VM インスタンスに正しいタグが設定されていることを確認するには:

  1. Google Cloud コンソールで [VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. 接続するインスタンスの名前をクリックします。
  3. ページ上部の [編集] をクリックします。
  4. [ファイアウォール] までスクロールし、[HTTP トラフィックを許可する] ボックスがオンになっていることを確認します。オンになっていない場合には、オンにします。
  5. 変更を保存します。これにより、正しいタグが VM インスタンスに確実に追加されます。

ファイアウォール ルールを適切な状態にするには:

  1. Google Cloud コンソールで [ファイアウォール ルール] ページに移動します。

    [ファイアウォール ルール] に移動

  2. tcp:80 を通過するすべての IP 範囲を許可するファイアウォール ルールを探します。通常、このルールは default-allow-http ルールという名前になっています。
  3. ルールが存在しない場合は、作成します。
    1. [ファイアウォール ルールを作成] をクリックします。
    2. ルールの名前を入力します(例: default-allow-http)。
    3. [ソース IP の範囲] に「0.0.0.0/0」と入力して、すべてのソースからのトラフィックを許可します。
    4. [プロトコルとポート] で、[指定したプロトコルとポート] を選択し、tcp:80 を入力します。
    5. ファイアウォール ルールを作成します。

インスタンスの外部 IP アドレスにアクセスして、サーバーを再テストします。

http://[EXTERNAL_IP]