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

Terraformを使用したローカル環境でのVPC作成ガイド

クラウドコンピューティングの普及に伴い、インフラストラクチャをコード化して管理するニーズが高まっています。Terraformはそのようなニーズに応えるツールの1つであり、インフラストラクチャの自動化と管理を容易にするための強力なツールです。今回は、Terraformを使用してGCP上にVPCを作成する手順を紹介します。

はじめに

クラウドコンピューティングの普及に伴い、インフラストラクチャをコード化して管理するニーズが高まっています。Terraformはそのようなニーズに応えるツールの1つであり、インフラストラクチャの自動化と管理を容易にするための強力なツールです。今回は、Terraformを使用してGoogle Cloud Platform(GCP)上に仮想プライベートクラウド(VPC)を作成する手順を紹介します。

1. Google Cloud SDKのインストール

まず、Google Cloud SDKをインストールします。Homebrewを使って以下のコマンドを実行します。




brew install --cask google-cloud-sdk



インストールが完了したら、次のコマンドでgcloudコマンドが使えるか確認します。



gcloud version





2. 初期設定

次に、初期設定を行います。ターミナルで以下のコマンドを実行して、プロジェクトとリージョンを選択します。



gcloud init




3. tfenvのインストール

tfenvを使用してTerraformのバージョン管理を行います。以下のコマンドを使ってtfenvをインストールします。




brew install tfenv



インストール後、以下のコマンドを実行してTerraformのバージョンを確認し、適切なバージョンを選択します。



tfenv --version 
tfenv list-remote


 



4. Terraformの初期設定とバージョンの選択

適切なバージョンを選択したら、以下のコマンドを使ってTerraformをインストールします。




tfenv install 1.7.3



そして、インストールしたバージョンを使用します。



tfenv use 1.7.3


5. Terraformの設定ファイル作成

まず、VSCodeなどのエディタを使用して作業するディレクトリに移動します。その後、main.tfという名前のファイルを作成し、以下の内容を記述します。




terraform {
required_providers {
google = {
source = "hashicorp/google"
version = "2.15.0" # 使用するバージョンを指定してください
}
}
}

provider "google" {
credentials = file("gcp.json") # サービスアカウントキーのファイルパスを指定してください

project = "your-project-id" # GCPプロジェクトのIDを指定してください
region = "your-region" # リージョンを指定してください
zone = "your-zone" # ゾーンを指定してください
}

resource "google_compute_network" "vpc_network" {
name = "terraform-vpc-test" # VPCの名前を指定してください
}


6. VPC作成用のサービスアカウント作成とterraformの接続

Vscodeで作業するディレクトリへ移動し以下コマンドを実行します。




gcloud config set project プロジェクト名



サービスアカウントの公開鍵ファイルを.terraform内に配置します。


※サービスアカウントの作成と秘密鍵の作成方法



7. Terraformの実行

作業ディレクトリで以下のコマンドを実行して、Terraformの初期化とプランの作成を行います。




terraform init
terraform plan



プランが問題なく作成されたら、以下のコマンドを実行してリソースを作成します。




terraform apply



これでVPCが作成されました。Google Cloud Consoleで確認してください。



最後に

これで、Terraformを使用してGCP上にVPCを構築するための手順が完了しました。これは、クラウドインフラストラクチャを自動化するための基本的な手法であり、他のリソースや設定を追加することで、より複雑な環境を構築することができます。例えば、サブネット、ファイアウォールルール、ロードバランサーなどの追加のリソースを定義することで、より包括的なネットワークインフラストラクチャを作成することができます。


また、この手順はMac環境を想定していますが、他の環境でも同様の手順が適用されます。必要に応じて、各環境に合わせて適切なコマンドや設定を行ってください。


New call-to-action