このチュートリアルでは、Compute Engine を始める方法を説明します。このチュートリアルに従い、.NET Web の Hello World アプリを Compute Engine にデプロイします。App Engine を初めて使用する場合は、App Engine スタンダード環境をご覧ください。
目標
- Hello World サンプルアプリを単一の Compute Engine インスタンスにデプロイします。
費用
このチュートリアルでは、課金対象である次の Google Cloud コンポーネントを使用します。
料金計算ツールを使うと、予想使用量に基づいて費用の見積もりを生成できます。新しい Google Cloud ユーザーは無料トライアルをご利用いただけます。
始める前に
- Google アカウントにログインします。
Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する。
- Compute Engine API を有効にします。
- Microsoft Windows を実行しているローカルマシンに .NET Core SDK 2.1 以降をインストールします。
- Microsoft Windows を実行しているローカルマシンに Web Deploy 3.6 以降をインストールします。
アプリをローカルで実行する
GitHub からサンプル リポジトリをダウンロードして解凍するか、サンプル リポジトリのクローンを作成します。
git clone https://github.com/GoogleCloudPlatform/getting-started-dotnet.git
PowerShell ウィンドウで、
HelloWorld
ディレクトリに移動します。cd getting-started-dotnet\HelloWorld
ローカル ウェブサーバーを起動します。
dotnet run
ウェブブラウザを開いて
localhost:8080
にアクセスします。Web ブラウザーに、ローカル PC から送られる Hello World テキストが表示されます。
次に進む準備ができたら、Ctrl+Cキーを押してローカル ウェブサーバーを停止します。
単一インスタンスへのデプロイ
このセクションでは、Compute Engine 上でアプリの単一インスタンスを実行する手順を順を追って説明します。
Compute Engine インスタンスの作成と構成
Google Cloud マーケットプレイスから、Compute Engine で Microsoft IIS を実行している Windows のインスタンスを起動できます。
Google Cloud Console で、[ASP.NET Framework] Cloud Marketplace ページに移動します。
[Launch] をクリックします。
設定はデフォルト値のままにして、[Deploy] をクリックします。
Compute Engine インスタンスがデプロイされるのを待ちます。デプロイには通常 5 分ほどかかります。
リソース情報を表示するには、[VM インスタンス] をクリックします。
VM インスタンスを編集するには、[リソースの管理] をクリックします。
[Windows パスワードを設定] をクリックして、ユーザー名をメモします。
新しい Windows パスワードをコピーして、[閉じる] をクリックします。
[VM インスタンスの詳細] ページで、外部 IP アドレスをメモします。
ローカルマシンで、ファイル
HelloWorld/Properties/PublishProfiles/ComputeEngine.pubxml
を編集します。VM インスタンスの外部 IP アドレスを、
<MSDeployServiceURL>
と</MSDeployServiceURL>
の間に入力します。例:<MSDeployServiceURL>203.0.113.22</MSDeployServiceURL>
以前にメモしたインスタンスのユーザー名を、
<UserName>
と</UserName>
の間に入力します。変更を
ComputeEngine.pubxml
ファイルに保存します。PowerShell ウィンドウで、アプリを Compute Engine インスタンスに公開します。
dotnet publish -c Release ` /p:PublishProfile=Properties\PublishProfiles\ComputeEngine.pubxml ` "/p:Password=YOUR-PASSWORD"
YOUR-PASSWORD
を、以前にコピーしたパスワードに置き換えます。ウェブブラウザを開いて、インスタンスの外部 IP アドレスにアクセスします。
ウェブブラウザに、Compute Engine インスタンスから送られる Hello World テキストが表示されます。
インスタンスの管理とモニタリング
Cloud Console を使用して、インスタンスのモニタリングと管理を行うことができます。
- Compute Engine リソースによって生成されたすべてのログを表示するには、ログビューア ページに移動します。ログビューアに移動
Cloud Logging は、各種の一般的なサービス(
syslog
など)からログを収集するように自動的に構成されます。
クリーンアップ
このチュートリアルで使用したリソースについて、Google Cloud Platform アカウントに課金されないようにする手順は次のとおりです。
プロジェクトの削除
- Cloud Console で [リソースの管理] ページに移動します。
- プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
- ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。
個々のリソースの削除
gcloud compute instances delete my-app-instance --zone=YOUR_ZONE --delete-disks=all gcloud compute firewall-rules delete default-allow-http-80
次のステップ
Google Cloud のその他の機能を試す。チュートリアルをご覧ください。
アプリの構築に使用するその他の .NET リソースについては、以下をご覧ください。
- インスタンス グループのデプロイメントの管理とモニタリングについては、Compute Engine > インスタンス グループ。
- URL マップやバックエンド サービスなどの負荷分散構成の管理については、ネットワーク サービス > 負荷分散。
- Google Kubernetes Engine にアプリをデプロイする
- その他の Google Cloud サービスを検索します。