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

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

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

由 Nishad Mankar 建立 (AWS)

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 連線

限制

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

  • 如需限制的詳細資訊,請參閱《Amazon 文件》中的在 Amazon RDS for SQL Server 上使用資料庫郵件中的限制。 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 Support 可以與您聯絡,以提供有關請求的更新。

  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

相關資源