単一の VM

アーキテクチャ

単一 VM スタックでは、スマート デフォルトが設定された個々の VM が作成されますが、仮想マシンのカスタマイズ機能も提供されます。以下を使用します。

  • コンピューティング - VM - Compute Engine

この例では、シンプルな単一の仮想マシンを設定し、SSH で接続できます。


使ってみる

Cloud Shell でソースコードのコピーへの次のリンクをクリックします。その後、1 つのコマンドでプロジェクト内のアプリケーションの作業コピーがスピンアップされます。

Cloud Shell で開く

GitHub でソースコードを見る


単一 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 で接続して、必要に応じて構成します。さらに、環境に合わせてソリューションを変更または拡張するためのコードもすべて用意されています。