Senden Sie Benachrichtigungen für eine Amazon RDS for SQL Server Server-Datenbank-Instance mithilfe eines lokalen SMTP-Servers und Datenbank-E-Mail - AWS Prescriptive Guidance

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Senden Sie Benachrichtigungen für eine Amazon RDS for SQL Server Server-Datenbank-Instance mithilfe eines lokalen SMTP-Servers und Datenbank-E-Mail

Erstellt von Nishad Mankar (AWS)

Umgebung: PoC oder Pilotprojekt

Technologien: Datenbanken; Management und Unternehmensführung

Arbeitslast: Microsoft

AWS-Dienste: Amazon RDS

Übersicht

Datenbank-E-Mail (Microsoft-Dokumentation) sendet E-Mail-Nachrichten, wie Benachrichtigungen oder Warnungen, aus einer Microsoft SQL Server-Datenbank mithilfe eines SMTP-Servers (Simple Mail Transfer Protocol). Die Dokumentation zu Amazon Relational Database Service (Amazon RDS) für Microsoft SQL Server enthält Anweisungen zur Verwendung von Amazon Simple Email Service (Amazon SES) als SMTP-Server für Datenbank-Mail. Weitere Informationen finden Sie unter Using Database Mail on Amazon RDS for SQL Server (Verwenden von Database Mail auf Amazon RDS für SQL Server). Als alternative Konfiguration erklärt dieses Muster, wie Database Mail so konfiguriert wird, dass E-Mails von einer Amazon RDS for SQL Server Server-Datenbank-Instance (DB) gesendet werden, indem ein lokaler SMTP-Server als Mail-Server verwendet wird.

Voraussetzungen und Einschränkungen

Voraussetzungen

  • Ein aktives AWS-Konto

  • Eine Amazon RDS-DB-Instance, auf der eine Standard- oder Enterprise Edition von SQL Server ausgeführt wird

  • Die IP-Adresse oder der Hostname des lokalen SMTP-Servers

  • Eine Sicherheitsgruppenregel für eingehenden Datenverkehr, die Verbindungen zur Amazon RDS for SQL Server-DB-Instance von der IP-Adresse des SMTP-Servers aus ermöglicht.

  • Eine Verbindung, z. B. eine AWS Direct Connect Connect-Verbindung, zwischen Ihrem lokalen Netzwerk und der Virtual Private Cloud (VPC), die die Amazon RDS-DB-Instance enthält

Einschränkungen

  • Express-Editionen von SQL Server werden nicht unterstützt.

  • Weitere Informationen zu Einschränkungen finden Sie unter Einschränkungen bei der Verwendung von Datenbank-Mail auf Amazon RDS for SQL Server in der Amazon RDS-Dokumentation.

Produktversionen

Architektur

Zieltechnologie-Stack

  • Amazon RDS for SQL Server Server-Datenbank-Instance

  • Amazon Route 53 53-Weiterleitungsregel

  • Datenbank-E-Mail

  • Lokaler SMTP-Server

  • Microsoft SQL Server Management Studio (SSMS)

Zielarchitektur

Die folgende Abbildung zeigt die Zielarchitektur für dieses Muster. Wenn ein Ereignis oder eine Aktion eintritt, die eine Benachrichtigung oder Warnung bezüglich der Datenbank-Instance auslöst, verwendet Amazon RDS for SQL Server Database Mail, um eine E-Mail-Benachrichtigung zu senden. Database Mail verwendet den lokalen SMTP-Server, um die E-Mail zu senden.

Amazon RDS for SQL Server verwendet einen lokalen SMTP-Server, um E-Mail-Benachrichtigungen an Benutzer zu senden.

Tools

AWS-Services

Andere Tools

  • Datenbank-E-Mail ist ein Tool, das E-Mail-Nachrichten wie Benachrichtigungen und Warnungen von der SQL Server Database Engine an Benutzer sendet.

  • Microsoft SQL Server Management Studio (SSMS) ist ein Tool für die Verwaltung von SQL Server, einschließlich des Zugriffs auf, der Konfiguration und der Verwaltung von SQL Server-Komponenten. In diesem Muster verwenden Sie SSMS, um die SQL-Befehle auszuführen, um Database Mail auf einer Amazon RDS for SQL Server-DB-Instance einzurichten. 

Epen

AufgabeBeschreibungErforderliche Fähigkeiten

Entfernen Sie Multi-AZ aus der RDS-DB-Instance.

