🪣
TerraformでCloud Storageバッケットを作成する方法
この記事について
この記事ではTerraformを使ってCloud Storageのバケットを作成する方法について紹介します。
コーディングの準備
ターミナルで下記のコマンドを実行してコーディングの準備をします。
touch main.tf terraform.tfvars
コーディング
エディタで下記のファイルを開いて内容を入力します。
main.tf
terraform.tfvars
プロジェクトIDについては下記のコマンドで一覧できます。
gcloud config configurations list
バケット名の00000000の部分は日付8桁などに置き換えます。
バケットの作成
必要に応じて下記のコマンドを実行してtfファイルのフォーマットやバリデーションを行います。
terraform fmt
terraform validate
ターミナルで下記のコマンドを実行してバケットを作成します。
terraform init
terraform apply
作成されたバケット名を確認するには下記のコマンドを実行します。
terraform output
参考にしたWebページ
- Build Infrastructure - Terraform GCP Example
- google_storage_bucket | Resources | hashicorp/google | Terraform Registry
おわりに
terraform output -raw bucket_name
とコマンドを実行するとTerraformの出力値(Output Values)を取得することができるのできます。このコマンドと環境変数を組み合わせることでプログラムからTerraformの出力値を参照することができます。一例を下記に示します。
MY_BUCKET=`terraform output -raw bucket_name` \
node -e 'console.log(process.env.MY_BUCKET)'
上記のようなやり方はあまり一般的ではないので使用は推奨されません。特にTerraformの出力値の数が多い場合はコマンドが長くなって読みにくくなります。少し面倒ですがTerraformの出力値を.envなどに手動でコピーするのがシンプルなので良いと考えています。
Discussion