60 lines
4.8 KiB
Markdown
60 lines
4.8 KiB
Markdown
---
|
||
title: "CTP Topic 12 Using SES SMTP service terraform module"
|
||
type: source
|
||
tags:
|
||
- AWS
|
||
- Terraform
|
||
- SES
|
||
- Email
|
||
- CTP
|
||
- Cloud-Email
|
||
date: 2026-04-14
|
||
---
|
||
|
||
## Source File
|
||
- [[raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/03_Terraform/ctp-topic-12-using-ses-smtp-service-terraform-module.md]]
|
||
|
||
## Summary(用中文描述)
|
||
- 核心主题:Micro Focus 团队使用 Terraform 模块自动化部署 AWS SES SMTP 服务,以替代传统的本地 SMTP 网关。
|
||
- 问题域:随着业务向云端迁移,使用本地 SMTP 网关(如 smtbmicrofocus.com)已不再高效,网络安全部门要求统一使用云端邮件发送方案。
|
||
- 方法/机制:在应用 VPC 中配置 VPC 终端节点以实现私有连接;通过 IAM 用户凭证作为 SMTP 认证信息并存储于 Secrets Manager;Terraform 模块自动化 SMTP 终端节点配置、DKIM 验证和 DNS 记录创建;支持现有应用程序通过标准 SMTP 协议集成,无需重构代码适配 SES API。
|
||
- 结论/价值:SES 是唯一获网络安全部门批准的云端邮件发送方案;Terraform 模块化封装降低了集成复杂度;需注意两个手动步骤(申请脱离 Sandbox Mode 和手动更新 DNS TXT 记录)。
|
||
|
||
## Key Claims(用中文描述)
|
||
- 在应用 VPC 中配置 VPC 终端节点,使应用可在不访问公网的情况下通过私有节点与 SES SMTP 服务通信。
|
||
- IAM 用户的 Access Key 和 Secret Key 被转换后作为 SMTP 认证的用户名和密码,相关凭证安全存储于 AWS Secrets Manager。
|
||
- Terraform 模块自动化完成 DKIM 验证和 Infoblox DNS 管理系统中域名所有权记录的创建。
|
||
- 手动更新 DNS TXT 记录以验证域名所有权仍是必需步骤,因 Terraform 难以处理多个 AWS 账号共享同一域名时对同一 TXT 记录值的追加操作。
|
||
- 脱离 SES Sandbox Mode(向 AWS 提交工单申请生产访问权限)是启用完整邮件发送能力的必要前提。
|
||
- SES 是 Micro Focus 网络安全部门唯一批准的云端邮件发送方案,替代了原有的本地 SMTP 网关。
|
||
|
||
## Key Quotes
|
||
> "随着业务向云端迁移,使用本地 SMTP 网关(如 smtbmicrofocus.com)已不再高效,SES 是目前网络安全部门唯一批准的云端邮件发送方案。" — Christian Deckelmann
|
||
|
||
> "SES Terraform 模块封装了 SMTP 终端节点的配置,方便现有应用程序通过标准的 SMTP 协议进行集成,而无需重构代码以适配 SES API。" — Filos Christolakis
|
||
|
||
## Key Concepts
|
||
- [[VPC-Endpoint]]:AWS 提供的私有连接服务,允许在 VPC 内部通过私有 IP 地址安全访问 AWS 服务,无需经过公网。
|
||
- [[DKIM-Email-Authentication]]:DomainKeys Identified Mail 的缩写,一种电子邮件验证标准,通过在邮件头部添加数字签名来防止欺诈和确保邮件完整性。
|
||
- [[Secrets-Manager]]:AWS 提供的凭证管理服务,用于安全地存储和检索 SES SMTP 的认证信息。
|
||
- [[SES-Sandbox-Mode]]:AWS SES 的默认限制状态,仅允许向已验证的地址发送少量邮件,需提交工单申请生产访问权限以提升发送限额。
|
||
|
||
## Key Entities
|
||
- [[AWS]]:Amazon Web Services,云服务提供商,SES(Simple Email Service)所属平台。
|
||
- [[Christian-Deckelmann]]:演讲者之一,分享 Micro Focus 在云转型中采用 SES SMTP 服务的背景与动机。
|
||
- [[Filos-Christolakis]]:演讲者之一,详细讲解 SES Terraform 模块的技术实现方案。
|
||
- [[Infoblox]]:公司内部使用的 DNS 管理系统,用于存放和管理验证域名所有权所需的 DNS 记录。
|
||
- [[VPC-Wrapper-Module]]:SES Terraform 模块所依赖的前置 VPC 配置模块,负责预先配置 SMTP VPC 终端节点。
|
||
|
||
## Connections
|
||
- [[VPC-Wrapper-Module]] ← depends_on ← [[ctp-topic-12-using-ses-smtp-service-terraform-module]]
|
||
- [[ctp-topic-12-using-ses-smtp-service-terraform-module]] ← extends ← [[AWS]]
|
||
- [[Terraform-And-Terragrunt-Best-Practices]] ← related_to ← [[ctp-topic-12-using-ses-smtp-service-terraform-module]](Terragrunt Pre-hook/Post-hook 用于处理手动 DNS 验证步骤)
|
||
- [[ctp-topic-36-sendgrid-as-an-email-service]] ← alternative_to ← [[ctp-topic-12-using-ses-smtp-service-terraform-module]](SendGrid 被选定为新 Landing Zone 标准,SES 用于现有应用迁移)
|
||
|
||
## Contradictions
|
||
- 与 [[ctp-topic-36-sendgrid-as-an-email-service]] 在邮件服务选型上的差异:
|
||
- 冲突点:两门课程分别介绍了不同的云邮件服务方案——SendGrid 被选定为标准云端邮件服务,而 SES 则专注于服务现有应用通过 SMTP 协议迁移上云。
|
||
- 当前观点:SES 通过 Terraform 模块封装现有应用 SMTP 接入路径,实现平滑迁移,无需修改应用代码。
|
||
- 对方观点:SendGrid 作为新标准云邮件服务,提供更高上限(每封 1,000 收件人 vs SES 每封 50 收件人)、更简单的 API 集成和全球中继节点。
|