このチュートリアルでは、Compute Engine を使用して仮想マシン(VM)インスタンスに Apache ウェブサーバーをデプロイする方法について説明します。Google Cloudでウェブサービスに使用できるテクノロジーの詳細については、Google Cloudでのホスティング オプションの選択をご覧ください。
Compute Engine 上の VM は、標準の Linux サーバーと同じように制御できます。Apache ウェブサーバーをデプロイして、VM インスタンスでサーバーを実行するための基礎を学びます。
前提条件
次の手順で、HTTP トラフィックを許可する Linux VM を作成します。
新しい Linux VM を作成します。詳しくは、Linux VM の使用に関するクイックスタートをご覧ください。
- (省略可)Linux VM の作成時に、[HTTP トラフィックを許可する] チェックボックスをオンにしてトラフィック用にポート
tcp:80
を開き、[HTTPS トラフィックを許可する] チェックボックスをオンにしてポートtcp:443
を開くことができます。別のポートを開く場合は、VM の作成後にファイアウォールを構成し、そのファイアウォールを使用するように Apache を構成します。
- (省略可)Linux VM の作成時に、[HTTP トラフィックを許可する] チェックボックスをオンにしてトラフィック用にポート
Linux VM に接続します。詳細については、VM インスタンスに接続するをご覧ください。
Apache をインストールする
- Google Cloud コンソールで [VM インスタンス] ページに移動します。
- 作成した Linux VM に接続するには、VM の行で [SSH] をクリックします。
使用可能なパッケージを更新し、
apache2
パッケージをインストールするには、そのオペレーティング システムのシステム パッケージ マネージャーを使用します。クイックスタートを使用した場合、Ubuntu VM が作成されます。Ubuntu VM を更新するには、次のコマンドを実行します。sudo apt update && sudo apt -y install apache2
Apache をインストールすると、オペレーティング システムにより Apache サーバーが自動的に起動します。
Apache が実行されていることを確認します。
sudo systemctl status apache2
Apache ウェブサーバーのデフォルトのウェブページを上書きします。
echo '<!doctype html><html><body><h1>Hello World!</h1></body></html>' | sudo tee /var/www/html/index.html
サーバーのテスト
VM の外部 IP でトラフィックが処理されているかどうかを確認します。
- Google Cloud コンソールで [VM インスタンス] ページに移動します。
- [外部 IP] 列で、VM の外部 IP をコピーします。
- ブラウザで、
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 インスタンスに正しいタグが設定されていることを確認するには:
- 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]
次のステップ
Compute Engine でウェブサイトをホストする方法を学習する
Compute Engine で LAMP を設定する方法を学習する。
使ってみる
Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオで Compute Engine のパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
Compute Engine の無料トライアル