Compute Engine 上の仮想マシン(VM)インスタンスは、標準の Windows サーバーと同様に制御できます。このチュートリアルでは、VM でウェブサーバーを実行するための基本を学ぶために、シンプルな IIS ウェブサーバーをデプロイする方法を説明します。
始める前に
HTTP トラフィックが許可されている新しい Windows インスタンスが必要です。
- クイックスタートの手順に沿って、新しい Windows インスタンスを作成して RDP で接続します。
IIS のインストール
Windows タスクバーの検索ボックスに
PowerShell
と入力してEnter
キーを押します。タスクバーに検索フィールドがない場合は、検索アイコンをクリックしてPowerShell
と入力し、Enter
キーを押します。タスクバーに検索フィールドも検索アイコンも表示されない場合は、Windows の検索ボックスを非表示 / 再表示するをご覧ください。検索結果の [アプリ] で [Windows PowerShell] を右クリックし、[管理者として実行] を選択します。
次のコマンドを使用して、IIS サービスをインストールします。
import-module servermanager
add-windowsfeature web-server -includeallsubfeature
次のコマンドを使用して、IIS ウェブサーバーのデフォルトのウェブページを上書きします。
echo '<!doctype html><html><body><h1>Hello World!</h1></body></html>' > C:\inetpub\wwwroot\index.html
サーバーのテスト
インスタンスの外部 IP でトラフィックが処理されているかどうかをテストします。
Google Cloud コンソールで [VM インスタンス] ページに移動します。
[外部 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 インスタンスに正しいタグが設定されていることを確認するには:
- Google Cloud コンソールで [VM インスタンス] ページに移動します。
- 接続するインスタンスの名前をクリックします。
- ページ上部の [編集] をクリックします。
- [ファイアウォール] までスクロールし、[HTTP トラフィックを許可する] ボックスがオンになっていることを確認します。オンになっていない場合には、オンにします。
- 変更を保存します。これにより、正しいタグが VM インスタンスに確実に追加されます。
ファイアウォール ルールを適切な状態にするには:
- Google Cloud コンソールで [ファイアウォール ルール] ページに移動します。
- tcp:80 を通過するすべての IP 範囲を許可するファイアウォール ルールを探します。通常、このルールは
default-allow-http
ルールという名前になっています。 - ルールが存在しない場合は、作成します。
- [ファイアウォール ルールを作成] をクリックします。
- ルールの名前を入力します(例:
default-allow-http
)。 - [ソース IP の範囲] に「
0.0.0.0/0
」と入力して、すべてのソースからのトラフィックを許可します。 - [プロトコルとポート] で、[指定したプロトコルとポート] を選択し、
tcp:80
を入力します。 - ファイアウォール ルールを作成します。
インスタンスの外部 IP アドレスにアクセスして、サーバーを再テストします。
http://[EXTERNAL_IP]