BLOG
데이터베이스 메일은 Microsoft SQL Server에서 많이 사용되는 기능 중 하나입니다. 데이터베이스 메일을 사용하면 SMTP 서버를 사용하여 SQL Server에서 사용자에게 메시지를 보낼 수 있습니다. 여기서 설명하는 솔루션은 SQL Server 작업 부하가 Amazon RDS에 있는 경우 데이터베이스 메일을 사용하는 데 도움이 될 것 입니다.
데이터베이스 메일은 다음과 같은 용도로 사용할 수 있습니다.
– 문자 메시지 보내기
– 쿼리 결과 또는 보고서를 텍스트 또는 파일 첨부 파일로 보내기
– 오류 또는 알림에 대한 경고 보내기
– 작업이 성공하거나 실패할 때 SQL 에이전트 작업 상태 메시지 보내기
AWS 고객인 Under Armour는 SQL Server 워크로드를 SQL Server용 Amazon RDS로 마이그레이션하려고 시도했으며 RDS에서 데이터베이스 메일이 지원되지 않는다고 우려했습니다. SQL 워크로드를 Amazon RDS로 이동하려는 경우 이 문제가 나타날 수 있습니다.
저는 Under Armor Data Architect인 Leonard Humphries와 함께 이 문제를 해결하기 위해 솔루션을 개발했습니다. 저희는 SQL Amazon EC2 인스턴스를 중앙 집중식 데이터베이스 메일 허브로 촉진했습니다. 이 방법을 사용함으로써 Under Armor 데이터베이스 메일 문제를 해결할 수 있었습니다. 이 게시물에서 저희의 해결책을 설명합니다.
AWS 서비스 관련
– SQL Server용 Amazon RDS
– 기존 SMTP 서버가 없는 경우의 Amazon Simple Email Service (Amazon SES)
– SQL Server의 Amazon Elastic Compute Cloud (Amazon EC2) 인스턴스. 이 인스턴스는 SQL Server용 Amazon RDS와 동일한 VPC에 있어야 합니다.
데이터베이스 메일을 사용하여 SQL Server용 Amazon RDS를 구동하는 단계
– 1 단계 : SQL Server를 사용하여 EC2 인스턴스에서 데이터베이스 메일을 설치합니다.
– 2 단계 : SQL Server용 Amazon RDS와 EC2 인스턴스 간의 링크 서버를 설정합니다.
– 3 단계 : 연결된 서버를 통해 Amazon RDS의 EC2 인스턴스에서 호스팅되는 원격
sp_send_dbmail 저장 절차를 호출합니다.
다음 다이어그램에서 솔루션 개요를 볼 수 있습니다.
1 단계 : SQL Server를 사용하여 EC2 인스턴스에서 데이터베이스 메일 설치
SQL Server에서 데이터베이스 메일 사용
EXEC sp_configure ‘show advanced options’, ‘1’;
RECONFIGURE
GO
Exec sp_configure ‘Database Mail XPs’,1
RECONFIGURE
GO
데이터베이스 메일 구성
1. EC2 SQL 서버에 연결하십시오.
2. 더하기 기호를 클릭하여 관리 확장합니다.
3. 데이터베이스 메일을 마우스 오른쪽 단추로 클릭하고 아래 그림과 같이 데이터베이스 메일 구성을 선택하십시오.
- 다음을 선택하십시오.
- 다음 작업을 수행하여 데이터베이스 메일 설치를 선택합니다.
- 다음을 선택하십시오.
- 필요한 경우 프로필의 이름을 입력하고 설명을 추가하십시오 (아래 스크린 샷 참조).
- 추가를 선택하고 세부 사항을 입력하십시오. 저는 SES를 이메일 서버로 사용하여 이메일을 발송합니다.- 전자 메일을 보낼 SQL Server의 전자 메일 ID를 입력하십시오.
– SMTP 서버 이름을 입력하십시오. 이것은 제 SES 서버 URL입니다.
– 포트 번호를 입력하십시오.
– 인증 자격 증명을 입력하십시오.
SES에는 이메일 크기 제한인 10MB가 포함된 전송 제한 사항이 있습니다. 자체 온프레미스 또는 자체 관리 메일 서버를 사용하는 경우에는 이 제한이 적용되지 않습니다. - 마침을 선택하십시오.
- 다음을 선택하십시오.
- 프로필 보안 관리에서 다음과 같이 확인란과 기본값을 선택하여 프로필을 공개로 설정합니다.
- 다음을 선택하십시오.
- 시스템 매개 변수에 대한 기본 설정을 적용하십시오.
- 다음> 마침> 닫기를 선택하십시오.
여러 RDS 인스턴스를 사용하려면 7-14 단계를 반복하여 인스턴스 연결 서버와 함께 더 많은 공개 프로필을 만드십시오.
2 단계 : SQL Server용 Amazon RDS와 EC2 인스턴스 간에 링크 서버 설치
동료 Richard Waymire는 SQL Server용 RDS와 SQL Server와의 EC2 인스턴스 간에 연결된 서버를 설정하는 프로세스를 설명하는 매우 유용한 블로그 게시물을 작성했습니다. 자세한 내용은 게시물을 참조하고 링크 서버를 설정하십시오.
3 단계 : 연결된 서버를 통해 Amazon RDS의 EC2 인스턴스에서 호스팅되는 원격 sp_send_dbmail 저장 절차 호출
아래 표시된 것처럼 SQL Server용 Amazon RDS에서 sp_send_dbmail 저장 절차를 실행합니다. 절차가 EC2 SQL Server에 있고 링크 서버를 통해 실행됩니다.
EXEC [Ec2-SQL-Server].msdb.dbo.sp_send_dbmail
@recipients = ‘wasishai@amazon.com’,
@body = ‘This email is from RDS’,
@subject = ‘This email is from RDS’;
결론
이렇게 하면 EC2 인스턴스와 연결된 서버 연결을 통해 SQL Server용 RDS에서 데이터베이스 메일을 보내는 솔루션이 완성됩니다. SQL Server 작업 상태에 대한 전자 메일 경고를 보내야 하는 경우 동일한 유형의 솔루션을 반복 할 수 있습니다. 이 시나리오에서는 작업에 추가 단계를 작성하십시오.
원문 URL: https://aws.amazon.com/ko/blogs/database/powering-up-database-mail-on-amazon-rds-for-sql-server-how-under-armour-runs-database-mail-on-amazon-rds-for-sql-server/
** 메가존클라우드 TechBlog는 AWS BLOG 영문 게재글중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 게재하고 있습니다. 추가로 번역및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.