使用現場部署 SMTP 伺服器和資料庫郵件傳送 Amazon RDS for SQL Server 服器資料庫執行個體的通知 - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用現場部署 SMTP 伺服器和資料庫郵件傳送 Amazon RDS for SQL Server 服器資料庫執行個體的通知

創建者:尼沙德曼卡 (AWS)

環境:PoC 或試點

技術:資料庫、管理與治理

工作負載:Microsoft

AWS 服務:Amazon RDS

Summary

資料庫郵件 (Microsoft 文件) 會使用簡易郵件傳送通訊協定 (SMTP) 伺服器,從 Microsoft SQL Server 資料庫傳送電子郵件訊息,例如通知或警示。適用於 Microsoft SQL 伺服器的 Amazon Relational Database Service 服務 (Amazon RDS) 文件提供使用 Amazon Simple Email Service (Amazon SES) 做為資料庫郵件 SMTP 伺服器的說明。如需詳細資訊,請參閱在 Amazon RDS for SQL Server 上使用 Database Mail。作為替代組態,此模式說明如何將資料庫郵件設定為使用現場部署 SMTP 伺服器做為郵件伺服器,將資料庫郵件設定為從 Amazon RDS for SQL Server 資料庫 (DB) 執行個體傳送電子郵件。

先決條件和限制

先決條件

  • 有效的 AWS 帳戶

  • 執行標準版或企業版 SQL 伺服器的 Amazon RDS 資料庫執行個體

  • 內部部署 SMTP 伺服器的 IP 位址或主機名稱

  • 輸入安全群組規則,允許從 SMTP 伺服器的 IP 位址連線至 Amazon RDS for SQL Server 器資料庫執行個體

  • 現場部署網路與包含 Amazon RDS 資料庫執行個體的虛擬私有雲端 (VPC) 之間的連線,例如 AWS Direct Connect 連線

限制

  • 不支援快速版本的 SQL 伺服器。

  • 如需有關限制的詳細資訊,請參閱 Amazon RDS 說明文件中的在 Amazon RDS for SQL Server 上使用資料庫郵件中的制。

產品版本

架構

目標技術堆疊

  • Amazon RDS for SQL Server 數據庫實例

  • Amazon Route 53 轉發規則

  • 資料庫郵件

  • 內部部署 SMTP 伺服

  • Microsoft SQL 伺服器管理工作室

目標架構

下圖顯示此模式的目標架構。當發生事件或動作並發出有關資料庫執行個體的通知或警示時,Amazon RDS for SQL Server 會使用資料庫郵件傳送電子郵件通知。資料庫郵件會使用內部部署 SMTP 伺服器來傳送電子郵件。

適用於 SQL 的 Amazon RDS 伺服器使用現場部署 SMTP 伺服器傳送電子郵件通知給使用者。

工具

AWS 服務

其他工具

  • 資料庫郵件是將電子郵件訊息 (例如通知和警示) 從 SQL Server 資料庫引擎傳送給使用者的工具。

  • Microsoft SQL 服務器管理工作室(SSMS)是用於管理 SQL 服務器,包括訪問,配置和管理 SQL 服務器組件的工具。在此模式中,您可以使用 SSMS 執行 SQL 命令,在適用於 SQL 伺服器資料庫執行個體的 Amazon RDS 上設定資料庫郵件。 

史诗

任務描述所需技能

從 RDS 資料庫執行個體移除異地同步備份。

如果您使用的是多區域 RDS 資料庫執行個體,請將異地同步備份執行個體轉換為單一可用區執行個體。完成資料庫郵件的設定後,您會將資料庫執行個體轉換回異地同步備份部署。然後,「資料庫郵件」組態可在主要和次要節點中使用。如需指示,請參閱從 Microsoft SQL Server 資料庫執行個體移除異地同步備份

DBA

為現場部署 SMTP 伺服器上的 Amazon RDS 端點或 IP 位址建立允許清單。

SMTP 伺服器位於 AWS 網路之外。在現場部署 SMTP 伺服器上,建立允許清單,以允許伺服器與 Amazon RDS 執行個體或 Amazon RDS 上託管的 Amazon 彈性運算雲端 (Amazon EC2) 執行個體的輸出端點或 IP 地址進行通訊。此程序因組織而異。如需資料庫執行個體端點的詳細資訊,請參閱尋找資料庫執行個體端點和連接埠號碼

DBA

移除連接埠 25 限制。

