Envoyer des notifications pour une instance de base de données Amazon RDS for SQL Server à l'aide d'un SMTP serveur local et de Database Mail - Recommandations AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Envoyer des notifications pour une instance de base de données Amazon RDS for SQL Server à l'aide d'un SMTP serveur local et de Database Mail

Créée par Nishad Mankar () AWS

Environnement : PoC ou pilote

Technologies : bases de données ; gestion et gouvernance

Charge de travail : Microsoft

AWSservices : Amazon RDS

Récapitulatif

Database Mail (documentation Microsoft) envoie des messages électroniques, tels que des notifications ou des alertes, à partir d'une base de données Microsoft SQL Server à l'aide d'un serveur Simple Mail Transfer Protocol (SMTP). La documentation Amazon Relational Database Service (RDSAmazon) pour SQL Microsoft Server fournit des instructions pour utiliser Amazon Simple Email Service (SESAmazon) comme SMTP serveur pour Database Mail. Pour plus d'informations, consultez la section Utilisation de Database Mail sur Amazon RDS for SQL Server. Comme configuration alternative, ce modèle explique comment configurer Database Mail pour envoyer des e-mails depuis une instance de base de données (DB) Amazon RDS for SQL Server en utilisant un SMTP serveur local comme serveur de messagerie.

Conditions préalables et limitations

Prérequis

  • Un AWS compte actif

  • Une RDS instance de base de données Amazon exécutant une édition Standard ou Enterprise de SQL Server

  • Adresse IP ou nom d'hôte du serveur local SMTP

  • Règle de groupe de sécurité entrant qui autorise les connexions à l'instance de base de données Amazon RDS for SQL Server à partir de l'adresse IP du SMTP serveur

  • Une connexion, telle qu'une connexion AWSDirect Connect, entre votre réseau local et le cloud privé virtuel (VPC) qui contient l'instance de base de RDS données Amazon

Limites

  • Les éditions Express de SQL Server ne sont pas prises en charge.

  • Pour plus d'informations sur les limitations, consultez la section Limitations relatives à l'utilisation de Database Mail sur Amazon RDS for SQL Server dans la RDS documentation Amazon.

Versions du produit

Architecture

Pile technologique cible

  • Instance RDS de base SQL de données Amazon for Server

  • Règle de transfert Amazon Route 53

  • Messagerie de base de données

  • Serveur sur site SMTP

  • Microsoft SQL Server Management Studio (SSMS)

Architecture cible

L'image suivante montre l'architecture cible pour ce modèle. Lorsqu'un événement ou une action déclenche une notification ou une alerte concernant l'instance de base de données, Amazon RDS for SQL Server utilise Database Mail pour envoyer une notification par e-mail. Database Mail utilise le SMTP serveur local pour envoyer le courrier électronique.

Amazon RDS for SQL Server utilise un SMTP serveur sur site pour envoyer des notifications par e-mail aux utilisateurs.

Outils

AWSservices

Autres outils

  • Database Mail est un outil qui envoie des messages électroniques, tels que des notifications et des alertes, depuis le moteur de base de données du SQL serveur aux utilisateurs.

  • Microsoft SQL Server Management Studio (SSMS) est un outil de gestion SQL du serveur, y compris l'accès, la configuration et l'administration des composants SQL du serveur. Dans ce modèle, vous SSMS devez exécuter les SQL commandes pour configurer Database Mail sur une instance de base de données Amazon RDS for SQL Server. 

Épopées

TâcheDescriptionCompétences requises

Supprimez Multi-AZ de l'RDSinstance de base de données.

Si vous utilisez une RDS instance de base de données multizone, convertissez-la en instance mono-AZ. Lorsque vous aurez terminé de configurer Database Mail, vous reconvertirez l'instance de base de données en déploiement multi-AZ. La configuration Database Mail fonctionne alors à la fois dans les nœuds principal et secondaire. Pour obtenir des instructions, consultez la section Suppression de Multi-AZ d'une instance de base de données Microsoft SQL Server.

DBA

Créez une liste d'autorisations pour le point de RDS terminaison ou l'adresse IP Amazon sur le SMTP serveur local.

Le SMTP serveur se trouve en dehors du AWS réseau. Sur le SMTP serveur local, créez une liste d'autorisations qui permet au serveur de communiquer avec le point de terminaison sortant ou l'adresse IP de l'RDSinstance Amazon ou de l'instance Amazon Elastic Compute Cloud EC2 (Amazon) hébergée sur Amazon. RDS Cette procédure varie d'une organisation à l'autre. Pour plus d'informations sur le point de terminaison de l'instance de base de données, consultez Trouver le point de terminaison et le numéro de port de l'instance de base de données.

DBA

Supprimez les restrictions du port 25.

Par défaut, AWS restreint le port 25 aux EC2 instances. Pour supprimer la restriction du port 25, procédez comme suit :

  1. Connectez-vous avec votre AWS compte, puis ouvrez le formulaire de demande de suppression des restrictions d'envoi d'e-mails.

  2. Entrez votre adresse e-mail afin que le AWS Support puisse vous contacter pour vous tenir au courant de votre demande.

  3. Fournissez les informations requises dans le champ Description du cas d'utilisation.

  4. Sélectionnez Envoyer.

