STERFIELD

Terraform で Cloud Functions をデプロイしてみた

Terraform で Cloud Functions をデプロイしてみた

Terraformって何?

Terraformはインフラの構成管理ツールです。Terraformはインフラのリソースをコードとして定義して、その定義の状態になるようにリソースを作成・操作してくれます。いわゆるIaC(Infrastructure as Code)ツールです。今回はTerraform で Cloud Functions をデプロイしてみました。

 

デプロイする前提条件

  • サービスアカウントのjsonファイル

Terraformというユーザーに、GCPのプロジェクトにリソースを作成するための権限を付与する必要があります。それを実現するのがサービスアカウントというものです。
ざっくり説明すると、GCPのプロジェクトにリソースを作成するためのサービスアカウントを発行し、その権限情報(イメージとしては鍵)をTerraformに持たせなければ、Terraformはリソースを作れません。実際にはサービスアカウントの情報をjsonファイルにまとめた物をTerraformに渡します。

作成の方法は公式のドキュメントを参考してください
https://cloud.google.com/docs/authentication/production?hl=ja#create_service_account

main.tf


デプロイ方法

1.ワークスペースを初期化する
Terraform を実行するためには、1番初めに terraform init でワークスペースを初期化することが必須となっています。

2.実行計画を参照する
Terraformファイルに記載された情報を元に、どのようなリソースが 作成/修正/削除 されるかを参照することが可能になります。

cloud functionsにデプロイ

Terraform applyを実行すると、 TerraformがCloud Storageへファイルをアップロード -> Functionsへデプロイまで自動で実行してくれます。

Author Profile

著者近影

スターフィールド編集部

SHARE

合わせて読みたい