Amazon SESで作成したIDのDKIM認証を設定してみた

Amazon SES(SES)の使用を開始する上で、メールの送信者をDKIMなどで認証することが推奨されます。ということで、今回の記事ではSESのコンソール画面からDKIM認証の設定を行います。
2024.04.24

Amazon SESの利用をはじめたい

おのやんです。

みなさん、Amazon SES(以下、SES)でメールを送信したいと思ったことはありませんか?私はあります。

SESの利用を開始する際には、DomainKeys Identified Mail(DKIM)認証を行う必要があります。このDKIM認証を実施する機会がありましたので、今回はそちらを紹介したいと思います。

DKIMとは

DKIMは、メールの送信者を認証するための技術です。DNSレコードに紐つけられた公開鍵で届いたメールのハッシュとその電子署名を復号し、得られたハッシュの同一性を評価するような方式となっています。(画像はAmazon SESから送信されたメールのDKIM署名を検証してみたより)。

Route 53上でドメインを作成

DKIM認証には、まずドメインが必要となります。ということで、今回はRoute 53のパブリックホストゾーンを作成し、そちらで管理しているドメインを使ってDKIM認証を行いたいと思います。

SESのIDを作成

それでは、実際にSESのIDを作成していきましょう。AWSのマネジメントコンソールからSESの画面に移動し、そこの「IDの作成ボタン」から進めます。

IDの作成にあたって、承認を行うタイプを選択できます。今回はDKIMを使用するため、「ドメイン」を選択します。また、ドメインの入力フォームには、先ほどのパブリックホストゾーンで管理しているドメインを入力します。

「デフォルト設定セットの割り当て」と「カスタム MAIL FROM ドメインの使用」のチェックは、今回は外します。

「ドメインの検証」のセクションでは、DKIMで認証を行う際の詳細を設定できます。一番下の「DKIM署名」の部分にはチェックを入れておきましょう。

「DKIMの詳細設定」のトグルを開くと、詳細設定欄が出てきます。IDタイプは「Easy DKIM」、DKIM署名キーの長さは「RSA_2048_BIT」を選択します。また、「DNSレコードのRoute 53への発行」にはチェックを入れておきます。

以上の設定が確認できたら、「IDの作成」を押下します。

正常にIDが作成されると、こちらの画面に遷移します。このうち「IDステータス」を見てみると、「検証保留中」になっていることが確認できます。

DNSレコードの確認

こちらの画面のそのままスクロールしていくと、「認証」タブのDKIM詳細項目が確認できます。こちらで、DKIM認証に必要なDNSレコードを参照することができます。

今回はRoute 53管理のドメインを使用して、かつ先ほどの設定で「DNSレコードのRoute 53への発行」にチェックを入れていたため、Route 53のパブリックホストゾーンのレコードに自動でこれらのレコードが追加されます。

こちらが、例えばAWS外で管理しているドメインを検証に使用する場合、DKIM認証用DNSレコードを外部管理ドメインに追加する作業が必要です。

正しくDNSレコードが追加できていれば、数分後にIDのステータスが「検証保留中」から「検証済み」になります。

「認証」タブのDKIM詳細項目でも、DKIMの設定の部分が「成功」に変わっていることが確認できます。

SESのDKIM認証は数分で完了する

ドメインをRoute 53で管理していると、だいぶ手間が省けていい感じですね。

以上、SESによるDKIM設定記事でした。では!