目次
はじめに
こんにちはデーネットのタナミです。
最近はすっかり暖かくなり、過ごしやすい気温になりました。
夏場もこれくらいの気温であれば、ありがたいですね。
さて、今回はSESに自分で作成したDKIM鍵を割り当てる方法をご紹介いたします。
DKIM鍵を作成しよう
まずは、DKIM鍵の作成を行います。
既に、DKIM鍵がある場合は読み飛ばしていただいて構いません。
OpenSSLインストール
OpenSSLのバージョンを確認します。
OpenSSLのバージョンが表示されない場合、別途インストールする必要があります。
openssl version
このようにバージョンが表示されていればインストール済みです。
OpenSSL 3.2.2 4 Jun 2024 (Library: OpenSSL 3.2.2 4 Jun 2024)
インストールされていない場合は下記コマンドでダウンロードします。
dnf install openssl
キーペアの作成
次に、SESで使用するDKIM鍵の作成を行います。
最初に秘密鍵の作成を行います。
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 \
| openssl rsa -traditional -out dkim.private
また、公開鍵も作成します。
openssl rsa -in dkim.private -pubout -out dkim.public
レコード登録
次に、レコードの作成を行います。
SES作成時にEasyDKIMで作成した場合、3つのCNAMEレコードが作成されるので削除しておきましょう。

次に、Route53の「ゾーンファイルをインポート」から、以下のようなゾーンファイルを登録します。
※公開鍵はヘッダーと改行を削除した状態で登録します。
セレクタ名._domainkey 300 IN TXT "v=DKIM1; k=rsa; p=公開鍵の内容"
SES設定
SESのIDから「編集」を選択し
BYODKIMを選択し、先ほど作成した秘密鍵とセレクタ名を入力します。
※秘密鍵はヘッダーと改行を削除した状態で登録します。

テストメールの送信
最後にテストメールを送信します。
SESのIDから「テストEメールの送信」を選択し、下図のように入力します。
受信先でDKIM鍵が正常に渡っていることを確認できれば完了です。

まとめ
SESでは自動的にDKIMを作成してくれますが、DKIM鍵が抽出できないので他のサービスでDKIM鍵が必要となった場合、あまり有効ではありません。
今回の方法であれば、DKIM鍵を手元に保持しながら、SESを使用することができます。
是非、ご活用いただければと思います。
よろしくお願いします。