メールの検索に 困ってたので Amazon SESに転送して S3 VectorでRAGに!

-- Views

October 14, 25

スライド概要

2025/10/10 JAWS FESTA 2025での登壇資料です

profile-image

 開発ベンダーに5年、ユーザ企業システム部門通算9年を経て、2018年よりトレノケート株式会社でAWS Authorized InstructorとしてAWSトレーニングコースを担当し、毎年1500名以上に受講いただいている。プロトタイプビルダーとして社内の課題を内製開発による解決もしている。 AWS認定インストラクターアワード2018・2019・2020の3年連続受賞により殿堂入りを果たした。 APN AWS Top Engineers、APN ALL AWS Certifications Engineers、AWS Community Buildersに数年にわたり選出。 個人活動としてヤマムギ名義で執筆、勉強会、ブログ、YouTubeで情報発信している。 その他コミュニティ勉強会やセミナーにて参加、運営、スピーカーや、ご質問ご相談についてアドバイスなどをしている。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

JAWS Festa 2025 2025/10/10 メールの検索に 困ってたので Amazon SESに転送して S3 VectorでRAGに! #jawsfesta2025_c 山下 光洋

3.

#jawsfesta2025_c 構成 メール SES S3 メール EventBridge SQS Route 53 Lambda メール変換後 API Gateway S3 Vector

4.

#jawsfesta2025_c SES ドメイン サブドメイン レコードタイプ 値 xxx._domainkey.example.com(x3) CNAME xxxxxxxxxxxxxx mail.example.com MX 10 inbound-smtp.us-east-1.amazonaws.com

5.

#jawsfesta2025_c SES 受信ルール SES メール 受信者の条件 [email protected] mail.example.com

6.
[beta]
#jawsfesta2025_c

