Amazon SES でグローバルエンドポイントを使用する - Amazon Simple Email Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon SES でグローバルエンドポイントを使用する

Amazon SES グローバルエンドポイントは、E メール送信オペレーションの継続性と信頼性を強化する機能です。この章では、グローバルエンドポイントの概念、セットアップ、使用について説明します。これにより、マルチリージョン送信 (MRS) を活用して、E メールワークロードの可用性を高め、ディザスタリカバリ機能を向上させることができます。

グローバルエンドポイントとは

グローバルエンドポイントは、SES アウトバウンドワークロードを 2 つの AWS リージョンに分散できるリソースです。これを設定すると、SES は選択したプライマリリージョンとセカンダリリージョン間で送信トラフィックを自動的に分割します。いずれかのリージョンで障害が発生した場合、SES は影響を受けたリージョンからトラフィックを自動的に移動して、送信オペレーションの継続性を維持します。

グローバルエンドポイントを使用する主な利点は次のとおりです。

  • E メール送信の継続性の向上

  • リージョン間の自動フェイルオーバー

  • マルチリージョン設定の簡素化

グローバルエンドポイントの仕組み

グローバルエンドポイントを設定するときは、プライマリリージョン (エンドポイントが作成されるリージョン) とセカンダリリージョンを選択します。次に、SES は、E メール送信リクエストのエントリポイントとして機能するマルチリージョンエンドポイント (MREP) を作成します。

グローバルエンドポイントのセットアッププロセスにより、キーアーティファクトと送信制限がプライマリリージョンからセカンダリリージョンに同期されます。これにより、両方のリージョンで、予期されるすべてのボリュームに十分な同等の検証済み ID、設定セット、承認済みの送信制限が適用されます。

グローバルエンドポイントの準備ができ、SendEmail API コールでそのエンドポイント ID が指定されると、SES は自動的にアウトバウンドトラフィックをプライマリリージョンとセカンダリリージョン間で均等にルーティングします。いずれかのリージョンに障害が発生した場合、障害が解決されるまで、トラフィックの加重はそのリージョンからもう一方のリージョンに移ります。

グローバルエンドポイントのセットアップ

前提条件

グローバルエンドポイントを作成する前に、まずアカウントで、サービスにリンクされたロール (SLR) を作成するアクセス許可を SES に付与する必要があります。これらのロールにより、グローバルエンドポイントの作成、使用、モニタリングに必要となる重要なサービス機能とリソースアクセスが有効になります。これを行うには、次のポリシーを実装します。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringEquals": { "iam:AWSServiceName": "ses.amazonaws.com" } } } ] }

グローバルエンドポイントの作成