Remarque :

  • Si vous avez des instances dans plusieurs AWS régions, soumettez une demande distincte pour chaque région.

  • Le traitement de votre demande peut prendre jusqu'à 48 heures.

Général AWS

Ajoutez une règle Route 53 pour résoudre les DNS requêtes du SMTP serveur.

Utilisez Route 53 pour résoudre les DNS requêtes entre vos AWS ressources et le SMTP serveur local. Vous devez créer une règle qui transmet les DNS requêtes au domaine du SMTP serveur, telle queexample.com. Pour obtenir des instructions, consultez la section Création de règles de transfert dans la documentation de Route 53.

Administrateur réseau
TâcheDescriptionCompétences requises

Activez Database Mail.

Créez un groupe de paramètres pour Database Mail, définissez le database mail xps paramètre sur1, puis associez le groupe de paramètres Database Mail à l'RDSinstance de base de données cible. Pour obtenir des instructions, consultez la section Enabling Database Mail dans la RDS documentation Amazon. Ne passez pas à la section Configuration du courrier de base de données dans ces instructions. La configuration du SMTP serveur sur site est différente de celle d'AmazonSES.

DBA

Connectez-vous à l'instance de base de données.

Depuis un hôte Bastion, utilisez Microsoft SQL Server Management Studio (SSMS) pour vous connecter à l'instance de base de données Amazon RDS for SQL Server. Pour obtenir des instructions, voir Connexion à une instance de base de données exécutant le moteur de base de données Microsoft SQL Server. Si vous rencontrez des erreurs, consultez les références de résolution des problèmes de connexion dans la section Ressources associées.

DBA

Créez le profil.

DansSSMS, entrez l'SQLinstruction suivante pour créer le profil Database Mail. Remplacez les valeurs suivantes :

  • Pourprofile_name, entrez un nom pour le nouveau profil.

  • Pourdescription, entrez une brève description du nouveau profil.

Pour plus d'informations sur cette procédure stockée et ses arguments, consultez sysmail_add_profile_sp dans la documentation Microsoft.

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

Ajoutez des directeurs au profil.

Entrez l'SQLinstruction suivante pour ajouter des entités publiques ou privées au profil Database Mail. Un principal est une entité qui peut demander des ressources au SQL serveur. Remplacez les valeurs suivantes :

  • Pourprofile_name, entrez le nom du profil que vous avez créé précédemment.

  • Pourprincipal_name, entrez le nom de l'utilisateur ou du rôle de base de données. Cette valeur doit être mappée à un utilisateur d'authentification SQL serveur, à un utilisateur d'authentification Windows ou à un groupe d'authentification Windows.

Pour plus d'informations sur cette procédure stockée et ses arguments, consultez sysmail_add_principalprofile_sp dans la documentation Microsoft.

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

Créez le compte.

Entrez l'SQLinstruction suivante pour créer le compte Database Mail. Remplacez les valeurs suivantes :

  • Pouraccount_name, entrez un nom pour le nouveau compte.

  • Pourdescription, entrez une brève description du nouveau compte.

  • Pouremail_address, entrez l'adresse e-mail à partir de laquelle envoyer les messages de base de données.

  • Pourdisplay_address, entrez un nom d'affichage à utiliser pour les messages sortants de ce compte, par exempleSQL Server Automated Notification. Vous pouvez également utiliser la valeur que vous avez saisieemail_address.

  • Pourmailserver_name, entrez le nom ou l'adresse IP du serveur de SMTP messagerie.

  • Pourport, laissez la valeur de25.

  • Pourenable_ssl, laissez la valeur à 1 ou entrez 0 si vous ne souhaitez pas que Database Mail chiffre les communications en utilisantSSL.

  • Pourusername, entrez le nom d'utilisateur pour vous connecter au serveur de SMTP messagerie. Si le serveur ne nécessite pas d'authentification, entrezNULL.

  • Pourpassword, entrez le mot de passe pour vous connecter au serveur de SMTP messagerie. Si le serveur ne nécessite pas d'authentification, entrezNULL.

Pour plus d'informations sur cette procédure stockée et ses arguments, consultez sysmail_add_account_sp dans la documentation Microsoft.

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

Ajoutez le compte au profil.

Entrez l'SQLinstruction suivante pour ajouter le compte Database Mail au profil Database Mail. Remplacez les valeurs suivantes :

  • Pourprofile_name, entrez le nom du profil que vous avez créé précédemment.

  • Pouraccount_name, entrez le nom du compte que vous avez créé précédemment.

Pour plus d'informations sur cette procédure stockée et ses arguments, consultez sysmail_add_profileaccount_sp dans la documentation Microsoft.

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

(Facultatif) Ajoutez Multi-AZ à l'RDSinstance de base de données.

Si vous souhaitez ajouter le mode multi-AZ avec la mise en miroir de base de données (DBM) ou les groupes de disponibilité Always On (AGs), consultez les instructions de la section Ajout du mode multi-AZ à une instance de base de données Microsoft SQL Server.

DBA

Ressources connexes