はじめに

TerraformでAzureのSQL Databaseを作成することがあったので、アウトプットとしてTerraformのコードを記載していきます。

過去シリーズ記事

とりあえずTerraformでAzure Redis for Cacheを作ってみる

コード

resource "azurerm_resource_group" "test" {
  name     = "sql-db-rg"
  location = "japaneast"
}

resource "azurerm_mssql_server" "test" {
  name                         = "test-server"
  resource_group_name          = azurerm_resource_group.test.name
  location                     = azurerm_resource_group.test.location
  version                      = "12.0"
  administrator_login          = "test"
  administrator_login_password = "12345"
}

resource "azurerm_mssql_database" "test" {
  name                 = "test-db"
  server_id            = azurerm_mssql_server.test.id
  max_size_gb          = 2
  sku_name             = "P1"
  storage_account_type = "Local" # バックアップストレージのタイプ
}

内容としては、
SQL Serverを1個とSKUがP1のSQL Databaseを1個作成しています。

各パラメーターの説明

SQL Server

  • name
    SQL Serverの名前, 一意。
  • resource_group_name
    SQL Serverを作成するリソースグループの名前。
  • location
    作成するSQL Serverの場所。
  • version
    SQL Serverのバージョン。
  • administrator_login
    サーバーの管理者のログイン名。
  • administrator_login_password
    サーバー管理者のパスワード。

SQL Database

  • name
    SQL Databaseの名前。
  • server_id
    SQL Serverの名前。
  • max_size_gb
    データベースの最大サイズ。
  • sku_name
    SKU。
  • storage_account_type
    バックアップストレージのタイプ。

詳細については下記のドキュメントをご参照ください。
Terraform 公式ドキュメント
Azure 公式ドキュメント

手順

リソースを作成する際は以下のコマンドを実行してください。

terraform init
terraform plan -out main.tfplan
terraform apply main.tfplan

さいごに

誰かのお役に立てれば幸いです。