DNSレコードから、Route 53、Azure DNS、およびGCP Cloud DNSのゾーン設定を生成し、CLIコマンドまたはTerraform HCLとして出力します。
| Type | Name | Value | TTL | Priority | Alias | |
|---|---|---|---|---|---|---|
# Step 1: Get your hosted zone ID
# aws route53 list-hosted-zones --query "HostedZones[?Name=='example.com.'].Id" --output text
aws route53 change-resource-record-sets \
--hosted-zone-id $ZONE_ID \
--change-batch '{
"Changes": [
{
"Action": "CREATE",
"ResourceRecordSet": {
"Name": "example.com.",
"Type": "A",
"TTL": 300,
"ResourceRecords": [
{
"Value": "1.2.3.4"
}
]
}
},
{
"Action": "CREATE",
"ResourceRecordSet": {
"Name": "example.com.",
"Type": "MX",
"TTL": 300,
"ResourceRecords": [
{
"Value": "10 mail.example.com."
}
]
}
},
{
"Action": "CREATE",
"ResourceRecordSet": {
"Name": "example.com.",
"Type": "TXT",
"TTL": 300,
"ResourceRecords": [
{
"Value": "\"v=spf1 include:_spf.google.com ~all\""
}
]
}
},
{
"Action": "CREATE",
"ResourceRecordSet": {
"Name": "www.example.com.",
"Type": "CNAME",
"TTL": 300,
"ResourceRecords": [
{
"Value": "example.com"
}
]
}
}
]
}'「Cloud DNS Zone Generator」は、DNSレコードのテーブルを、AWS Route 53、Azure DNS、GCP Cloud DNS向けに、すぐに実行可能なCLIコマンドまたはTerraform HCLに変換します。 各プロバイダーによって、CLIの構文、リソースの命名規則、Terraformプロバイダーのスキーマが異なります。このツールはそれらの違いを処理するため、同じレコードテーブルから3つのプロバイダーすべてに対して正しい出力を生成できます。
ドメインを入力し、プロバイダーを選択して、タイプ、名前、値、TTL、優先度の各列を使用してレコードテーブルを作成します。CLI タブと Terraform タブを切り替えて、適切な出力を確認してください。Route 53 CLI の出力では、change-resource-record-sets バッチ形式が使用されます。 Azure CLI の出力では、レコードごとに `az network dns record-set` コマンドが呼び出されます。GCP CLI では、`gcloud dns record-sets` トランザクション コマンドが使用されます。
Route 53 Terraform では、ホストゾーン ID に対して、ハードコードされた値ではなくデータソースのルックアップを使用します。Azure Terraform では、すべての DNS リソースに resource_group_name の指定が必要です。ジェネレータには、参照として azurerm_resource_group.main.name が含まれています。 GCP Terraform には `google_dns_managed_zone` リソースが含まれており、レコードセットを定義する前にこのリソースが存在している必要があります。ALIAS レコード(Route 53 のみ)は、TTL や records フィールドの代わりに alias ブロックを生成します。