単一 VM スタックでは、スマート デフォルトが設定された個々の VM が作成されますが、仮想マシンのカスタマイズ機能も提供されます。以下を使用します。
- コンピューティング - VM - Compute Engine
この例では、シンプルな単一の仮想マシンを設定し、SSH で接続できます。
スタートガイド
Cloud Shell でソースコードのコピーへの次のリンクをクリックします。その後、1 つのコマンドでプロジェクト内のアプリケーションの作業コピーがスピンアップされます。
単一 VM のコンポーネント
単一 VM のアーキテクチャでは、1 つの主要プロダクトを使用します。以下に、関連動画、プロダクト ドキュメント、インタラクティブ チュートリアルへのリンクを含めた、プロダクトの詳細を示します。動画 | ドキュメント | チュートリアル | |||
---|---|---|---|---|---|
Compute Engine | Compute Engine は Google Cloud の仮想技術です。VM のさまざまな構成を起動して、どのようなコンピューティング ニーズにも対応できます。 |
スクリプト
インストール スクリプトでは、go
と Terraform CLI ツールで記述された実行ファイルを使用して、空のプロジェクトを作成し、そこにアプリケーションをインストールします。出力は、機能するアプリケーションとロード バランシング IP アドレスの URL になります。
./main.tf
サービスを有効化する
Google Cloud サービスは、デフォルトではプロジェクトで無効になっています。ソリューションを使用するには、以下を有効にする必要があります。
- Compute Engine — 仮想マシンとネットワーク
variable "gcp_service_list" {
description = "The list of apis necessary for the project"
type = list(string)
default = [
"compute.googleapis.com",
]
}
resource "google_project_service" "all" {
for_each = toset(var.gcp_service_list)
project = var.project_number
service = each.key
disable_dependent_services = false
disable_on_destroy = false
}
仮想マシンを作成する
VM を作成します。
resource "google_compute_instance" "instance" {
name = var.instance-name
machine_type = var.instance-machine-type
zone = var.zone
project = var.project_id
tags = var.instance-tags
boot_disk {
auto_delete = true
device_name = var.instance-name
initialize_params {
image = var.instance-image
size = var.instance-disksize
type = var.instance-disktype
}
}
network_interface {
network = "default"
access_config {
// Ephemeral public IP
}
}
depends_on = [google_project_service.all]
}
まとめ
これで、単一 VM が作成されました。SSH で接続して、必要に応じて構成します。さらに、環境に合わせてソリューションを変更または拡張するためのコードもすべて用意されています。