根據預設,AWS 會限制 EC2 執行個體上的連接埠 25。若要移除通訊埠 25 限制,請執行下列動作:

  1. 使用您的 AWS 帳戶登入,然後開啟移除電子郵件傳送限制的要求表單

  2. 輸入您的電子郵件地址,以便 AWS Support 與您聯絡,提供有關請求的更新資訊。

  3. 在「使用案例描述」欄位中輸入必要資訊。

  4. 選擇提交

請注意:

  • 如果您在多個 AWS 區域中有執行個體,請針對每個區域提交個別的請求。

  • 處理您的請求最多可能需要 48 小時。

一般 AWS

新增 Route 53 規則以解析 SMTP 伺服器的 DNS 查詢。

使用 Route 53 解決 AWS 資源與現場部署 SMTP 伺服器之間的 DNS 查詢。您必須建立將 DNS 查詢轉寄至 SMTP 伺服器網域的規則,例如example.com。如需指示,請參閱 Route 53 說明文件中的建立轉送規則

網路管理員
任務描述所需技能

啟用資料庫郵件。

為資料庫郵件建立參數群組,將database mail xps參數設定為1,然後將 Database Mail 參數群組與目標 RDS 資料庫執行個體建立關聯。如需指示,請參閱 Amazon RDS 文件中的啟用資料庫郵件。請勿繼續前往這些指示中的〈設定資料庫郵件〉一節。現場部署 SMTP 伺服器的組態與 Amazon SES 不同。

DBA

連線到資料庫執行個體。

從防禦主機,使用 Microsoft SQL 伺服器管理工作室 (SSMS) 連接到 Amazon RDS for SQL Server 的資料庫執行個體。如需指示,請參閱連線至執行 Microsoft SQL Server 資料庫引擎的資料庫執行個體。如果遇到任何錯誤,請參閱「相關資源」一節中的連線疑難排解參考資料。

DBA

建立設定檔。

在 SSMS 中,輸入下列 SQL 陳述式以建立資料庫郵件設定檔。取代以下的值:

  • 在中profile_name,輸入新設定檔的名稱。

  • 在中description,輸入新設定檔的簡短描述。

如需有關此預存程序及其引數的詳細資訊,請參閱 Microsoft 文件中的 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

將主參與者新增至設定檔。

輸入下列 SQL 陳述式,將公用或私用主體新增至資料庫郵件設定檔。主體是可以要求 SQL Server 資源的實體。取代以下的值:

  • 在中profile_name,輸入您先前建立的設定檔的名稱。

  • 在中principal_name,輸入資料庫使用者或角色的名稱。這個值必須對應至 SQL Server 驗證使用者、視窗驗證使用者或視窗驗證群組。

如需有關此預存程序及其引數的詳細資訊,請參閱 Microsoft 說明文件中的 sysmail_add_add_Principalfile_ sp。

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

創建帳戶。

輸入下列 SQL 陳述式,以建立「資料庫郵件」帳戶。取代以下的值:

  • 在中account_name,輸入新帳戶的名稱。

  • 在中description,輸入新帳戶的簡短描述。

  • 在中email_address,輸入要從中傳送資料庫郵件訊息的電子郵件地址。

  • 對於display_address,輸入此帳戶外寄郵件所使用的顯示名稱,例如SQL Server Automated Notification。您也可以使用輸入的值email_address

  • 在中mailserver_name,輸入 SMTP 郵件伺服器的名稱或 IP 位址。

  • 對於port,保留的值25

  • 對於enable_ssl0如果您不想讓「資料庫郵件」使用 SSL 加密通訊,請將值保留在1或輸入。

  • 在中username,輸入登入 SMTP 郵件伺服器的使用者名稱。如果伺服器不需要驗證,請輸入NULL

  • 在中password,輸入登入 SMTP 郵件伺服器的密碼。如果伺服器不需要驗證,請輸入NULL

如需有關此預存程序及其引數的詳細資訊,請參閱 Microsoft 文件中的 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

將帳戶新增至設定檔。

輸入下列 SQL 陳述式,將資料庫郵件帳戶新增至資料庫郵件設定檔。取代以下的值:

  • 在中profile_name,輸入您先前建立的設定檔的名稱。

  • 在中account_name,輸入您先前建立的帳戶名稱。

如需有關此預存程序及其引數的詳細資訊,請參閱 Microsoft 說明文件中的 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

(選擇性) 將異地同步備份新增至 RDS 資料庫執行個體。

如果您想要使用資料庫鏡像 (DBM) 或永遠開啟可用性群組 (AGG) 來新增異地同步備份,請參閱將異地同步備份新增至 Microsoft SQL Server 資料庫執行個體中的指示。

DBA

相關資源