Senden Sie Benachrichtigungen für eine Amazon RDS for SQL 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-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

AWSdienstleistungen: Amazon RDS

Übersicht

Datenbank-E-Mail (Microsoft-Dokumentation) sendet E-Mail-Nachrichten, wie Benachrichtigungen oder Warnungen, aus einer Microsoft SQL Server-Datenbank mithilfe eines Simple Mail Transfer Protocol (SMTP) -Servers. Die Dokumentation zu Amazon Relational Database Service (AmazonRDS) für Microsoft SQL Server enthält Anweisungen zur Verwendung von Amazon Simple Email Service (AmazonSES) als SMTP Server für Database Mail. Weitere Informationen finden Sie unter Verwenden von Datenbank-Mail auf Amazon RDS for 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-Datenbank-Instance (DB) gesendet werden, indem ein lokaler SMTP Server als Mail-Server verwendet wird.

Voraussetzungen und Einschränkungen

Voraussetzungen

  • Ein aktives Konto AWS

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

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

  • 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 AWSDirect 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 RDS Amazon-Dokumentation.

Produktversionen

Architektur

Zieltechnologie-Stack

  • Amazon RDS for SQL Server-Datenbank-Instance

  • Amazon Route 53 53-Weiterleitungsregel

  • Datenbank-E-Mail

  • Lokaler Server SMTP

  • Microsoft SQL Serververwaltungsstudio (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 für SQL Server, die einen lokalen SMTP Server verwenden, um E-Mail-Benachrichtigungen an Benutzer zu senden.

Tools

AWSDienstleistungen

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 SQL Serververwaltung, einschließlich des Zugriffs, der Konfiguration und der Verwaltung von SQL Serverkomponenten. In diesem Muster führen Sie die SQL Befehle SSMS zum Einrichten von Database Mail auf einer Amazon RDS for SQL Server-DB-Instance aus. 

Epen

AufgabeBeschreibungErforderliche Fähigkeiten

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

Wenn Sie eine RDS Multi-Zone-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 RDS Amazon-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 RDS Amazon-Instance oder die Amazon Elastic Compute Cloud (AmazonEC2) -Instance zu kommunizieren, die auf Amazon gehostet wird. RDS 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.

AWSSchränkt standardmäßig Port 25 für 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 deiner Anfrage kann bis zu 48 Stunden dauern.

Allgemein 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 RDS Ziel-DB-Instance zu. Anweisungen finden Sie in der RDS Amazon-Dokumentation unter Enabling Database Mail. Fahren Sie in dieser Anleitung nicht mit dem Abschnitt Konfiguration von Datenbank-E-Mail fort. Die Konfiguration für den lokalen SMTP Server unterscheidet sich von der von AmazonSES.

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-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 SSMS unter 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 Serverressourcen 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 Serverauthentifizierungsbenutzer, 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 von25.

  • enable_sslBelassen Sie den Wert bei 1 oder geben Sie ein, 0 wenn Datenbank-E-Mail die Kommunikation nicht mithilfe SSL von verschlüsseln soll.

  • Geben Sie für username den Benutzernamen für die Anmeldung am SMTP E-Mail-Server ein. Wenn der Server keine Authentifizierung erfordert, 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 DB-Instance hinzu. RDS

Wenn Sie Multi-AZ mit Datenbankspiegelung (DBM) oder AlwaysOn-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