Wenn Sie eine Multi-Zone-RDS-DB-Instance verwenden, konvertieren Sie die Multi-AZ-Instance in eine Single-AZ-Instance. Wenn Sie mit der Konfiguration von Database Mail fertig sind, konvertieren Sie die DB-Instance wieder in eine Multi-AZ-Bereitstellung. Die Database Mail-Konfiguration funktioniert dann sowohl im primären als auch im sekundären Knoten. Anweisungen finden Sie unter Multi-AZ aus einer Microsoft SQL Server-DB-Instance entfernen.

DBA

Erstellen Sie eine Zulassungsliste für den Amazon RDS-Endpunkt oder die IP-Adresse auf dem lokalen SMTP-Server.

Der SMTP-Server befindet sich außerhalb des AWS-Netzwerks. Erstellen Sie auf dem lokalen SMTP-Server eine Zulassungsliste, die es dem Server ermöglicht, mit dem ausgehenden Endpunkt oder der IP-Adresse für die Amazon RDS-Instance oder die Amazon Elastic Compute Cloud (Amazon EC2) -Instance zu kommunizieren, die auf Amazon RDS gehostet wird. Dieses Verfahren ist von Organisation zu Organisation unterschiedlich. Weitere Informationen zum DB-Instance-Endpunkt finden Sie unter Finden des DB-Instance-Endpunkts und der Portnummer.

DBA

Entfernen Sie die Einschränkungen für Port 25.

Standardmäßig schränkt AWS Port 25 auf EC2-Instances ein. Gehen Sie wie folgt vor, um die Beschränkung auf Port 25 aufzuheben:

  1. Melden Sie sich mit Ihrem AWS-Konto an und öffnen Sie dann das Formular Anfrage zur Aufhebung der Einschränkungen beim Senden von E-Mails.

  2. Geben Sie Ihre E-Mail-Adresse ein, damit der AWS Support Sie mit aktuellen Informationen zu Ihrer Anfrage kontaktieren kann.

  3. Geben Sie die erforderlichen Informationen in das Feld Beschreibung des Anwendungsfalls ein.

  4. Wählen Sie Absenden aus.

Hinweis:

  • Wenn Sie Instances in mehr als einer AWS-Region haben, reichen Sie für jede Region eine separate Anfrage ein.

  • Die Bearbeitung Ihrer Anfrage kann bis zu 48 Stunden dauern.

Allgemeines AWS

Fügen Sie eine Route 53 53-Regel hinzu, um DNS-Abfragen für den SMTP-Server aufzulösen.

Verwenden Sie Route 53, um DNS-Abfragen zwischen Ihren AWS-Ressourcen und dem lokalen SMTP-Server zu lösen. Sie müssen eine Regel erstellen, die die DNS-Abfragen an die SMTP-Serverdomäne weiterleitet, z. B. example.com Anweisungen finden Sie in der Route 53 53-Dokumentation unter Erstellen von Weiterleitungsregeln.

Netzwerkadministrator
AufgabeBeschreibungErforderliche Fähigkeiten

Datenbank-E-Mail aktivieren.

Erstellen Sie eine Parametergruppe für Datenbank-E-Mail, legen Sie den database mail xps Parameter auf fest1, und ordnen Sie dann die Datenbank-E-Mail-Parametergruppe der Ziel-RDS-DB-Instance zu. Anweisungen finden Sie unter Enabling Database Mail in der Amazon RDS-Dokumentation. Fahren Sie in dieser Anleitung nicht mit dem Abschnitt Konfiguration von Datenbank-Mail fort. Die Konfiguration für den lokalen SMTP-Server unterscheidet sich von der von Amazon SES.

DBA

Stellen Sie eine Verbindung mit der DB-Instance her.

Verwenden Sie von einem Bastion-Host aus Microsoft SQL Server Management Studio (SSMS), um eine Verbindung zur Amazon RDS for SQL Server Server-Datenbank-Instance herzustellen. Anweisungen finden Sie unter Verbindung zu einer DB-Instance herstellen, auf der die Microsoft SQL Server-Datenbank-Engine ausgeführt wird. Falls Sie auf Fehler stoßen, finden Sie im Abschnitt Verwandte Ressourcen die Hinweise zur Fehlerbehebung bei Verbindungen.

DBA

Erstellen Sie das Profil.

Geben Sie in SSMS die folgende SQL-Anweisung ein, um das Datenbank-E-Mail-Profil zu erstellen. Ersetzen Sie die folgenden Werte:

  • Geben Sie für profile_name einen Namen für das neue Profil ein.

  • Geben Sie für description eine kurze Beschreibung des neuen Profils ein.

Weitere Informationen zu dieser gespeicherten Prozedur und ihren Argumenten finden Sie in der Microsoft-Dokumentation unter sysmail_add_profile_sp.