メールの情報すべては要らない
Return-Path: <[email protected]>
Received: from mail-yw1-f169.google.com (mail-yw1-f169.google.com [209.85.128.169])
by inbound-smtp.us-east-1.amazonaws.com with SMTP id narq2va1vav3i1d6siq0oqfruobr4h36di7hq8o1
for [email protected];
Wed, 24 Sep 2025 04:09:03 +0000 (UTC)
Received-SPF: pass (spfCheck: domain of _spf.google.com designates 209.85.128.169 as permitted sender) client-ip=209.85.128.169;
[email protected]; helo=mail-yw1-f169.google.com;
Authentication-Results: amazonses.com;
spf=pass (spfCheck: domain of _spf.google.com designates 209.85.128.169 as permitted sender) client-ip=209.85.128.169; [email protected];
helo=mail-yw1-f169.google.com;
dkim=pass [email protected];
dmarc=pass header.from=gmail.com;
X-SES-RECEIPT:
AEFBQUFBQUFBQUFGT2NTMy9sRlZQc1ZsQmVOYTFMVFBXNHZJM2hBS1JMWkVLQ3Z0bVhvY2NxNnNnYmwyMXVQSG5rMVNPR0dzYklMVE1rQWRxbTBiK2
42UlQ1MlJlV0MzbEdrWG9JblhtNnBlT3pNM0hMZ1lRa3dLT2ZEUHEzYnVLaXdYMisrMlliZlVSOVlIQmNCYzhzeVVFRUxnVzd2WDB5ejdmdzFrbURPdnNzQ2plODRC
c0NodFZsRlFuVjg3RExnVEx3UVpac3REVFVmdnlUSHRSMVMySklZS3VqZmJPOWVSZDhIM3J1U1FyN2VtWlVKWGRUZUY3MFU0R3lXcjVIUU5IMmFGVWtnRTF
DczlHZU85d2ppM1U5Q0s3cVNNdDY0dFA4N1hqazY1MW1JVitwVGZ3QXc9PQ==
X-SES-DKIM-SIGNATURE: a=rsa-sha256; q=dns/txt;
b=RUA5ShzuqxQyiXtgjm5lhERj0XNgvU6q4eixWDNgJEF1Kijkj090UIS6jVCNIVIsF3Ogd14AQqnD3+I9dmy61VhHU7+QD3HV+5nxxGvp9V8/yeCORammZYNq1s0t0e
m8qxJvqbwr1LosGBWlK695OArNf6VI0lj3UXa6+T818/Q=; c=relaxed/simple; s=6gbrjpgwjskckoa6a5zn6fwqkn67xbtw; d=amazonses.com; t=1758686944; v=1;
bh=yDrPdlQ83CBjx5D8biaXVQtfUN7pS0W/FPl6ShOzsMQ=; h=From:To:Cc:Bcc:Subject:Date:Message-ID:MIME-Version:Content-Type:X-SES-RECEIPT;
Received: by mail-yw1-f169.google.com with SMTP id 00721157ae682-71d603a269cso44192227b3.1
for <[email protected]>; Tue, 23 Sep 2025 21:09:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1758686943; x=1759291743; darn=rag.aws.trainocate.biz;
h=content-transfer-encoding:to:subject:message-id:date:from
:mime-version:from:to:cc:subject:date:message-id:reply-to;
bh=yDrPdlQ83CBjx5D8biaXVQtfUN7pS0W/FPl6ShOzsMQ=;
b=SPcSrgdGn8f6BkOhBuzMA0jgS9LzkacwUtRYANpbqZiQzCQhJnl2q/gHwDWcL447m/
t+PTUd0Cqwo5XDmb93JRZw0zrJwYJle9lKyHTFWJQmjm7YmNnkY0mAo/uOoBwkja2cnX
/nlUS2YMI0OF5tqFjVINPhNYGkVn6665ss4Gx0sFJYgQjI5bnR2Zj79aeg36MGQkg1KF
29LyNlroocsHtLkkWr/oSw0ROOh2oWN5caUR4ZrbOGSY+EVdVTT4lcNnQmCUl+ZtlGLw
zjlshLIxyoAr46hT0nUERssenJ+MFbFhDUYKBguo1OEQ8m/hFldXKhN+OOPbHKCnTfQr
m4+w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1758686943; x=1759291743;
h=content-transfer-encoding:to:subject:message-id:date:from
:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=yDrPdlQ83CBjx5D8biaXVQtfUN7pS0W/FPl6ShOzsMQ=;
b=ni0XRsTlIVMXAY1sf2yEdKbLC7qDDWeSl7p7edR8ixMNTK5X6oSDapulzR2hrhyKCn
oIREM7kSp5cmkhmmXIjWvp0IYc37cxDn+JxdKSUAt5yYxISVSvxjoz8FXWIu090jcByk
+sMRj+LC3xJ3ntZJGZaKdV1nus4dzTXq5aykIVsaO2g/ZXfPZ1OC7t56JE8Grrnq14lj
zl8b0qfmND7EJxK9DWZppJxKpKuX5oVkexkqmteXoJYXOWw29Gefgn6+xbF8wrQBvkfC
INUqVghbm4UsmA5K9E7cIYx77zrpzaR+/wPkyOTABUB8KSdljkNQaZWsUysqFtz2PgaG
cHng==
X-Gm-Message-State: AOJu0YzGkuCXrVY0obvVn0yLK4ZZ4z75Hb5csbesG4JWCDK7r45tPwa6
kpGhBUv2iGP9ox+1tshU8MvVXyoCZsvSbyGFL0IkfYWcOL97TtHQ1Y5igneoCEGei1eOyblyKre
0KoOncAGCuMiOlz6SGJZCCbPhRo5zjUdPrzCL
X-Gm-Gg: ASbGncstDe64LTTuGZMsQ1kpFS8aAjZ944YVbu0Rb0dz7PTcgpsUC2aABaJQmDupxDY
ZzHzU58uBhI4Ja1ujfzIKNeoi84DEnmXQXOajrNdvY5rhAgqgDJIB5Ok/KmPWrgWtq6J8Pij0XD
Z1Tj3ehbameZGIzq6viLyRNdaEBUFe/xC7Im/nV7QQ7WilWRP/gdg41JKDxuUfbzmXmYsIoSLiq
UYkbAGkeZ98fXLU+So=
X-Google-Smtp-Source: AGHT+IH1bSadxu8l8QvZe+RkIC08IVHjsBUmn6t+DNhlUtQtWl0N6YVW/yt4MM3506cu5us2VgYF3h2fF0ORr0dGW/Y=
X-Received: by 2002:a05:690c:360e:b0:75f:58d0:38cc with SMTP id
00721157ae682-75f58d04063mr8376647b3.27.1758686942973; Tue, 23 Sep 2025
21:09:02 -0700 (PDT)
MIME-Version: 1.0
From: =?UTF-8?B?5bGx5LiL5YWJ5rSL?= <[email protected]>
Date: Wed, 24 Sep 2025 13:08:51 +0900
X-Gm-Features: AS18NWAh_p8KbD-4xUdRBNYN4UYsbZIALaGQJanEf1v3G7vFiJ2AdNLML_QPibU
Message-ID: <CA+9tyscLmieZkdXob30Kk9DqgPZ9_qbp=uLWsxTtgqtO8UMeog@mail.gmail.com>
Subject: =?UTF-8?B?44OG44K544OI?=
To: [email protected]
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
44O744OG44K544OIDQo=

