このチュートリアルでは、Compute Engine を始める方法を説明します。 このチュートリアルに従い、.NET Web の Hello World アプリを Compute Engine にデプロイします。App Engine を初めて使用する場合は、App Engine スタンダード環境をご覧ください。
目標
- Hello World サンプルアプリを単一の Compute Engine インスタンスにデプロイします。
費用
このドキュメントでは、課金対象である次のコンポーネントを使用します。 Google Cloud
料金計算ツールを使うと、予想使用量に基づいて費用の見積もりを生成できます。
始める前に
- アカウントにログインします。 Google Cloud を初めて使用する場合は、 アカウントを作成して、実際のシナリオで Google プロダクトのパフォーマンスを評価してください。 Google Cloud新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Compute Engine API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Compute Engine API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.- Microsoft Windows を実行しているローカルマシンに .NET Core SDK 2.1 以降をインストールします。
- Microsoft Windows を実行しているローカルマシンに Web Deploy 3.6 以降をインストールします。
アプリをローカルで実行する
GitHub からサンプル リポジトリをダウンロードして解凍するか、サンプル リポジトリのクローンを作成します。
git clone https://github.com/GoogleCloudPlatform/getting-started-dotnet.gitPowerShell ウィンドウで、
HelloWorldディレクトリに移動します。cd getting-started-dotnet\HelloWorldローカル ウェブサーバーを起動します。
dotnet runウェブブラウザを開いて
localhost:8080にアクセスします。Web ブラウザーに、ローカル PC から送られる Hello World テキストが表示されます。
次に進む準備ができたら、Ctrl+Cキーを押してローカル ウェブサーバーを停止します。
単一インスタンスへのデプロイ
このセクションでは、Compute Engine 上でアプリの単一インスタンスを実行する手順を順を追って説明します。
Compute Engine インスタンスの作成と構成
Google Cloud Marketplace から、Compute Engine で Microsoft IIS を実行している Windows のインスタンスを起動できます。
コンソールで、Cloud Marketplace の [ASP.NET Framework] ページに移動します。 Google Cloud
[Launch] をクリックします。
設定はデフォルト値のままにして、[Deploy] をクリックします。
Compute Engine インスタンスがデプロイされるまで待ちます。通常、デプロイには約 5 分かかります。
リソース情報を表示するには、[VM インスタンス] をクリックします。
VM インスタンスを編集するには、[リソースの管理] をクリックします。
[Windows パスワードを設定] をクリックして、ユーザー名をメモします。
新しい Windows パスワードをコピーして、[閉じる] をクリックします。
[VM インスタンスの詳細] ページで、外部 IP アドレスをメモします。
ローカル Windows マシンで、ファイル
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 テキストが表示されます。
インスタンスの管理とモニタリング
コンソールを使用して、インスタンスのモニタリングと管理を行うことができます。 Google Cloud
-
Compute Engine リソースによって生成されたすべてのログを表示するには、 [**ログ エクスプローラ**] ページに移動します。
ログ エクスプローラに移動Cloud Logging は、各種の一般的なサービス(
syslogなど)からログを収集するように自動的に構成されます。
クリーンアップ
このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、リソースを含むプロジェクトを削除するか、プロジェクトを維持して個々のリソースを削除します。
プロジェクトを削除する
- コンソールで [**リソースの管理**] ページに移動します。 Google Cloud
- プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
- ダイアログでプロジェクト ID を入力し、 [Shut down] をクリックしてプロジェクトを削除します。
個々のリソースの削除
gcloud compute instances delete my-app-instance --zone=YOUR_ZONE --delete-disks=all gcloud compute firewall-rules delete default-allow-http-80
次のステップ
Google Cloud に関するリファレンス アーキテクチャ、図、ベスト プラクティスを確認する。Cloud Architecture Center を確認します。
アプリの構築に使用するその他の .NET リソースについては、以下をご覧ください。
- インスタンス グループのデプロイメントの管理とモニタリングについては、Compute Engine > インスタンス グループ。
- URL マップやバックエンド サービスなどの負荷分散構成の管理については、ネットワーク サービス > 負荷分散。
- Google Kubernetes Engine にアプリをデプロイする
- その他のGoogle Cloud サービスを確認する。