使用Firehose + S3存储事件

在本节中,我们将配置 Kinesis Data Firehose以从SES 收集email事件,然后将事件存储在S3 中, S3 能够以可扩展且经济高效的方式存储邮件活动事件,以用于审计和合规性目的。

创建 S3 存储桶

aws s3 mb s3://ses-events-<random-string> --region <your-region>

创建Firehose

进入Firehose页面,创建delivery stream:

image-20231006150823548

source和destination配置:

image-20231006150900694

选择上一步创建的S3,并设置相关的prefix,点击创建:

image-20231006151013524

创建SES Role

由于SES往Firehose里传输事件,需要SES有访问Firehose的权限,所以提前要创建好role并授予相应的权限。

创建SESFirehoseRole

aws iam create-role --role-name SESFirehoseRole --assume-role-policy-document '{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ses.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}'

为这个role添加权限:

image-20231006151605112

选择KinesisFirehoseFullAccess

image-20231006151620348

创建SES Event Destination

TechNewsConfigSet中添加destination:

image-20231006151256841

选择四个事件:

image-20231006151313522

为Destination命名为FirehoseDestination,选择上一步创建的Role:

image-20231006151736366

确认创建。