Envíe notificaciones para una instancia de base de datos de Amazon RDS for SQL Server mediante un SMTP servidor local y Database Mail - Recomendaciones de AWS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Envíe notificaciones para una instancia de base de datos de Amazon RDS for SQL Server mediante un SMTP servidor local y Database Mail

Creado por Nishad Mankar () AWS

Entorno: PoC o piloto

Tecnologías: bases de datos, gestión y gobernanza

Carga de trabajo: Microsoft

AWSservicios: Amazon RDS

Resumen

Database Mail (documentación de Microsoft) envía mensajes de correo electrónico, como notificaciones o alertas, desde una base de datos de Microsoft SQL Server mediante un servidor de Protocolo simple de transferencia de correo (SMTP). La documentación del Amazon Relational Database Service (RDSAmazon) para SQL Microsoft Server proporciona instrucciones para utilizar Amazon Simple Email Service (SESAmazon) como SMTP servidor de Database Mail. Para obtener más información, consulte Uso de Database Mail en Amazon RDS for SQL Server. Como configuración alternativa, este patrón explica cómo configurar Database Mail para enviar correo electrónico desde una instancia de base de datos (DB) de Amazon RDS for SQL Server mediante un SMTP servidor local como servidor de correo.

Requisitos previos y limitaciones

Requisitos previos 

  • Una cuenta activa AWS

  • Una instancia de Amazon RDS DB que ejecute una edición Standard o Enterprise de SQL Server

  • La dirección IP o el nombre de host del servidor local SMTP

  • Una regla de grupo de seguridad entrante que permite las conexiones a la instancia de base de datos Amazon RDS for SQL Server desde la dirección IP del SMTP servidor

  • Una conexión, como una conexión AWSDirect Connect, entre la red local y la nube privada virtual (VPC) que contiene la instancia de Amazon RDS DB

Limitaciones

  • No se admiten las ediciones Express de SQL Server.

  • Para obtener más información sobre las limitaciones, consulte Limitaciones del uso de Database Mail en Amazon RDS for SQL Server en la RDS documentación de Amazon.

Versiones de producto

Arquitectura

Pila de tecnología de destino

  • Instancia de base RDS de datos de Amazon for SQL Server

  • Amazon Route 53 (Amazon Route 53)

  • Correo electrónico de base de datos

  • Servidor local SMTP

  • Microsoft SQL Server Management Studio (SSMS)

Arquitectura de destino

La siguiente imagen muestra la arquitectura de destino para este patrón. Cuando se produce un evento o una acción que inicia una notificación o alerta relativa a la instancia de base de datos, Amazon RDS for SQL Server utiliza Database Mail para enviar una notificación por correo electrónico. Database Mail utiliza el SMTP servidor local para enviar el correo electrónico.

Amazon RDS para SQL servidor que utiliza un SMTP servidor local para enviar notificaciones por correo electrónico a los usuarios.

Herramientas

AWSservicios

Otras herramientas

  • Database Mail es una herramienta que envía mensajes de correo electrónico, como notificaciones y alertas, desde el motor de base de datos SQL del servidor a los usuarios.

  • Microsoft SQL Server Management Studio (SSMS) es una herramienta para administrar el SQL servidor, que incluye el acceso, la configuración y la administración de los componentes SQL del servidor. En este patrón, se suelen ejecutar los SQL comandos SSMS para configurar Database Mail en una instancia de base de datos de Amazon RDS for SQL Server. 

Epics

TareaDescripciónHabilidades requeridas

Elimine Multi-AZ de la RDS instancia de base de datos.

Si utiliza una instancia de base de datos multizona, convierta la RDS instancia Multi-AZ en una instancia Single-AZ. Cuando termine de configurar el Correo de base de datos, convertirá la instancia de base de datos de nuevo a una implementación Multi-AZ. La configuración de Database Mail funciona entonces tanto en el nodo primario como en el secundario. Para obtener instrucciones, consulte Eliminar Multi-AZ de una instancia de base de datos de Microsoft SQL Server.

DBA

Cree una lista de permitidos para el RDS punto de conexión o la dirección IP de Amazon en el SMTP servidor local.

El SMTP servidor está fuera de la AWS red. En el SMTP servidor local, cree una lista de permisos que permita al servidor comunicarse con el punto final saliente o la dirección IP de la instancia de Amazon o la RDS instancia de Amazon Elastic Compute Cloud EC2 (Amazon) alojada en Amazon. RDS Este procedimiento varía de una organización a otra. Para obtener más información sobre el punto de conexión de la instancia de base de datos, consulte Búsqueda del punto de conexión y el número de puerto de la instancia de base de datos.

DBA

Elimine las restricciones del puerto 25.

De forma predeterminada, AWS restringe el puerto 25 en las instancias. EC2 Para eliminar la restricción del puerto 25, haga lo siguiente:

  1. Inicie sesión con su AWS cuenta y, a continuación, abra el formulario de solicitud para eliminar las limitaciones de envío de correo electrónico.

  2. Introduzca su dirección de correo electrónico para que AWS Support pueda ponerse en contacto con usted para informarle sobre las actualizaciones de su solicitud.

  3. Proporcione la información requerida en el campo de Descripción del caso de uso.

  4. Elija Enviar.

