PageTop

Fujitsu Cloud Direct当社が提供するサービスを法人のお客様へ直接販売するサイトです。

CLOUD NAVIクラウドとは?からクラウドを支える技術や関連用語まで解説

FJcloud実践

Terraform NIFCLOUD ProviderのESS/DNS機能を利用する方法

公開日:2022 9
Terraform NIFCLOUD ProviderのESS/DNS機能を利用する方法

こんにちは、2021年度新入社員の駆け出しルーキーの藤田です。

いきなりですが、Terraform NIFCLOUD Provider はご存じでしょうか。
Terraform NIFCLOUD Providerは、IaC(Infrastructure as Code)ツールのTerraformからFJcloud-V(旧ニフクラ)のインフラストラクチャを操作するためのプラグインです。
FJcloud-V(旧ニフクラ)リソースの状態をTerraformのインフラストラクチャ定義ファイルで管理することができます。
過去の記事で、Terraform NIFCLOUD Provider の詳細や基本的な利用手順などについて説明しているのでぜひご覧ください。
* TerraformでFJcloud-Vにリソースを構築する方法~基礎編~
* TerraformでFJcloud-Vにリソースを構築する方法~応用編~
* Terraform NIFCLOUD Provider の NAS/Kubernetes Service Hatoba/サーバーセパレート機能を使ってみた

今回は、Terraform NIFCLOUD Provider の v1.6.0 で新たに対応した以下のFJcloud-V(旧ニフクラ)リソースの構築方法を簡単に説明いたします。

  • FJcloud-V(旧ニフクラ) ESS
  • FJcloud-V(旧ニフクラ) DNS

navi-fjcloud-terraform_dns_ess_01.png

FJcloud-V(旧ニフクラ) ESS 構築

FJcloud-V(旧ニフクラ) ESS は開発者のための効率の良いメール配信サービスです。

navi-fjcloud-terraform_dns_ess_02.jpg

Terraform NIFCLOUD Providerを使用して、FJcloud-V(旧ニフクラ) ESS の送信元メールアドレスおよび送信元ドメインの登録を行うことができます。
以下は、送信元メールアドレスの登録を行う設定ファイル例になります。

resource "nifcloud_ess_email_identity" "example" {
email = "email@example.test"
}

上記リソースを apply することで、「email@example.test」メールアドレスを登録することができます。

以下は、送信元ドメインの登録を行う設定ファイル例になります。

resource "nifcloud_ess_domain_identity" "example" {
domain = "example.test"
}

上記リソースを apply することで、「example.test」ドメインを登録することができます。

また、DKIM (DomainKeys Identified Mail) に対応したドメイン登録も行うことができます。


resource "nifcloud_ess_domain_identity" "example" {
domain = "example.test"
}

resource "nifcloud_ess_domain_dkim" "example" {
domain = nifcloud_ess_domain_identity.example.domain
}

resource "nifcloud_dns_record" "example" {
count = 3
zone_id = nifcloud_dns_zone.example.id
name = "${element(nifcloud_ess_domain_dkim.example.dkim_tokens, count.index)}._domainkey"
type = "CNAME"
ttl = "600"
record = "${element(nifcloud_ess_domain_dkim.example.dkim_tokens, count.index)}.dkim.ess.nifcloud.com"
}

resource "nifcloud_dns_zone" "example" {
name = "example.test"
comment = "memo"
}

上記リソースを apply することで、DKIMに対応したドメインを登録することができます。

FJcloud-V(旧ニフクラ) DNS 構築

Terraform NIFCLOUD Providerを使用して、すでにお持ちのドメインをFJcloud-V(旧ニフクラ) DNSに登録することができます。

以下は、管理しているドメインのゾーン登録を行う設定ファイル例になります。
*ドメイン名には、既に取得済みのドメインを指定します。
(ドメイン取得は、FJcloud-V(旧ニフクラ)コントロールパネルのドメイン新規取得から申請可能です。)
*FJcloud-V(旧ニフクラ)以外のドメインを用いてゾーン登録する場合は、ゾーン認証を行う必要があります。
DNSゾーン登録を参考に、認証の実施をお願いします。


resource "nifcloud_dns_zone" "example" {
name = "example.test"
comment = "memo"
}

上記リソースを apply することで、「example.test」DNSゾーン名を登録することができます。

また、登録したゾーンにレコードを登録することができます。
以下は、DNSゾーン登録を行い、そのゾーンにレコードを登録する設定ファイル例になります。
*こちらも、ドメイン名には既に取得済みのドメインを指定する必要があります。


resource "nifcloud_dns_record" "example" {
zone_id = nifcloud_dns_zone.example.id
name = "test.example.test"
type = "A"
ttl = 300
record = "192.168.0.1"
comment = "memo"
}

resource "nifcloud_dns_zone" "example" {
name = "example.test"
comment = "memo"
}

上記リソースを apply することで、「example.test」ゾーンに「test.example.test」レコードを登録することができます。

まとめ

今回は、Terraform NIFCLOUD Provider の v1.6.0 で新たに対応した ESS/DNS リソースの構築方法をご紹介しました。

シンプルなコードでリソース構築ができて便利ですね!
私自身初めて Terraform でリソース構築を行いましたが、思っていたよりも簡単に構築できて感動しました!(もともと謎に Terraform に抵抗感を抱いていました ...)

Terraform NIFCLOUD Provider は、この記事で紹介したもの以外にも多くのFJcloud-V(旧ニフクラ)リソース構築に対応しています。 ぜひ一度 Terraform で構築の自動化(Infrastructure as Code)を行ってみてください!

Fujitsu Cloud Direct に関するお問い合わせ・ご相談

Webでのお問い合わせ
PageTop