Amazon RDS for SQL Server에 Database Mail 사용 - Amazon Relational Database Service

Amazon RDS for SQL Server에 Database Mail 사용

Database Mail을 사용하여 Amazon RDS for SQL Server 데이터베이스 인스턴스에서 사용자에게 이메일 메시지를 보낼 수 있습니다. 메시지에는 파일 및 쿼리 결과가 포함될 수 있습니다. Database Mail은 다음 구성 요소를 포함합니다.

  • 구성 및 보안 객체 – 이 객체는 프로파일과 계정을 생성하며 msdb 데이터베이스에 저장됩니다.

  • 메시징 객체 – 이 객체에는 메시지를 보내는 데 사용되는 sp_send_dbmail 저장 프로시저, 그리고 메시지에 대한 정보가 들어 있는 데이터 구조가 포함됩니다. 이들 객체는 msdb 데이터베이스에 저장됩니다.

  • 로깅 및 감사 객체 – Database Mail은 msdb 데이터베이스 및 Microsoft Windows 애플리케이션 이벤트 로그에 로깅 정보를 기록합니다.

  • Database Mail 실행 파일DatabaseMail.exemsdb 데이터베이스의 대기열에서 데이터를 읽고 이메일 메시지를 전송합니다.

RDS는 Web, Standard 및 Enterprise Edition의 모든 SQL Server 버전에 대해 데이터베이스 Database Mail지원합니다.

제한 사항

SQL Server DB 인스턴스에 Database Mail을 사용할 경우 다음 제한 사항이 적용됩니다.

  • Database Mail은 SQL Server Express Edition에 대해 지원되지 않습니다.

  • Database Mail 구성 파라미터 수정은 지원되지 않습니다. 사전 설정(기본값) 값을 보려면 sysmail_help_configure_sp 저장 프로시저를 사용합니다.

  • 첨부 파일은 완전하게 지원되지 않습니다. 자세한 내용은 첨부 파일 작업 섹션을 참조하세요.

  • 최대 첨부 파일 크기는 1MB입니다.

  • Database Mail에는 다중 AZ DB 인스턴스에 대한 추가 구성이 필요합니다. 자세한 내용은 다중 AZ 배포에 대한 고려 사항 섹션을 참조하세요.

  • 미리 정의된 운영자에게 이메일 메시지를 보내도록 SQL Server 에이전트를 구성하는 것은 지원되지 않습니다.

Amazon RDS Database Mail에 대한 저장 프로시저 및 함수

Microsoft는 계정 및 프로필 생성, 나열, 업데이트, 삭제하는 등, Database Mail을 사용할 수 있도록 저장 프로시저를 제공합니다. 또한 RDS는 다음 표에 나와 있는 Database Mail용 저장 프로시저 및 함수도 제공합니다.

프로시저/함수 설명
rds_fn_sysmail_allitems 다른 사용자가 전송한 메시지를 포함하여 전송된 메시지를 표시합니다.
rds_fn_sysmail_event_log 다른 사용자가 전송한 메시지에 대한 이벤트를 포함하여 이벤트를 표시합니다.
rds_fn_sysmail_mailattachments 다른 사용자가 전송한 메시지의 첨부 파일을 포함하여 첨부 파일을 표시합니다.
rds_sysmail_control 메일 대기열을 시작하고 중지합니다(DatabaseMail.exe 프로세스).
rds_sysmail_delete_mailitems_sp Database Mail 내부 테이블에서 모든 사용자가 보낸 이메일 메시지를 삭제합니다.

첨부 파일 작업

다음 첨부 파일 확장명은 RDS on SQL Server에서 보낸 Database Mail 메시지에서 지원되지 않습니다. .ade, .adp, .apk, .appx, .appxbundle, .bat, .bak, .cab, .chm, .cmd, .com, .cpl, .dll, .dmg, .exe, .hta, .inf1, .ins, .isp, .iso, .jar, .job, .js, .jse, .ldf, .lib, .lnk, .mde, .mdf, .msc, .msi, .msix, .msixbundle, .msp, .mst, .nsh, .pif, .ps, .ps1, .psc1, .reg, .rgs, .scr, .sct, .shb, .shs, .svg, .sys, .u3p, .vb, .vbe, .vbs, .vbscript, .vxd, .ws, .wsc, .wsf, .wsh.

Database Mail은 현재 사용자의 Microsoft Windows 보안 컨텍스트를 사용하여 파일에 대한 액세스를 제어합니다. SQL Server 인증을 사용하여 로그인하는 사용자는 @file_attachments 저장 프로시저와 함께 sp_send_dbmail 파라미터를 사용하여 파일을 첨부할 수 없습니다. Windows에서는 SQL Server가 원격 컴퓨터에서 다른 원격 컴퓨터로 자격 증명을 제공할 수 없습니다. 따라서 SQL Server를 실행하는 컴퓨터가 아닌 다른 컴퓨터에서 이 명령을 실행하면 Database Mail이 네트워크 공유에서 파일을 연결할 수 없습니다.

하지만 SQL Server 에이전트 작업을 사용하면 파일을 첨부할 수 있습니다. SQL Server 에이전트에 대한 자세한 내용은 Microsoft 설명서에서 Amazon RDS에 SQL Server Agent 사용SQL Server 에이전트를 참조하세요.

다중 AZ 배포에 대한 고려 사항

다중 AZ DB 인스턴스에 Database Mail을 구성하면 해당 구성이 보조 인스턴스에 자동으로 전파되지 않습니다. 다중 AZ 인스턴스를 단일 AZ 인스턴스로 변환하고 Database Mail을 구성한 다음 DB 인스턴스를 다시 다중 AZ로 변환하는 것이 좋습니다. 그러면 기본 노드와 보조 노드 모두에 Database Mail 구성이 적용됩니다.

Database Mail이 구성된 다중 AZ 인스턴스에서 읽기 전용 복제본을 생성하는 경우 해당 복제본은 구성을 상속하지만 SMTP 서버에 대한 암호는 상속하지 않습니다. 해당 암호로 Database Mail 계정을 업데이트합니다.

SMTP(포트 25) 제한 사항 제거

기본적으로 AWS는 RDS for SQL Server DB 인스턴스에 대한 SMTP(포트 25)의 아웃바운드 트래픽을 차단합니다. 이는 탄력적 네트워크 인터페이스 소유자의 정책에 따라 스팸을 방지하기 위해 수행됩니다. 필요한 경우 이 제한사항을 제거할 수 있습니다. 자세한 내용은 에서 Amazon EC2 인스턴스 또는 Lamda 함수에서 포트 25와 관련한 제한을 없애려면 어떻게 해야 하나요?를 참조하세요.