そのほか
2024/02/15
與田 龍人

Terraformを使用してGoogle Cloud PlatformでVMインスタンスを立ち上げる

クラウドコンピューティングの利点を最大限に活用するために、インフラストラクチャのコード化と自動化は不可欠です。Terraformは、Google Cloud Platform(GCP)でのインフラストラクチャの管理を簡素化するためのツールであり、本記事ではTerraformを使用してGCPでVMインスタンスを立ち上げる方法に焦点を当て解説していきます。

はじめに

クラウドコンピューティングの利点を最大限に活用するために、インフラストラクチャのコード化と自動化は不可欠です。Terraformは、Google Cloud Platform(GCP)でのインフラストラクチャの管理を簡素化するためのツールであり、本記事ではTerraformを使用してGCPでVMインスタンスを立ち上げる方法に焦点を当て解説していきます。


※Terraformの詳細な環境構築についてはこちらから確認できます。


1. Terraformの設定

まず、Terraformの設定を行います。以下のTerraformコードを任意の環境に合わせて設定し 、main.tf という名前のファイルに保存します。



# Terraformの設定を開始する
terraform {
# 必要なプロバイダーを指定します
required_providers {
google = {
source = "hashicorp/google"
version = "3.72.0"
}
}
}

# Google Cloud Platformの認証情報を指定します
provider "google" {
credentials = file("/path/to/your/credentials.json") # GCPのサービスアカウントキーのパスを指定します

project = "your-project-id" # GCPプロジェクトIDを指定します
region = "your-region" # インスタンスを作成するリージョンを指定します
zone = "your-zone" # インスタンスを作成するゾーンを指定します
}

# Compute Engineインスタンスを定義します
resource "google_compute_instance" "vm_instance" {
name = "my-vm-instance" # インスタンスの名前を指定します
machine_type = "n1-standard-1" # インスタンスのマシンタイプを指定します
zone = "your-zone" # インスタンスを作成するゾーンを指定します

# ブートディスクの設定を定義します
boot_disk {
initialize_params {
image = "debian-cloud/debian-10" # ブートディスクのイメージを指定します
}
}

# ネットワークインターフェースの設定を定義します
network_interface {
network = "default" # インスタンスが使用するネットワークを指定します(既定のネットワークを使用する場合は "default" を指定します)
access_config {} # インスタンスの外部IPアドレスを設定します
}

# インスタンスの起動時に実行するスタートアップスクリプトを指定します
metadata_startup_script = <<-EOF
#!/bin/bash
# 必要な依存関係をインストールします
apt-get update
apt-get install -y python3-pip
pip3 install google-cloud-bigquery

# スクレイピングスクリプトを実行します
python3 /path/to/your/scraping_script.py
EOF
}

2. Terraformの実行

Terraformの初期化とデプロイメントを行います。以下の手順に従って進めてください。


初期化


ターミナルで以下のコマンドを実行して、Terraformの初期化を行います。




terraform init



プランニング


次に、プランニングを行います。以下のコマンドを実行して、Terraformが実行する変更の概要を確認します。




terraform plan



デプロイ


最後に、以下のコマンドを実行して、Terraformがインフラストラクチャの変更を適用します。




terraform apply



適用が完了すると、VMインスタンスが正常に立ち上がります。



まとめ

これで、Terraformを使用してGCPでVMインスタンスを立ち上げる手順が完了しました。提供されたスクリプトをVMに配置し、スクリプトを実行することで、必要な処理を自動化できます。


Terraformを使用することで、手動の設定作業を省略し、インフラストラクチャの管理を効率化できます。是非、自動化の力を活用して、クラウド上のリソースを効果的に管理しましょう。


New call-to-action