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

このチュートリアルでは、Compute Engine を使用して仮想マシン(VM)インスタンスに Apache ウェブサーバーをデプロイする方法について説明します。Google Cloud でウェブサービスに使用できるテクノロジーの詳細については、Google Cloud でのホスティング オプションの選択をご覧ください。

Compute Engine 上の VM は、標準の Linux サーバーと同じように制御できます。Apache ウェブサーバーをデプロイして、VM インスタンスでサーバーを実行するための基礎を学びます。

前提条件

次の手順で、HTTP トラフィックを許可する Linux VM を作成します。

  1. 新しい Linux VM を作成します。詳しくは、Linux VM の使用に関するクイックスタートをご覧ください。

    1. 省略可: Linux VM を作成する際に、[HTTP トラフィックを許可する] チェックボックスをオンにすると、トラフィック用にポート tcp:80 を開くことができます。別のポートを開く場合は、VM の作成後にファイアウォールを構成し、そのファイアウォールを使用するように Apache を構成します。
  2. Linux VM に接続します。詳細については、VM インスタンスに接続するをご覧ください。

Apache のインストール

  1. Debian のパッケージ マネージャーを使用して、apache2 パッケージをインストールします。

    sudo apt update && sudo apt -y install apache2
    

    Apache をインストールすると、オペレーティング システムにより Apache サーバーが自動的に起動します。

  2. 次のコマンドを使用して、Apache ウェブサーバーのデフォルトのウェブページを上書きします。

    echo '<!doctype html><html><body><h1>Hello World!</h1></body></html>' | sudo tee /var/www/html/index.html
    

サーバーのテスト

VM の外部 IP でトラフィックが処理されているかどうかを確認します。

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

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

  2. [外部 IP] 列で、VM の外部 IP をコピーします。
  3. ブラウザで、http://[EXTERNAL_IP] に移動します。https を使用して接続しないでください。接続すると、サーバーから Connection Refused エラーが返されます。

これで「Hello World!」ページが表示されます。

クリーンアップ

テストの完了後に VM に対する課金が発生しないようにするには、VM を削除します。詳細については、クリーンアップをご覧ください。

トラブルシューティング

Connection Refused エラーの受信

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

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

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

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

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

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

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

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

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

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

  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]

次のステップ

Compute Engine でウェブサイトをホストする方法を学習する

Compute Engine で LAMP を設定する方法を学習する。

使ってみる

Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオで Compute Engine のパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。

Compute Engine の無料トライアル