Invia notifiche per un'istanza di database Amazon RDS for SQL Server utilizzando un server SMTP locale e Database Mail - Prontuario AWS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Invia notifiche per un'istanza di database Amazon RDS for SQL Server utilizzando un server SMTP locale e Database Mail

Creato da Nishad Mankar (AWS)

Ambiente: PoC o pilota

Tecnologie: database; gestione e governance

Carico di lavoro: Microsoft

Servizi AWS: Amazon RDS

Riepilogo

Database Mail (documentazione Microsoft) invia messaggi di posta elettronica, come notifiche o avvisi, da un database di Microsoft SQL Server utilizzando un server SMTP (Simple Mail Transfer Protocol). La documentazione di Amazon Relational Database Service (Amazon RDS) per Microsoft SQL Server fornisce istruzioni per utilizzare Amazon Simple Email Service (Amazon SES) come server SMTP per Database Mail. Per ulteriori informazioni, consulta Utilizzo di Database Mail in Amazon RDS for SQL Server. Come configurazione alternativa, questo modello spiega come configurare Database Mail per inviare e-mail da un'istanza di database Amazon RDS for SQL Server (DB) utilizzando un server SMTP locale come server di posta.

Prerequisiti e limitazioni

Prerequisiti

  • Un account AWS attivo

  • Un'istanza database Amazon RDS che esegue un'edizione Standard o Enterprise di SQL Server

  • L'indirizzo IP o il nome host del server SMTP locale

  • Una regola del gruppo di sicurezza in entrata che consente le connessioni all'istanza DB di Amazon RDS for SQL Server dall'indirizzo IP del server SMTP

  • Una connessione, ad esempio una connessione AWS Direct Connect, tra la rete locale e il cloud privato virtuale (VPC) che contiene l'istanza database Amazon RDS

Limitazioni

  • Le edizioni Express di SQL Server non sono supportate.

  • Per ulteriori informazioni sulle limitazioni, consulta Limitazioni nell'uso di Database Mail su Amazon RDS for SQL Server nella documentazione di Amazon RDS.

Versioni del prodotto

Architettura

Stack tecnologico Target

  • Istanza di database Amazon RDS per SQL Server

  • Regola di inoltro di Amazon Route 53

  • Posta elettronica database

  • Server SMTP locale

  • Microsoft SQL Server Management Studio (SSMS)

Architettura Target

L'immagine seguente mostra l'architettura di destinazione per questo modello. Quando si verifica un evento o un'azione che avvia una notifica o un avviso relativo all'istanza del database, Amazon RDS for SQL Server utilizza Database Mail per inviare una notifica e-mail. Database Mail utilizza il server SMTP locale per inviare l'e-mail.

Amazon RDS per SQL Server utilizza un server SMTP locale per inviare notifiche e-mail agli utenti.

Strumenti

Servizi AWS

Altri strumenti

  • Database Mail è uno strumento che invia messaggi di posta elettronica, come notifiche e avvisi, dal motore di database di SQL Server agli utenti.

  • Microsoft SQL Server Management Studio (SSMS) è uno strumento per la gestione di SQL Server, che include l'accesso, la configurazione e l'amministrazione dei componenti di SQL Server. In questo modello, usi SSMS per eseguire i comandi SQL per configurare Database Mail su un'istanza DB di Amazon RDS for SQL Server. 

Epiche

AttivitàDescrizioneCompetenze richieste

Rimuovi Multi-AZ dall'istanza DB RDS.

Se utilizzi un'istanza DB RDS multi-zona, converti l'istanza Multi-AZ in un'istanza Single-AZ. Al termine della configurazione di Database Mail, riconvertirai l'istanza DB in una distribuzione Multi-AZ. La configurazione di Database Mail funziona quindi sia nel nodo primario che in quello secondario. Per istruzioni, vedere Rimozione di Multi-AZ da un'istanza DB di Microsoft SQL Server.

DBA

Crea un elenco di indirizzi consentiti per l'endpoint o l'indirizzo IP di Amazon RDS sul server SMTP locale.

Il server SMTP è esterno alla rete AWS. Sul server SMTP locale, crea un elenco di autorizzazioni che consenta al server di comunicare con l'endpoint o l'indirizzo IP in uscita per l'istanza Amazon RDS o l'istanza Amazon Elastic Compute Cloud (Amazon EC2) ospitata su Amazon RDS. Questa procedura varia da organizzazione a organizzazione. Per ulteriori informazioni sull'endpoint dell'istanza DB, vedere Individuazione dell'endpoint e del numero di porta dell'istanza DB.

DBA

Rimuovi le restrizioni sulla porta 25.

Per impostazione predefinita, AWS limita la porta 25 sulle istanze EC2. Per rimuovere la restrizione sulla porta 25, procedi come segue:

  1. Accedi con il tuo account AWS, quindi apri il modulo Richiesta di rimozione delle limitazioni all'invio di e-mail.

  2. Inserisci il tuo indirizzo e-mail in modo che AWS Support possa contattarti con aggiornamenti sulla tua richiesta.

  3. Fornisci le informazioni richieste nel campo Descrizione del caso d'uso.

  4. Scegli Invia.

