
SendGridでサブユーザーを作成し、ドメイン認証を紐づける方法をまとめてみた
こんにちは、昴です。
今回はSendGridで送信環境を分離できる「サブユーザー」の作成方法と、作成したサブユーザーへ独自ドメインを認証・紐づける方法についてご紹介します。
はじめに
SendGridには、1つの親アカウントの配下に、送信環境そのものを分離できる「サブユーザー」という子アカウント機能があります。マーケティング用とトランザクション用でメールを分けたい場合や、顧客・プロジェクトごとに送信元ドメインやAPIキー、送信統計を分けたい場合に活用できます。
サブユーザーとTeammateの違い
SendGridには似た用語に「Teammate」がありますが、役割が異なります。
- サブユーザー:送信環境そのものを分ける「箱」。ドメイン認証、IPアドレス、APIキー、送信統計を個別に持てます。
- Teammate:アカウント(親アカウントやサブユーザー)に「誰がログインできるか」を管理する仕組みです。
サブユーザーを作るのはあくまで権限を持ったTeammateの操作であり、Teammate自体がサブユーザーというわけではない点に注意してください。
前提・検証環境
本記事の手順を進めるにあたり、以下の環境および権限が必要です。
- SendGridアカウントが開設済みであること(サブユーザーはPro/Premierプラン以上が前提の機能です)
- アカウントの管理者権限を持っていること
設定
サブユーザーの作成
コンソール左側のメニューから Settings > Subuser Management へ移動し、画面右上の「Create New Subuser」をクリックします。

Username、Email Address、Passwordを入力し、送信に使用するIPアドレスを割り当てます。IPアドレスはPro 100Kプラン以上で専用IPが割り当てられている場合、そこから選択します。

入力が完了したら「Create」をクリックすると、サブユーザーが作成されます。
なお、ここで作成したサブユーザーに対してドメイン認証を行うだけであれば、これ以上の設定は不要です。ただし、実際にこのサブユーザーからメール送信まで行う場合は、以下の設定も忘れずに行いましょう。
- クレジット制限(送信数の割り当て):Subuserの詳細画面から「Change Credit Rules」より、Unlimited/Recurring(定期リセット)/Nonrecurring(都度リセット)を選択して割り当てます。
- 専用IPアドレスの割り当て:専用IPを使う場合、どのIPからこのSubuserが送信するかを紐づけます。
- Teammateのアクセス権限:このSubuserにログイン・操作できるTeammateと、その権限レベル(Admin/Full/Restricted Access)を設定します。
ドメインの紐づけ方
サブユーザーへドメインを紐づける方法には、主に2パターンあります。
親アカウントから既存の認証済みドメインを紐づける
まず前提として、親アカウント側でSettings > Sender Authentication > Domain Authenticationから対象ドメインのドメイン認証を完了させておく必要があります。

ドメイン認証が完了したら、Settings > Subuser Management から対象のサブユーザーを選択し、「Change Sending」を開きます。DOMAIN AUTHENTICATIONの「Select a Domain」プルダウンに、親アカウントで認証済みのドメインが選択肢として表示されるので、そこから紐づけたいドメインを選択します。このプルダウンはあくまで「既に認証済みのドメインを選ぶ」画面であり、ここから新規にドメインを認証することはできません。またUI操作では1サブユーザーにつき1ドメインまでしか割り当てられません。APIの「Associate an Authenticated Domain with a Subuser」を使えば最大5ドメインまで紐づけ可能です。

1つのサブユーザーに複数ドメインを直接登録する
まず画面上部の「View subusers」からサブユーザーを選択して、作成したサブユーザーへ切り替えます。

そのサブユーザー自身のSettings > Sender Authenticationへ移動し、「Get Started」から通常のドメイン認証と同じ手順でドメインを追加します。

次の画面で以下を設定します。
- Which Domain Name Server (DNS) host do you use?:利用しているDNSホストを選択します。
- Would you also like to brand the links for this domain?:リンクブランディングを使うかどうかを選びます。
それぞれ選択したら「Next」をクリックします。

続く画面の「Domain You Send From」に、実際に送信で使うドメイン(サブドメイン指定も可)を入力します。公式ドキュメントには「認証した特定のドメインからしか送信できず、サブドメインは親ドメインの認証を自動的には引き継がない」との記載があるため、実際に送信で使うドメイン(またはサブドメイン)そのものを正確に入力する必要があります。

入力後「Next」をクリックすると、追加すべきCNAMEレコードが表示される「Install DNS Records」画面に進みます。Manual Setupタブに以下の4レコードが生成されているので、これらのレコードを実際のDNS側に追加します。
- CNAME:em(ランダムな数字).(ドメイン名) → 自動セキュリティ(SPF/DKIM関連)用
- CNAME:s1._domainkey.(ドメイン名) → DKIM用
- CNAME:s2._domainkey.(ドメイン名) → DKIM用
- TXT:_dmarc.(ドメイン名) → DMARCポリシー
「I've added these records」にチェックを入れて「Verify」をクリックすれば認証完了です。

1ユーザー(サブユーザーも含む)あたり、複数の送信元ドメインを1つのサブユーザーにまとめて持たせることができます。送信元ドメインをサブユーザーごとに個別管理したいか、親アカウント側で一元管理したいか、用途に応じて選択してください。
上限に関する注意点
サブユーザーには以下の上限があるため、設計時にあらかじめ確認しておくのがおすすめです。
- サブユーザー数:Pro/Premierプランで標準15件まで。
- ドメイン認証数:1ユーザーあたり最大3,000件まで。
Suppression List(配信停止・バウンス・スパム報告)はサブユーザー単位で管理されます。1つのサブユーザーに複数ドメインをまとめる場合、このリストは複数ドメイン間で共有される点に注意が必要です。
「5件」と「3,000件」の違いに注意
前者のパターンでの「親アカウントの認証済みドメインをサブユーザーに紐づけられるのは最大5件まで」という上限と、後者のパターンでの「1ユーザーあたり最大3,000件まで認証できる」という上限は、同じ制限ではありません。
- 5件の上限:親アカウントが既に所有・認証済みのドメインを、利用権だけサブユーザーに貸し出す場合の共有上限です。ドメインの実体(認証レコード)は親アカウントの所有物のままです。
- 3,000件の上限:サブユーザー自身が独立したユーザーとして直接ドメイン認証した場合の、そのサブユーザー自身の保有上限です。
参照
サブユーザーの管理方法
ドメイン認証の上限仕様
ドメイン認証の設定手順
認証済みドメインをサブユーザーに紐づけるAPI・最大5件まで
認証済みドメインをサブユーザーに割り当てる方法
まとめ
今回はSendGridのサブユーザー作成方法と、ドメイン認証を紐づける2つのパターンについてご紹介しました。プロジェクトごとに送信元ドメインを分けたい場合、サブユーザーをその都度作成するだけでなく、1つのサブユーザーに複数ドメインをまとめる方法も選択肢に入れることで、上限を気にせず柔軟に設計できます。
本ブログが少しでも参考になれば幸いです。
告知
Twilio/SendGridセミナーを毎月開催しています
クラスメソッドではTwilio/SendGridのセミナーを毎月開催しております。いずれもTwilio及びSendGridを良く知らない方向けに基本的な部分から解説する内容となっておりますので、今後Twilio/SendGridの導入を検討している方や、既に導入済で改めて基本的な部分を勉強したいと考える方は、是非お気軽にご参加いただければと思います。




