DNS-01チャレンジでは、DNSにランダムに生成されたテキスト片を含むTXTレコードを登録することでドメインの所有権を証明します。これを実現するには、DNSレコードの更新APIを利用するためのAPIキーが必要です。

必要な準備は利用しているDNSサーバ(DNSサービス)によって異なります。弊社ではDNSサーバとして、Amazon Route 53 – DNS サービス を利用しています。

Route 53でDNSレコード更新の権限を持つAPIキーを発行する手順を以下に示します。

手順概要

  1. DNS認証のためのAWS IAM Roleを作る
  2. IAM Userを作り、上記で作成したIAM Roleを割り当てる
  3. 上記作成したIAM Userの権限でアクセスを許す APIキーを発行する

DNS認証のためのAWS IAM Roleを作る

teppi.net ドメインにTXTレコードを作れるようなRoleを作ります。あらかじめ、権限のあるユーザでAWS Consoleにログインして実行します。

ゾーンIDを確認

Route53では、複数のDNSゾーン(ドメイン)を管理しています。対象のゾーンはゾーンIDで参照できるので、まずはゾーンIDを確認します。

teppi.netのZONE IDは、XXXXXXXXXXXXXXXXXX でした。ZONE IDをコピーしておきます。

IAM Roleを作成

IAM>Policies の画面を開き、「Create Policy」ボタンを押してポリシーを作成します。

ポリシー作成は、JSONで編集します。

下記のように編集すると、「特定のZONE IDについて、TXTレコードを編集できる」という権限になります

	{
	    "Version": "2012-10-17",
	    "Statement": [
	        {
	            "Sid": "ChangeTXTRecord",
	            "Effect": "Allow",
	            "Action": [
	                "route53:ChangeResourceRecordSets"
	            ],
	            "Resource": [
	                "arn:aws:route53:::hostedzone/XXXXXXXXXXXXXXXXXX"
	             ]
	        }
	        {
	            "Sid": "GetZoneInfo",
	            "Effect": "Allow",
	            "Action": [
	                "route53:ListHostedZones",
	                "route53:ListResourceRecordSets",
	                "route53:GetChange"
	            ],
	            "Resource": "*"
	        }
	    ]
	}

Next>で進み、Policyに名前をつけて保存します。

ここでは「Route53_TXT_Edit」というPolicy nameを付与しました。

最後にCreate Policyボタンを押して確定します。

IAM User作成

EC2 Instance 上のWindowsマシンから呼ぶ場合は、インスタンスに対してRoleを割り当てて使うことができます。今回はEC2外にあるサーバから実行するためIAM Userを作ります。

Create User でユーザを作成し、上記で作成したRole「Route53_TXT_Edit」を割り当てます

できあがったユーザに対してアクセスキーを発行します。

APIキーの作成

IAM Userの編集画面(上記の画面)で「Create access key」で作成します。

下記のようなアクセスキー情報が生成されます

Access key:ZZZZZZZZZZZZZZZZZZZZZZZZZZ
Secret Access Key:6zzzXZZZZZZZZZZZzzzZZZZZZZZZZZZZZZZZ

ここで取得したAPIキー情報があれば、ACMEクライアント(たとえば、WinACME(wacs.exe)とroute53プラグイン)からAPIキーを用いて、DNSサーバのTXTレコード書き換えを許可することでDNS-01チャレンジを通すことができます。

SSL証明書自動更新関連コンテンツ
2026年8月31日FileBlog「DEEP」技術コラム

[FileBlogSSL1] SSL証明書の有効期間短縮 - 自動更新 への対応について

2026年8月31日FileBlog「DEEP」技術コラム

[FileBlogSSL2] 自己署名認証局によるイントラネット証明書運用

2026年8月31日FileBlog「DEEP」技術コラム

[FileBlogSSL3] SSL証明書自動配布インフラの作り方

2026年8月31日FileBlog「DEEP」技術コラム

[FileBlogSSL4] 証明書発行自動化のための key(s)の入手/DigiCertの場合

2026年8月31日FileBlog「DEEP」技術コラム

[FileBlogSSL5] AWS Route53でDNS-01チャレンジに応答するための準備

2026年8月31日FileBlog「DEEP」技術コラム

[FileBlogSSL6] WinACMEを呼び出すPowerShellスクリプト例

2026年8月31日FileBlog「DEEP」技術コラム

[FileBlogSSL7] SSL証明書更新の自動化/LetsEncryptの場合

ご質問・ご相談はお気軽にお問い合わせください