このチュートリアルでは、Compute Engine を始める方法を説明します。チュートリアルに沿って、PHP ウェブアプリの Hello World を Compute Engine にデプロイします。App Engine をはじめて使用する場合は、App Engine スタンダード環境をご覧ください。
目標
- Cloud Shell を使用して、Hello World サンプルアプリをダウンロードしてデプロイします。
- Hello World サンプルアプリを単一の Compute Engine インスタンスにデプロイします。
料金
このドキュメントでは、Google Cloud の次の課金対象のコンポーネントを使用します。
料金計算ツールを使うと、予想使用量に基づいて費用の見積もりを生成できます。
準備
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine API.
-
Google Cloud Console から、Cloud Shell でアプリを開きます。
Cloud Shell を使用すると、ブラウザからコマンドラインで直接クラウド リソースにアクセスできます。
-
リポジトリのクローン作成に同意する場合は、[Confirm] をクリックしてサンプルコードをダウンロードし、アプリ ディレクトリに変更します。
- Cloud Shell で、gcloud CLI を構成して新しい Google Cloud プロジェクトを使用します。
# Configure gcloud for your project gcloud config set project YOUR_PROJECT_ID
Cloud Shell でアプリを実行する
composer
を使用してアプリの依存関係をインストールします。composer install
PHP 組み込みウェブサーバーを実行します。
php -S localhost:8080
Cloud Shell で、[ウェブでプレビュー] をクリックし、[ポート 8080 でプレビュー] を選択します。新しいウィンドウが開き、実行中のアプリが表示されます。
ローカル ウェブサーバーを停止するには、Ctrl+C キーを押します。
単一インスタンスへのデプロイメント
このセクションでは、Compute Engine 上でアプリの単一インスタンスを実行する手順を順を追って説明します。
Cloud Shell から、アプリを実行する単一の Compute Engine インスタンス仮想マシン(VM)にアプリをデプロイできます。
起動スクリプトを使用してインスタンスを初期化する
インスタンスにコードのダウンロードと実行を指示するための手段が必要です。インスタンスの起動時または再起動時に常に実行される起動スクリプトをインスタンスに設定できます。
起動スクリプトは次のタスクを実行します。
PHP 7 と PHP 7 FPM をインストールします。
NGINX をインストールして構成します。
Composer をダウンロードして、アプリコード用に実行します。
Cloud Logging エージェントをインストールして、アプリログをモニタリングするように構成します。つまり、このチュートリアルの前のステップで構成したロギングは、App Engine を使用している場合とまったく同じようにアップロードされます。
Compute Engine インスタンスを作成して構成する
Compute Engine インスタンスを作成します。
ゾーンを開発用のゾーン(
us-central1-a
など)に置き換えます。リージョンとゾーンの詳細については、地域とリージョンをご覧ください。これにより、新しいインスタンスの作成と、Google Cloud サービスへのアクセスの許可が行われ、起動スクリプトが実行されます。インスタンス名は
my-app-instance
です。インスタンス作成の進行状況を確認します。
gcloud compute instances get-serial-port-output my-app-instance --zone YOUR_ZONE
YOUR_ZONE
をインスタンスをデプロイしたゾーンに置き換えます。起動スクリプトが完了すると、次のメッセージが表示されます。
startup-script: INFO Finished running startup scripts.
インスタンスへのトラフィックを許可するファイアウォール ルールを作成します。
gcloud compute firewall-rules create default-allow-http-80 \ --allow tcp:80 \ --source-ranges 0.0.0.0/0 \ --target-tags http-server \ --description "Allow port 80 access to http-server"
インスタンスの外部 IP アドレスを取得します。
gcloud compute instances list
アプリが実行されていることを確認するには、ブラウザで次の URL を入力します。
http://YOUR_INSTANCE_IP
YOUR_INSTANCE_IP
をインスタンスの外部 IP アドレスに置き換えます。
インスタンスの管理とモニタリング
インスタンスのモニタリングと管理には、Google Cloud コンソールを使用できます。
- In the Google Cloud console, go to the VM instances page.
- In the list of virtual machine instances, click SSH in the row of the instance that you want to connect to.
- Compute Engine リソースによって生成されたすべてのログを表示するには、[ログビューア] ページに移動します。[ログ エクスプローラ] に移動
Cloud Logging は、各種の一般的なサービス(
syslog
など)からログを収集するように自動的に構成されます。
クリーンアップ
このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、リソースを含むプロジェクトを削除するか、プロジェクトを維持して個々のリソースを削除します。
プロジェクトの削除
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
個々のリソースの削除
gcloud compute instances delete my-app-instance --zone=YOUR_ZONE --delete-disks=all gcloud compute firewall-rules delete default-allow-http-80