Direkt zum Inhalt

Wie verwende ich Amazon SES, um E-Mails zu senden, wenn sich meine Instance von Amazon RDS für Microsoft SQL Server in einem öffentlichen oder privaten Subnetz befindet?

Lesedauer: 4 Minute
0

Ich möchte Amazon Simple Email Service (Amazon SES) verwenden, um E-Mails für eine Instance von Amazon Relational Database Service (Amazon RDS) für Microsoft SQL Server-zu senden, die entweder in einem privaten oder öffentlichen Subnetz gehostet wird.

Lösung

Amazon SES einrichten

Verwende die Amazon SES-Konsole, um die Simple Mail Transfer Protocol (SMTP)-Anmeldeinformationen abzurufen

Gehe wie folgt vor, um eine Bestätigungs-E-Mail zu erhalten:

  1. Öffne die Amazon-SES-Konsole und wähle dann E-Mail-Adressen aus.
  2. Wähle Eine neue E-Mail-Adresse verifizieren aus und gib anschließend die E-Mail-Adresse ein, an die du eine Bestätigungs-E-Mail erhalten möchtest.
  3. Vergewissere dich, dass der Überprüfungsstatus verifiziert lautet.

Eine Datenbank-E-Mail-Parametergruppe einrichten

Hinweis: Wenn du bereits eine benutzerdefinierte Parametergruppe hast, die du mit Datenbank-E-Mail verwenden kannst, fahre mit dem Abschnitt Datenbank-E-Mail konfigurieren fort. Wenn die Parametergruppe bereits mit der RDS-für-SQL-Server-Instance verknüpft ist, fahre mit den nächsten Schritten in diesem Abschnitt fort.

Gehe wie folgt vor, um eine benutzerdefinierte Parametergruppe zu erstellen:

  1. Öffne die Aurora- und RDS-Konsole.
  2. Wähle Parametergruppen und dann Parametergruppe erstellen aus.
  3. Wähle für Parametergruppenfamilie die Version und Edition von SQL Server aus, die du verwendest. Beispielsweise verwendet SQL Server 2016 Enterprise Edition sqlserver-ee-13.0.
  4. Gib einen Gruppennamen und eine Beschreibung ein, und wähle dann Erstellen.
  5. Wähle auf der Seite Parametergruppen die Gruppe aus.
  6. Wähle Parameter bearbeiten und dann database mail xps aus.
  7. Wähle für Werte den Wert 1 aus.
  8. Wähle Speichern aus.

Gehe wie folgt vor, um die Parametergruppe der RDS-für-SQL-Server-Instance zuzuordnen:

  1. Öffne die Aurora- und RDS-Konsole.
  2. Wähle Datenbank und dann Ändern aus.
  3. Wähle unter Datenbankoptionen die Parametergruppe aus und wähle dann Weiter.
  4. Wähle unter Planen von Änderungen die Option Sofort aus.
  5. Wähle DB Instance ändern aus, um die Änderungen zu übernehmen, und starte dann die Instance neu.

Datenbank-E-Mail konfigurieren

Wenn die RDS-für-SQL-Server-Instance in einem öffentlichen Subnetz gehostet wird, kannst du die Datenbank-E-Mail konfigurieren.

Wenn sich die Instance in einem privaten Subnetz befindet, erhältst du möglicherweise die folgende Fehlermeldung, wenn du Datenbank-E-Mail konfigurierst:

„The mail could not be sent to the recipients because of the mail server failure. Exception Message: Could not connect to mail server.“

Wenn du die vorherige Fehlermeldung erhältst, kann die DB-Instance den Mailserver nicht erreichen. Um dieses Problem zu beheben, erstelle einen Amazon Virtual Private Cloud (Amazon VPC)-Endpunkt für Amazon SES.

Gehe wie folgt vor:

  1. Ermittle die private IP-Adresse der Instance.

  2. Erstelle eine neue Sicherheitsgruppe mit einer Regel für eingehenden Datenverkehr für die Sicherheitsgruppe, die der Instance zugeordnet ist: 
    Wähle für Typ die Option Benutzerdefiniertes TCP aus.
    Gib unter Portbereich die Portnummer ein, die du zum Senden von E-Mails verwenden möchtest. Du kannst 25, 465, 587, 2465 oder 2587 verwenden.
    Wähle für Quelltyp die Option Benutzerdefiniert aus.
    Gib unter Quelle die private IP-Adresse der RDS-für-SQL-Server-Instance ein.

  3. Erstelle einen VPC-Endpunkt.

  4. Wähle den Endpunkt aus und notiere dir dann den ersten Namen unter dem DNS-Feld.

  5. Erstelle das Datenbank-E-Mail-Konto erneut:

    use msdbgo
    
    EXECUTE msdb.dbo.sysmail_add_account_sp
    @account_name = 'Acc1',
    @description = 'Mail account for sending outgoing
    notifications.',
    @email_address = 'example@example.com',
    @display_name = 'Automated Mailer',
    @mailserver_name =
    'vpce-0a9cxxxxxxxxxxxxx-xxxxxxxx.email-smtp.ap-southeast-2.vpce.amazonaws.com',
    <---- VPC endpoint created in previous step
    @port = 587,
    @enable_ssl = 1,
    @username = 'SMTP-username', <---- For user name and
    password, please use the SES credentials
    @password = 'SMTP-password' ;
    

    Hinweis: Ersetze @mailserver_name durch den DNS-Namen, den du im DNS-Feld notiert hast.

  6. Führe den folgenden Befehl aus, um dich zu vergewissern, dass die Datenbank-E-Mail korrekt konfiguriert ist:

    EXEC msdb.dbo.sp_send_dbmail @profile_name = 'Notifications', @recipients = 'success@simulator.amazonses.com',@body = 'The database mail configuration was completed successfully.',
    @subject = 'Automated Success Message';
    

    Hinweis: Wenn die Datenbank-E-Mail korrekt konfiguriert ist, wird die E-Mail gesendet.

  7. Führe die folgende gespeicherte Prozedur aus, um alle E-Mail-Elemente zu überprüfen:

    SELECT * FROM msdb.dbo.sysmail_allitems
    
  8. Überprüfe in der Spalte sent_status, ob der Status Gesendet lautet.

Ähnliche Informationen

Verwalten einer DB-Instance von Amazon RDS Custom für SQL Server

Verwenden von Datenbank-E-Mail auf Amazon RDS für SQL Server