온프레미스 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

요약

Database Mail(Microsoft 설명서)은 SMTP(단순 메일 전송 프로토콜) 서버를 사용하여 Microsoft SQL Server 데이터베이스에서 알림 또는 경고와 같은 이메일 메시지를 보냅니다. Microsoft SQL Server용 Amazon Relational Database Service(Amazon RDS) 설명서에는 Amazon Simple Email Service(Amazon SES)를 Database Mail용 SMTP 서버로 사용하는 방법에 대한 지침이 나와 있습니다. 자세한 내용은 Amazon RDS for SQL Server에 Database Mail 사용 섹션을 참조하세요. 다른 구성으로서, 이 패턴은 온프레미스 SMTP 서버를 메일 서버로 사용하여 Amazon RDS for SQL Server 데이터베이스(DB) 인스턴스에서 이메일을 보내도록 Database Mail을 구성하는 방법을 설명합니다.

사전 조건 및 제한 사항

사전 조건

  • 활성 상태의 AWS 계정.

  • 표준 또는 엔터프라이즈 버전의 SQL Server를 실행하는 Amazon RDS DB 인스턴스

  • 온프레미스 SMTP 서버의 IP 주소 또는 호스트 이름

  • SMTP 서버의 IP 주소에서 Amazon RDS for SQL Server DB 인스턴스로의 연결을 허용하는 인바운드 보안 그룹 규칙

  • 온프레미스 네트워크와 Amazon RDS DB 인스턴스가 포함된 가상 사설 클라우드(VPC) 간의 연결(예: AWS Direct Connect 연결)

제한 사항

제품 버전

아키텍처

대상 기술 스택

  • Amazon RDS for SQL Server 데이터베이스 인스턴스

  • Amazon Rou53 전달 규칙

  • 데이터베이스 메일

  • 온프레미스 SMTP 서버

  • Microsoft SQL Server Management Studio(SSMS)

대상 아키텍처

다음 이미지는 이 패턴의 대상 아키텍처를 보여줍니다. 데이터베이스 인스턴스와 관련된 알림 또는 경고를 시작하는 이벤트 또는 작업이 발생하면 Amazon RDS for SQL Server는 Database Mail을 사용하여 이메일 알림을 보냅니다. Database Mail은 온프레미스 SMTP 서버를 사용하여 이메일을 전송합니다.

온프레미스 SMTP 서버를 사용하여 Amazon RDS for SQL Server에서 사용자에게 이메일 알림을 전송합니다.

도구

서비스

기타 도구

  • Database Mail은 SQL Server 데이터베이스 엔진에서 사용자에게 알림 및 경고와 같은 이메일 메시지를 보내는 도구입니다.

  • Microsoft SQL Server Management Studio(SSMS)는 SQL 서버 구성 요소에 대한 액세스, 구성 및 관리를 포함하여 SQL Server를 관리하기 위한 도구입니다. 이 패턴에서는 SSMS를 사용하여 SQL 명령을 실행하는 방법으로 Amazon RDS for SQL Server DB 인스턴스에서 Database Mail을 설정합니다. 

에픽

작업설명필요한 기술

RDS DB 인스턴스에서 다중 AZ를 제거합니다.

다중 영역 RDS DB 인스턴스를 사용하는 경우 다중 AZ 인스턴스를 단일 AZ 인스턴스로 변환합니다. Database Mail 구성을 마치면 DB 인스턴스가 다시 다중 AZ 배포로 변환됩니다. 그러면 Database Mail 구성이 기본 노드와 보조 노드에서 모두 작동합니다. 지침은 Microsoft SQL Server DB 인스턴스에서 다중 AZ 제거하기를 참조하세요.

DBA

온프레미스 SMTP 서버의 Amazon RDS 엔드포인트 또는 IP 주소에 대한 허용 목록을 생성합니다.

SMTP 서버는 AWS 네트워크 외부에 있습니다. 온프레미스 SMTP 서버에서 서버가 Amazon RDS에서 호스팅되는 Amazon RDS 인스턴스 또는 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스의 아웃바운드 엔드포인트 또는 IP 주소와 통신할 수 있도록 허용하는 허용 목록을 생성합니다. 이 절차는 조직마다 다릅니다. DB 인스턴스 엔드포인트에 대한 자세한 내용은 DB 인스턴스 엔드포인트 및 포트 번호 찾기를 참고하십시오.

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용 매개변수 그룹을 만들고 database mail xps 매개변수를 1로 설정한 다음 Database Mail 매개변수 그룹을 대상 RDS DB 인스턴스와 연결합니다. 지침은 Amazon RDS 설명서의 Database Mail 활성화를 참고하십시오. 이 지침의 Database Mail 구성 섹션으로 진행하지 마십시오. 온프레미스 SMTP 서버의 구성은 Amazon SES와 다릅니다.

DBA

DB 인스턴스에 연결합니다.

배스천 호스트에서 Microsoft SQL Server Management Studio(SSMS)를 사용하여 Amazon RDS for SQL Server 데이터베이스 인스턴스에 연결합니다. 지침은 Microsoft SQL Server 데이터베이스 엔진을 실행하는 DB 인스턴스에 연결하기를 참조하세요. 오류가 발생하는 경우 관련 리소스 섹션의 연결 문제 해결 참조를 참고하십시오.

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 Server 리소스를 요청할 수 있는 엔터티입니다. 다음 값을 교체합니다.

  • profile_name에는 앞에서 생성한 프로필의 이름을 입력합니다.

  • principal_name에는 데이터베이스 사용자 또는 역할의 이름을 입력합니다. 이 값은 SQL Server 인증 사용자, 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_ssl에는 Database Mail이 SSL을 사용하여 통신을 암호화하지 않도록 하려면 1에 값을 그대로 두거나 0을 입력하십시오.

  • 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 DB 인스턴스에 다중 AZ를 추가합니다.

Database Mirroring(DBM) 또는 Always On 가용 그룹(AG)을 이용한 다중 AZ를 추가하려면 Microsoft SQL Server DB 인스턴스에 다중 AZ 추가에 있는 지침을 참고하십시오.

DBA

관련 리소스