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

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

使用內部部署SMTP伺服器和 Database Mail 傳送 Amazon RDS for SQL Server 資料庫執行個體的通知

由 Nishad Mankar 建立 (AWS)

環境:PoC 或試行

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

工作負載:Microsoft

AWS 服務:Amazon RDS

Summary

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

先決條件和限制

先決條件

  • 作用中AWS帳戶

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

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

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

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

限制

產品版本

架構

目標技術堆疊

  • Amazon RDS for SQL Server 資料庫執行個體

  • Amazon Route 53 轉送規則

  • 資料庫郵件

  • 內部部署SMTP伺服器

  • Microsoft SQL Server Management Studio (SSMS)

目標架構

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

Amazon RDS for SQL Server 使用內部部署SMTP伺服器傳送電子郵件通知給使用者。

工具

AWS 服務

其他工具

  • Database Mail 是一種工具,可將通知和提醒等電子郵件訊息從 SQL Server Database Engine 傳送給使用者。

  • Microsoft SQL Server Management Studio (SSMS) 是管理SQL伺服器的工具,包括存取、設定和管理SQL伺服器元件。在此模式中,您可以使用 SSMS執行SQL命令,在 Amazon RDS for SQL Server 資料庫執行個體上設定 Database Mail。 

史詩

任務描述所需的技能

從RDS資料庫執行個體中移除多可用區。

如果您使用的是多區域RDS資料庫執行個體,請將多可用區域執行個體轉換為單一可用區域執行個體。當您完成設定 Database Mail 時,會將資料庫執行個體轉換回多可用區部署。資料庫郵件組態接著可在主要節點和次要節點中運作。如需指示,請參閱從 Microsoft SQL Server 資料庫執行個體中移除多可用區。

DBA

在內部部署SMTP伺服器上建立 Amazon RDS端點或 IP 地址的允許清單。

SMTP 伺服器位於AWS網路外部。在內部部署SMTP伺服器上,建立允許清單,允許伺服器與 Amazon RDS執行個體或託管於 Amazon 上的 Amazon Elastic Compute Cloud (AmazonEC2) 執行個體的傳出端點或 IP 地址進行通訊RDS。此程序因組織而異。如需有關資料庫執行個體端點的詳細資訊,請參閱尋找資料庫執行個體端點和連接埠號碼

DBA

移除連接埠 25 限制。

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

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

  2. 輸入您的電子郵件地址,以便 AWS 支援人員可以與您聯絡,以提供有關請求的更新。

  3. 使用案例描述欄位中提供必要資訊。

  4. 選擇提交

請注意:

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

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

一般 AWS

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

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

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

啟用資料庫郵件。

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

DBA

連線到資料庫執行個體。

從基礎結構主機,使用 Microsoft SQL Server Management Studio (SSMS) 連線至 Amazon RDS for SQL Server 資料庫執行個體。如需指示,請參閱連線至執行 Microsoft SQL Server 資料庫引擎的資料庫執行個體。如果您遇到任何錯誤,請參閱相關資源區段中的連線疑難排解參考。

DBA

建立設定檔。

在 中SSMS,輸入下列SQL陳述式來建立 Database Mail 設定檔。取代以下的值:

  • 在 中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陳述式,將公有或私有主體新增至 Database Mail 設定檔。主體是可以請求SQL伺服器資源的實體。取代以下的值:

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

  • 針對 principal_name,輸入資料庫使用者或角色的名稱。此值必須對應至SQL伺服器身分驗證使用者、Windows 驗證使用者或 Windows 驗證群組。

如需此預存程序及其引數的詳細資訊,請參閱 Microsoft 文件中的 sysmail_add_principalprofile_sp

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

建立 帳戶。

輸入下列SQL陳述式以建立 Database Mail 帳戶。取代以下的值:

  • 針對 account_name,輸入新帳戶的名稱。

  • 對於 description,輸入新帳戶的簡短描述。

  • 對於 email_address,輸入要從中傳送 Database Mail 訊息的電子郵件地址。

  • 對於 display_address,輸入要用於此帳戶傳出訊息的顯示名稱,例如 SQL Server Automated Notification。您也可以使用為 輸入的值email_address

  • 對於 mailserver_name,輸入SMTP郵件伺服器的名稱或 IP 地址。

  • 對於 port,請保留 的值25

  • 對於 enable_ssl0如果您不希望 Database Mail 使用 加密通訊,請將值保留在 1或輸入 SSL。

  • 對於 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陳述式,將 Database Mail 帳戶新增至 Database Mail 設定檔。取代以下的值:

  • 針對 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) 或 Always On 可用群組 (AGs) 新增多可用區域,請參閱將多可用區域新增至 Microsoft SQL Server 資料庫執行個體 中的指示。

DBA

相關資源