{
"message_id":
"CA+9tyscLmieZkdXob30Kk9DqgPZ9_qbp=uLWsxTtgqtO8UMe
[email protected]",
"from": "山下光洋 <[email protected]>",
"to": "[email protected]",
"subject": "テスト",
"date": "2025-09-24T13:08:51+09:00",
"body": "お世話になっております。〜〜〜〜〜 "
}

7.

#jawsfesta2025_c 構成 SES→Lambdaとしていないのは?? メール SES S3 メール EventBridge SQS Route 53 Lambda メール変換後 API Gateway S3 Vector

8.

#jawsfesta2025_c

9.

#jawsfesta2025_c 構成 SES→SNS→Lambdaとしないのは? メール SES S3 メール EventBridge SQS Route 53 Lambda メール変換後 API Gateway S3 Vector

10.

構成 メール S3→Lambdaとしないのは? S3→SQS→Lambdaとしないのは? SES S3 メール EventBridge #jawsfesta2025_c SQS Route 53 Lambda メール変換後 API Gateway S3 Vector

11.

#jawsfesta2025_c S3 Vector(プレビュー) インデックス Embedding (埋め込み) インデックス インデックス Retrive (取得)

12.

S3 Vector(プレビュー) #jawsfesta2025_c バージニア北部 2025/10/10現在 Storage /Month $0.06(GB) Requests PUT $0.20(GB) Requests 他 $0.055 (1000リクエスト) Query $0.0025(1000リクエスト) Data First 100 thousand vectors $0.0040(TB) Data Over 100 thousand vectors $0.0020(TB) S3 Vectors RequestsS3 Vectors query pricing

13.

S3ベクトルインデックス #jawsfesta2025_c

14.

#jawsfesta2025_c ディメンション モデル名 サポートされている ディメンションの数 Amazon Titan Embeddings G1 - Text 1536 Amazon Titan Text Embeddings V2 256, 512, 1024 Cohere Embed (英語) 1024 Cohere Embed (多言語) 1024

15.

#jawsfesta2025_c 距離メトリック コサイン ユークリッド 測定 ベクトル間の角度 ベクトル間の直線距離 重視 方向(パターン) 方向と大きさ(スケール) イメージ 向きが同じ、2本の矢印の角 位置が近い、近くにある2つの 度 点 適しているデータ テキスト、カテゴリ、意味 画像、数値、空間 使用例 文書の類似性 推薦システム クラスタリング 画像認識 回帰分析

16.

Bedrockナレッジベース RAG (取得と 生成) 同期 (埋め込み) #jawsfesta2025_c

17.

実行 #jawsfesta2025_c

18.

実行 #jawsfesta2025_c

19.

#jawsfesta2025_c 構成 メール SES Route 53 S3 メール EventBridge SQS EventBridge SQS は何のため? Lambda メール変換後 API Gateway S3 Vector

20.

#jawsfesta2025_c まとめ メール SES S3 メール EventBridge SQS Route 53 Lambda メール変換後 API Gateway S3 Vector