Nota:

  • Se hai istanze in più di una regione AWS, invia una richiesta separata per ogni regione.

  • L'elaborazione della richiesta può richiedere fino a 48 ore.

Informazioni generali su AWS

Aggiungi una regola Route 53 per risolvere le query DNS per il server SMTP.

Usa Route 53 per risolvere le query DNS tra le tue risorse AWS e il server SMTP locale. È necessario creare una regola che inoltri le query DNS al dominio del server SMTP, ad esempio. example.com Per istruzioni, consulta Creazione di regole di inoltro nella documentazione di Route 53.

Amministratore di rete
AttivitàDescrizioneCompetenze richieste

Abilita Database Mail.

Crea un gruppo di parametri per Database Mail, imposta il database mail xps parametro su e quindi associa 1 il gruppo di parametri Database Mail all'istanza DB RDS di destinazione. Per istruzioni, consulta Enabling Database Mail nella documentazione di Amazon RDS. Non procedere alla sezione Configurazione di Database Mail in queste istruzioni. La configurazione del server SMTP locale è diversa da quella di Amazon SES.

DBA

Effettua la connessione all'istanza database.

Da un host bastion, usa Microsoft SQL Server Management Studio (SSMS) per connetterti all'istanza del database Amazon RDS for SQL Server. Per istruzioni, vedere Connessione a un'istanza DB che esegue il motore di database Microsoft SQL Server. In caso di errori, consulta i riferimenti per la risoluzione dei problemi di connessione nella sezione Risorse correlate.

DBA

Crea il profilo.

In SSMS, inserisci la seguente istruzione SQL per creare il profilo Database Mail. Sostituisci i valori seguenti:

  • Perprofile_name, inserisci un nome per il nuovo profilo.

  • Perdescription, inserisci una breve descrizione del nuovo profilo.

Per ulteriori informazioni su questa stored procedure e sui relativi argomenti, vedere sysmail_add_profile_sp nella documentazione 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

Aggiungi i principali al profilo.

Immettere la seguente istruzione SQL per aggiungere i principali pubblici o privati al profilo Database Mail. Un principal è un'entità che può richiedere risorse di SQL Server. Sostituisci i valori seguenti:

  • Perprofile_name, inserisci il nome del profilo che hai creato in precedenza.

  • Perprincipal_name, inserisci il nome dell'utente o del ruolo del database. Questo valore deve essere mappato a un utente di autenticazione di SQL Server, a un utente di autenticazione di Windows o a un gruppo di autenticazione di Windows.

Per ulteriori informazioni su questa stored procedure e sui relativi argomenti, vedere sysmail_add_principalprofile_sp nella documentazione Microsoft.

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

Crea l'account.

Immettere la seguente istruzione SQL per creare l'account Database Mail. Sostituisci i valori seguenti:

  • Peraccount_name, inserisci un nome per il nuovo account.

  • Perdescription, inserisci una breve descrizione del nuovo account.

  • Peremail_address, inserisci l'indirizzo e-mail da cui inviare i messaggi di Database Mail.

  • Perdisplay_address, inserisci un nome visualizzato da utilizzare per i messaggi in uscita per questo account, ad esempioSQL Server Automated Notification. Puoi anche usare il valore per email_address cui hai inserito.

  • Permailserver_name, inserisci il nome o l'indirizzo IP del server di posta SMTP.

  • Perport, lascia il valore di. 25

  • Perenable_ssl, lascia il valore 1 o inserisci 0 se non vuoi che Database Mail crittografi le comunicazioni utilizzando SSL.

  • Perusername, inserisci il nome utente per accedere al server di posta SMTP. Se il server non richiede l'autenticazione, immettere. NULL

  • Perpassword, inserire la password per accedere al server di posta SMTP. Se il server non richiede l'autenticazione, immettere. NULL

Per ulteriori informazioni su questa stored procedure e sui relativi argomenti, vedere sysmail_add_account_sp nella documentazione 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

Aggiungi l'account al profilo.

Immettere la seguente istruzione SQL per aggiungere l'account Database Mail al profilo Database Mail. Sostituisci i valori seguenti:

  • Perprofile_name, inserisci il nome del profilo che hai creato in precedenza.

  • Peraccount_name, inserisci il nome dell'account che hai creato in precedenza.

Per ulteriori informazioni su questa stored procedure e sui relativi argomenti, vedere sysmail_add_profileaccount_sp nella documentazione Microsoft.

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

(Facoltativo) Aggiungi Multi-AZ all'istanza DB RDS.

Se desideri aggiungere Multi-AZ con Database Mirroring (DBM) o Always On Availability Groups (AG), consulta le istruzioni in Aggiungere Multi-AZ a un'istanza DB di Microsoft SQL Server.

DBA

Risorse correlate