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

必要な準備は、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証明書の有効期間短縮 - 自動更新 への対応についてNew!!

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

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

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

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

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

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

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

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

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

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

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

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

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