📝

AWS route53にDKIMのTXTレコードを追加するとCharacterStringTooLongエラーになったので解決した

2024/01/26に公開

こちらでDKIMのTXTレコードをDNSに追加しようとしたら、以下のようなエラーになってしまった。

CharacterStringTooLong (Value is too long) encountered with **********

DNS TXT レコードの作成時の「CharacterStringTooLong (Value is too long) encountered with {Value}」エラーを解決する | AWS re:Post

DNS TXT レコードでは、単一の文字列に最大 255 文字を含めることができます。255 文字を超える TXT > レコード文字列は、同じレコード内の複数のテキスト文字列に分割する必要があります。
注: 値が分割されても、DKIM 機能は壊れません。

こちらにあるように、Route53のTXTレコードは文字数制限があるため、複数に分割してやる必要がありました。TXTを2分割したら追加することができました。

例:

DNSホスト名
key_1._domainkey.example.com

TXTレコード値
v=DKIM1; k=rsa; p=**************************************

の場合

"v=DKIM1; k=rsa; p=**************" "************************"

DKIMキーの値を2つに分割し、各部分を二重引用符で囲み、各部分の間は半角スペースで切り離す。
として分割して登録する。

念の為、登録したらdigで確認をしておくこと

$ dig key_1._domainkey.example.com txt
...
;; ANSWER SECTION:
key_1._domainkey.example.com. 60 IN TXT "v=DKIM1; k=rsa; p=**************" "************************"

として、分割して表示されている。
実際にメールを送ってみて、DKIMがPASSになっていることを確認した。

Discussion