2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

概要

TerraformのVercel Providerを参考にVercelの下記の管理を試してみたので、つらつらやったことを書きます。

  • Projects設定
    • Projectの設定
    • デプロイ
    • vercel_attack_challenge_modeの設定
  • 独自ドメイン設定
    • Vercelに指定されたAレコードの方式で独自ドメインを紐付け

コードは下記

※あくまでも現在何ができるのかな〜を軽く試してみたレベルの記事です

各種バージョン

  • hashicorp/aws: 5.58.0
  • vercel/vercel: 1.12.0
  • terraform_version: 1.5.7

Vercel Projectの作成

こちらの記事に沿ってサクサク作れました。

terraform {
  required_providers {
    vercel = {
      source = "vercel/vercel"
      version = "~> 1.0"
    }
}

resource "vercel_project" "tf-nextjs-demo" {
  name      = "tf-nextjs-demo"
  framework = "nextjs"
  git_repository = {
    type = "github"
    repo = "自分のレポジトリ"
  }
}

デプロイ + vercel_attack_challenge_modeの設定

data "vercel_project_directory" "nextjs-blog" {
  path = "../nextjs-blog" // デプロイしたいプロジェクトのDirを設定
}

resource "vercel_deployment" "tf-nextjs-demo_deployment" {
  project_id  = vercel_project.tf-nextjs-demo.id
  files       = data.vercel_project_directory.nextjs-blog.files
  path_prefix = "../nextjs-blog"
  production  = true
}

resource "vercel_attack_challenge_mode" "tf-nextjs-demo_attack_challenge_mode" {
  project_id = vercel_project.tf-nextjs-demo.id
  enabled    = true
}

カスタムドメインの設定

私の場合はRoute53で管理していたので、そのケースの設定になります。

resource "vercel_project_domain" "tf-nextjs-demo_domain" {
  project_id = vercel_project.tf-nextjs-demo.id
  domain     = "設定したい独自ドメイン"
}

下記の画像のようにVercelから指定されたAレコードで紐付けます。

// provider追加
terraform {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 5.0"
    }
  }
}

data "aws_route53_zone" "dns_zone" {
  name = "dnsゾーン指定"
}
 
resource "aws_route53_record" "dns_record" {
  zone_id = data.aws_route53_zone.dns_zone.zone_id
  name    = "独自ドメイン"
  type    = "A"
  ttl     = 300
  records = ["76.76.21.21"] // Vercelから指定されたIPアドレス
}

まとめ

↑やるとvercelのproject作成から独自ドメイン設定までコード管理できました。

あと、私の使ったvercel/vercel: 1.12.0だとStorage等のサポートはありませんでしたが、絶賛開発中みたいでした。

Add support for Vercel Storage #127

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?