Nota:

  • Si tienes instancias en más de una AWS región, envía una solicitud por separado para cada región.

  • Su solicitud de transacción puede tardar hasta 48 horas en procesarse.

General AWS

Agregue una regla de Route 53 para resolver DNS las consultas del SMTP servidor.

Use Route 53 para resolver DNS consultas entre AWS los recursos y el SMTP servidor local. Debe crear una regla que reenvíe DNS las consultas al dominio del SMTP servidor, por ejemplo. example.com Para obtener instrucciones, consulte Creación de reglas de reenvío en la documentación de Route 53.

Administrador de red
TareaDescripciónHabilidades requeridas

Habilitación de Database Mail.

Cree un grupo de parámetros para Database Mail, defina el database mail xps parámetro en y1, a continuación, asocie el grupo de parámetros de Database Mail a la RDS instancia de base de datos de destino. Para obtener instrucciones, consulta Cómo habilitar el correo de bases de datos en la RDS documentación de Amazon. No continúe con la sección de Configuración del correo de base de datos de estas instrucciones. La configuración del SMTP servidor local es diferente a la de AmazonSES.

DBA

Conéctese a la instancia de base de datos.

Desde un host bastión, utilice Microsoft SQL Server Management Studio (SSMS) para conectarse a la instancia de base de datos Amazon RDS for SQL Server. Para obtener instrucciones, consulte Conexión a una instancia de base de datos que ejecute el motor de base de datos de Microsoft SQL Server. Si encuentra algún error, consulte las referencias para la solución de problemas de conexión en la sección de Recursos relacionados.

DBA

Cree el perfil.

EnSSMS, introduzca la siguiente SQL instrucción para crear el perfil de correo de la base de datos. Reemplace los siguientes valores:

  • Para profile_name, escriba un nombre para el nuevo perfil.

  • Para description, escriba una breve descripción del nuevo perfil.

Para obtener más información acerca de este procedimiento almacenado y sus argumentos, consulte sysmail_add_profile_sp en la documentación de 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

Añada las entidades principales al perfil.

Introduzca la siguiente SQL declaración para añadir directores públicos o privados al perfil de correo de la base de datos. Un principal es una entidad que puede solicitar recursos SQL del servidor. Reemplace los siguientes valores:

  • Para profile_name, inserte el nombre del perfil que creó anteriormente.

  • Para principal_name, inserte el nombre del usuario o rol de base de datos. Este valor debe asignarse a un usuario de autenticación de SQL servidor, un usuario de autenticación de Windows o un grupo de autenticación de Windows.

Para obtener más información acerca de este procedimiento almacenado y sus argumentos, consulte sysmail_add_principalprofile_sp en la documentación de Microsoft.

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

Cree la cuenta.

Introduzca la siguiente SQL declaración para crear la cuenta de correo de la base de datos. Reemplace los siguientes valores:

  • For account_name, escriba un nombre para la nueva cuenta.

  • Para description, escriba una breve descripción de la nueva cuenta.

  • Para email_address, introduzca la dirección de correo electrónico desde la que desea enviar los mensajes de correo de la base de datos.

  • Para display_address, especifique un nombre para mostrar y usarlo en los mensajes salientes de esta cuenta, por ejemplo SQL Server Automated Notification. También puede utilizar el valor que ha introducido para email_address.

  • Paramailserver_name, introduzca el nombre o la dirección IP del servidor de SMTP correo.

  • Para port, deje el valor de 25.

  • Paraenable_ssl, deje el valor en 1 o 0 introdúzcalo si no desea que Database Mail cifre las comunicaciones medianteSSL.

  • Parausername, introduzca el nombre de usuario para iniciar sesión en el servidor de SMTP correo. Si el servidor no requiere autenticación, inserte NULL.

  • Parapassword, introduzca la contraseña para iniciar sesión en el servidor de SMTP correo. Si el servidor no requiere autenticación, inserte NULL.

Para obtener más información acerca de este procedimiento almacenado y sus argumentos, consulte sysmail_add_account_sp en la documentación de 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

Agregue la cuenta al perfil

Introduzca la siguiente SQL declaración para añadir la cuenta de correo de la base de datos al perfil de correo de la base de datos. Reemplace los siguientes valores:

  • Para profile_name, inserte el nombre del perfil que creó anteriormente.

  • Para account_name, inserte el nombre de la cuenta que creó anteriormente.

Para obtener más información acerca de este procedimiento almacenado y sus argumentos, consulte sysmail_add_profileaccount_sp en la documentación de Microsoft.

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

(Opcional) Agregue Multi-AZ a la RDS instancia de base de datos.

Si desea agregar Multi-AZ con duplicación de bases de datos (DBM) o grupos de disponibilidad Always On (AGs), consulte las instrucciones de Agregar Multi-AZ a una instancia de base de datos de Microsoft SQL Server.

DBA

Recursos relacionados