1
/
5

【TECH BLOG】GitHub Actionsとtfupdateを使ってTerraformおよびTerraform Providerのバージョンアップを自動化する

こんにちは。SRE部MLOpsチームの築山(@2kyym)です。

Infrastructure as Code(IaC)が一般的になり、またパブリッククラウドをフル活用したインフラ構築が当たり前となりつつあります。そんな中で、インフラの構成管理にTerraformを用いているチームも多いのではないでしょうか。本記事ではTerraformを用いたインフラ構成管理において避けては通れないTerraformやProviderのバージョンアップを自動化し、IaCの運用負荷を削減する方法をご紹介します。MLOpsチームでの運用を参考に、具体的な設定やハマりどころを交えつつ解説できればと思います。

Terraformとは

TerraformとはHashiCorp Inc.が開発しているIaCを実現するためのオープンソースツールです。GCPやAWSなどパブリッククラウドのインフラ構成を始め、各種SaaS上の設定も含めてリソースという単位でコードとして定義できます。例えば以下はGoogle Cloud Storageバケットのリソースを定義する例です。

resource "google_storage_bucket" "sample-bucket" {
name = "sample-bucket"
location = "asia"
}

このような定義を記述したファイル(以下tfファイル)を用意し、インフラ構成を適用するコマンドである

terraform apply

を実行することで、リソースの作成・変更・削除が行われます。

MLOpsチームにおけるTerraform運用の背景

まずTerraformのバージョンアップの自動化について述べる前に、MLOpsチームにおけるTerraform運用の背景をご紹介します。チームの状況を踏まえ、運用にどういった課題が生じていたのか説明します。



続きはこちら

株式会社ZOZOでは一緒に働く仲間を募集しています
2 いいね!
2 いいね!
同じタグの記事
今週のランキング
株式会社ZOZOからお誘い
この話題に共感したら、メンバーと話してみませんか?