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