新しいグローバルエンドポイントを作成するには:

  1. SES コンソール (https://console.aws.amazon.com/ses/) を開きます。

  2. ナビゲーションペインで、[グローバルエンドポイント] を選択します。

  3. [グローバルエンドポイントを作成] を選択し、[名前] フィールドに名前を入力します。

  4. ドロップダウンメニューからセカンダリリージョンを選択します (デフォルトのプライマリリージョンは、コンソールにサインインしたリージョンになります)。

  5. (オプション) グローバルエンドポイントに 1 つ以上のタグを追加します。

  6. 設定を確認して、[グローバルエンドポイントを作成] を選択します。

作成プロセスには数秒かかる場合があります。完了すると、グローバルエンドポイントのステータスが「準備完了」に変わります。

の使用 AWS CLI:

aws sesv2 create-multi-region-endpoint --primary-region us-west-2 --secondary-region us-east-1 --endpoint-name MyGlobalEndpoint

前の例では、以下のようになっています。

  • us-west-2 をグローバルエンドポイントのプライマリリージョンに置き換えます。

  • us-east-1 をグローバルエンドポイントのセカンダリリージョンに置き換えます。

  • MyGlobalEndpoint を、わかりやすい名前に置き換えてグローバルエンドポイントに指定します。

グローバルエンドポイントの状態

グローバルエンドポイントの状態は次のとおりです。

  • 作成中 – リソースはプロビジョニング中です

  • 準備完了 – リソースを使用する準備ができました

  • 失敗 – リソースのプロビジョニングに失敗しました

  • 削除中 – リソースはリクエストどおりに削除中です

セカンダリリージョンの準備

これでグローバルエンドポイントが作成されたので、グローバルエンドポイントを利用して E メールを送信する前に、すべてのコンポーネント (ID、設定セット、E メールテンプレート、送信制限) を含む E メール送信設定がプライマリリージョンとセカンダリリージョンで一貫していることを確認する必要があります。この調整は、潜在的な問題を回避し、適切な E メールの配信と追跡を行うために重要です。

コンソールのリージョン複製機能は、リソースを自動的に複製し、アカウントレベルの設定をプライマリリージョンからセカンダリリージョンに複製することで、両方のリージョンで迅速に設定を同等にするために役立ちます。

リソースの依存関係に基づいて、リソースを複製する順序が重要になります。競合を回避するには、以下のトピックの順序に従います。

設定セットの複製

プライマリリージョンから複数の設定セットを選択して、セカンダリリージョンでその設定とともに複製できます。

「設定セットの複製」機能を使用すると、次のことができます。

  • 複数の設定セットをセカンダリリージョンに一度に複製する。

  • プライマリリージョンとセカンダリリージョンの設定セットの違いを確認する。

設定セットを複製するには:
  1. [グローバルエンドポイント] ページで、[名前] 列から、複製するグローバルエンドポイントを選択します。

  2. [設定セットを複製する] カードで、[設定セットアクション] を展開し、[複製] を選択します。

  3. 最大 10 個の設定セットを選択して、[確認] を選択します。

  4. ステータスが「成功」でない場合は、[レポートの表示] を選択して問題を特定します。

  5. (オプション) 以前に複製した設定セットの場合、最後の 3 つのステップを繰り返しながら、[違いを確認] を選択することで、プライマリリージョンとセカンダリリージョンの違いを確認できます。

注記
  • 複製した設定セットに [イベント送信先][評判オプション][アーカイブオプション] が含まれている場合、または [E メールテンプレート] で参照されている場合は、これらの設定をセカンダリリージョンで手動で設定する必要があります。

  • プライマリリージョンの設定セットで、送信 (アウトバウンド) E メールのアーカイブを有効にしている場合は、同じ名前のセカンダリリージョンで作成されたアーカイブを使用して、セカンダリリージョンの設定セットで送信 (アウトバウンド) E メールのアーカイブを手動で有効にする必要があります。

検証済みドメイン ID の複製

グローバルエンドポイント設定が効果的に機能するためには、プライマリリージョンとセカンダリリージョンの両方で送信ドメイン ID が検証される必要があります。SES は Deterministic Easy DKIM (DEED) を使用してこのプロセスを簡素化します。

Deterministic Easy DKIM (DEED) は、Easy DKIM で設定された親ドメイン AWS リージョン に基づいて、すべての で一貫した DKIM トークンを生成する機能です。 Amazon SES のEasy DKIMこの一貫性により、SES はプライマリリージョンで検証されると、追加の DNS レコードの更新を必要とすることなく、セカンダリリージョンのドメインを自動的に検証できます。したがって、複製するドメイン ID、つまり親が Easy DKIM で既に設定されていることを確認する必要があります。

「検証済みドメイン ID の複製」機能を使用すると、次のことができます。

  • 複数のドメイン ID をセカンダリリージョンに一度に複製する。

  • Deterministic Easy DKIM (DEED) を使用して自動的にそれらを検証する。

  • プライマリリージョンとセカンダリリージョンの ID の違いを確認する。

SES コンソールから ID を複製するには:
  1. [グローバルエンドポイント] ページで、[名前] 列から、複製するグローバルエンドポイントを選択します。

  2. [検証済みドメイン ID を複製する] カードで、[アイデンティティーアクション] を展開し、[複製] を選択します。

  3. 最大 10 個の ID を選択し、[確認] を選択します。

  4. ステータスが「成功」でない場合は、[レポートの表示] を選択して問題を特定します。

  5. (オプション) 以前に複製した ID の場合、最後の 3 つのステップを繰り返しながら、[違いを確認] を選択することで、プライマリリージョンとセカンダリリージョンの違いを確認できます。

注記
  • BYODKIM で検証されたドメイン ID、または自己署名のドメイン ID は、セカンダリリージョンで手動で作成する必要があります。この場合は DEED が適用されないためです。

  • Mail-from 属性ポリシー、またはフィードバック転送と通知を使用するドメイン ID では、セカンダリリージョンでこれらの機能を手動で設定する必要があります。

本稼働制限の複製

SES は、送信制限がリージョン間で調整されているかどうかを確認し、必要に応じて、セカンダリリージョンで制限の引き上げをリクエストできるようにします。

「本稼働制限の複製」機能を使用すると、次のことができます。

  • 本稼働制限がプライマリリージョンとセカンダリリージョンの間で調整されているかどうかを確認する。

  • 必要に応じて、セカンダリリージョンの制限の引き上げをリクエストする。

本稼働制限を複製するには:
  1. [グローバルエンドポイント] ページで、[名前] 列から、複製するグローバルエンドポイントを選択します。

  2. [本稼働制限を複製する] カードで、ステータスに「送信制限が調整されていません」と表示される場合は、[送信制限アクション] を展開します。

  3. セカンダリリージョンの [送信制限の管理] を選択します。

  4. [Service Quotas] ページがセカンダリリージョンで開き、プライマリリージョンの値と一致するように「送信クォータ」と「送信レート」の引き上げをリクエストできます。

    ヒント

    両方のリージョンで、適格な最大クォータをリクエストすることをお勧めします。E メールトラフィックは通常の運用条件下では両方のリージョンに分散されますが、フェイルオーバーイベント中は E メールトラフィックのボリューム全体が 1 つのリージョンに送信されるため、その制限はボリューム全体の負荷を処理するために十分である必要があります。

  5. (オプション) 前の 2 つのステップを繰り返しながら、プライマリリージョンの [送信制限の管理] を選択して、プライマリリージョンの本番稼働の引き上げをリクエストすることもできます。

重要

グローバルエンドポイントの適切な機能を有効にするためには、E メールを送信する予定の両方のリージョンに、同等の検証済み ID と設定セット、および一致する送信制限があることが重要です。不一致があると、配信の失敗、フェイルオーバーの信頼性の低下、メトリクスの欠落が発生する可能性があります。

グローバルエンドポイントの使用

アプリケーションとの統合

アプリケーションでグローバルエンドポイントを使用するには、そのエンドポイント ID を取得する必要があります。

グローバルエンドポイントのエンドポイント ID を取得するには:
  1. SES コンソールから、[グローバルエンドポイント] ページに移動し、[名前] 列から、使用するグローバルエンドポイントを選択します。

  2. グローバルエンドポイントの詳細ページの [エンドポイント ID] にあるコピーアイコンを選択します。

の使用 AWS CLI:

aws sesv2 get-multi-region-endpoint --endpoint-name MyGlobalEndpoint --region us-west-2

前の例では、以下のようになっています。

  • MyGlobalEndpoint を、作成中にグローバルエンドポイントに付けたわかりやすい名前に置き換えます。

  • us-west-2 を、グローバルエンドポイントを作成したプライマリリージョンに置き換えます。

  • API レスポンスには、"EndpointId": "abcdef12.g3h" などのエンドポイント ID の値が含まれます。

グローバルエンドポイントのエンドポイント ID を取得したら、SendEmail または SendBulkEmail API コールを更新して、endpoint-id パラメータのエンドポイント ID 値を含めることができます。 AWS CLIを使用して SendEmail API コールでエンドポイント ID を指定する方法の例を次に示します。

aws sesv2 send-email \ --from-email-address "sender@example.com" \ --destination "ToAddresses=recipient@example.com" \ --content "Subject={Data=Test email,Charset=UTF-8},Body={Text={Data=This is a test email sent using Amazon SES Global endpoints.,Charset=UTF-8}}" \ --endpoint-id "abcdef12.g3h"

abcdef12.g3h を、コンソールまたは API を通じて取得した実際のエンドポイント ID に置き換えます。

モニタリングおよびメトリクス

グローバルエンドポイント機能は、プライマリリージョンとセカンダリリージョンの両方で E メール送信ボリュームの統合ビューを提供します。これらのメトリクスには、SES コンソールのグローバルエンドポイントの詳細ページの [クロスリージョンメトリクス] タブからアクセスできます。

両方のリージョンの送信メトリクスにアクセスするには:
  1. SES コンソールから [グローバルエンドポイント] ページに移動し、[名前] 列から、メトリクスを表示するグローバルエンドポイントを選択します。

  2. [グローバルエンドポイントの詳細] ページで [クロスリージョンメトリクス] タブを選択し、最大 31 日間の日付範囲を入力します。両方のリージョンのメトリクスは、指定された日付範囲にわたって表示されます。

の使用 AWS CLI:

aws cloudwatch get-metric-statistics \ --namespace AWS/SES \ --metric-name SendCount \ --dimensions Name=ses:multi-region-endpoint-id,Value=abcdef12.g3h \ --start-time 2024-10-01T00:00:00Z \ --end-time 2024-10-31T23:59:59Z \ --period 86400 \ --statistics Sum

abcdef12.g3h を実際のエンドポイント ID に置き換えます。

ベストプラクティスと考慮事項

これらのベストプラクティスと考慮事項に従うことで、複数の にわたるグローバルエンドポイントの効果的な使用率、モニタリング、コスト最適化を確保 AWS リージョン し、E メール送信機能の可用性と信頼性を向上させることができます。

  • 送信の整合性を維持するために、リージョン間でアーティファクト (設定セット、検証済み ID など) に加えられた変更を定期的に同期します。

  • クロスリージョンメトリクスをモニタリングして、バランスの取れたトラフィック分散を実現し、潜在的な問題を特定します。

  • グローバルエンドポイントは可用性を向上させますが、SES アウトバウンドのリージョンの可用性の物理的な状態は変わりません。

  • グローバルエンドポイントは、起動時には SMTP または VPC エンドポイントアクセスをサポートしていないことに注意してください。

  • AWS アドレス変換ゲートウェイを使用する場合は、潜在的な出力料金を考慮してください。

  • MREP に対応した遠方のリージョンを呼び出すと、API レイテンシーがわずかに増加する可能性があります。

料金

正確な料金の詳細は変わる可能性がありますが、グローバルエンドポイントでは、同じ量のメールに対する単一リージョン送信よりも料金が増えることが予想されます。この増加にもかかわらず、全体的なコストの競争力は他の E メールサービスプロバイダーと比較して維持されることが見込まれます。

最新の料金情報については、Amazon SES 料金のページを参照してください。