EXECUTE msdb.dbo.sysmail_add_profile_sp @profile_name = 'SQL Alerts profile', @description = 'Profile used for sending outgoing notifications using OM SMTP Server.';
DBA

Fügen Sie dem Profil Principals hinzu.

Geben Sie die folgende SQL-Anweisung ein, um dem Datenbank-E-Mail-Profil öffentliche oder private Prinzipale hinzuzufügen. Ein Prinzipal ist eine Entität, die SQL Server-Ressourcen anfordern kann. Ersetzen Sie die folgenden Werte:

  • Geben Sie für profile_name den Namen des Profils ein, das Sie zuvor erstellt haben.

  • Geben Sie für principal_name den Namen des Datenbankbenutzers oder der Datenbankrolle ein. Dieser Wert muss einem SQL Server-Authentifizierungsbenutzer, einem Windows-Authentifizierungsbenutzer oder einer Windows-Authentifizierungsgruppe zugeordnet sein.

Weitere Informationen zu dieser gespeicherten Prozedur und ihren Argumenten finden Sie in der Microsoft-Dokumentation unter sysmail_add_principalprofile_sp.

EXECUTE msdb.dbo.sysmail_add_principalprofile_sp @profile_name = 'SQL Alerts profile', @principal_name = 'public', @is_default = 1 ;
DBA

Erstellen Sie das Konto.

Geben Sie die folgende SQL-Anweisung ein, um das Datenbank-E-Mail-Konto zu erstellen. Ersetzen Sie die folgenden Werte:

  • Geben Sie für account_name einen Namen für das neue Konto ein.

  • Geben Sie für description eine kurze Beschreibung des neuen Kontos ein.

  • Geben Sie für die E-Mail-Adresse einemail_address, von der aus die Datenbank-E-Mail-Nachrichten gesendet werden sollen.

  • Geben Sie für einen Anzeigenamen eindisplay_address, der für ausgehende Nachrichten für dieses Konto verwendet werden soll, z. SQL Server Automated Notification B. Sie können auch den Wert verwenden, für den Sie eingegeben habenemail_address.

  • Geben Sie für mailserver_name den Namen oder die IP-Adresse des SMTP-Mailservers ein.

  • Belassen Sie für port den Wert von. 25

  • Lassen Sie den Wert für enable_ssl stehen 1 oder geben Sie ein, 0 wenn Datenbank-E-Mail die Kommunikation nicht mit SSL verschlüsseln soll.

  • Geben Sie für username den Benutzernamen für die Anmeldung am SMTP-Mailserver ein. Wenn der Server keine Authentifizierung benötigt, geben Sie einNULL.

  • Geben Sie für password das Passwort für die Anmeldung am SMTP-Mailserver ein. Wenn der Server keine Authentifizierung erfordert, geben Sie einNULL.

Weitere Informationen zu dieser gespeicherten Prozedur und ihren Argumenten finden Sie in der Microsoft-Dokumentation unter sysmail_add_account_sp.

EXECUTE msdb.dbo.sysmail_add_account_sp @account_name = 'SQL Alerts account', @description = 'Database Mail account for sending outgoing notifications.', @email_address = 'xyz@example.com', @display_name = 'xyz@example.com', @mailserver_name = 'test_smtp.example.com', @port = 25, @enable_ssl = 1, @username = 'SMTP-username', @password = 'SMTP-password';
DBA

Fügen Sie das Konto dem Profil hinzu.

Geben Sie die folgende SQL-Anweisung ein, um das Datenbank-E-Mail-Konto zum Datenbank-E-Mail-Profil hinzuzufügen. Ersetzen Sie die folgenden Werte:

  • Geben Sie für profile_name den Namen des Profils ein, das Sie zuvor erstellt haben.

  • Geben Sie für account_name den Namen des Kontos ein, das Sie zuvor erstellt haben.

Weitere Informationen zu dieser gespeicherten Prozedur und ihren Argumenten finden Sie in der Microsoft-Dokumentation unter sysmail_add_profileaccount_sp.

EXECUTE msdb.dbo.sysmail_add_profileaccount_sp @profile_name = 'SQL Alerts profile', @account_name = 'SQL Alerts account', @sequence_number = 1;
DBA

(Optional) Fügen Sie Multi-AZ zur RDS-DB-Instance hinzu.

Wenn Sie Multi-AZ mit Datenbankspiegelung (DBM) oder Always-On-Verfügbarkeitsgruppen (AGs) hinzufügen möchten, lesen Sie die Anweisungen unter Hinzufügen von Multi-AZ zu einer Microsoft SQL Server-DB-Instance.

DBA

Zugehörige Ressourcen