Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CSV登録をAWSサーバーレスで実装
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
miura
November 21, 2025
Programming
0
14
CSV登録をAWSサーバーレスで実装
JAWS-UG青森2024登壇資料
miura
November 21, 2025
Tweet
Share
More Decks by miura
See All by miura
Amazon Nova Sonic 入門
miuratoya
0
130
Other Decks in Programming
See All in Programming
Codex CLIのSubagentsによる並列API実装 / Parallel API Implementation with Codex CLI Subagents
takatty
2
720
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
320
モダンOBSプラグイン開発
umireon
0
190
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
800
GoのDB アクセスにおける 「型安全」と「柔軟性」の両立 - Bob という選択肢
tak848
0
290
[PHPerKaigi 2026]PHPerKaigi2025の企画CodeGolfが最高すぎて社内で内製して半年運営して得た内製と運営の知見
ikezoemakoto
0
310
存在論的プログラミング: 時間と存在を記述する
koriym
5
580
AI-DLC 入門 〜AIコーディングの本質は「コード」ではなく「構造」〜 / Introduction to AI-DLC: The Essence of AI Coding Is Not “Code” but “Structure”
seike460
PRO
0
120
見せてもらおうか、 OpenSearchの性能とやらを!
shunta27
1
160
Migration to Signals, Signal Forms, Resource API, and NgRx Signal Store @Angular Days 03/2026 Munich
manfredsteyer
PRO
0
190
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
180
モックわからないマン卒業記 ~振る舞いを起点に見直した、フロントエンドテストにおけるモックの使いどころ~
tasukuwatanabe
3
430
Featured
See All Featured
Speed Design
sergeychernyshev
33
1.6k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Producing Creativity
orderedlist
PRO
348
40k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
87
The browser strikes back
jonoalderson
0
860
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
53k
Making Projects Easy
brettharned
120
6.6k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
Building AI with AI
inesmontani
PRO
1
830
My Coaching Mixtape
mlcsv
0
90
Building an army of robots
kneath
306
46k
Transcript
CSVデータ登録機能をサーバーレスで実装 アイレット株式会社 三浦 登哉
・年齢 26歳 ・出身 青森県弘前市出身 ・所属 アイレット株式会社 第一開発事業部 ・業務 開発エンジニア(フロント、バックエンド) 三浦
登哉 自己紹介
System Integrator(SIer) クラウドの設計、構築からシステム開発、デザイン設計 運用保守までトータルサポート 弊社のサービス
ユーザーがCSVファイルでデータ登録する (最大20万件のデータ登録) 要件
まずは登場するサービスについてご紹介
AWS Lambda ・サーバーの準備・管理は不要で、コードを与える だけで実行してくれる ・実行時間単位で料金が発生する ・ユースケース例 ・アプリバックエンド ・ファイル処理 ・IoTバックエンド
Amazon API Gateway ・API の作成、公開、保守、モニタリング、保 護を簡単に行える ・フルマネージドなので開発者はAPIの管理に 集中できる ・APIコール数と送出したデータ量に料金が発 生する
Amazon S3 ・AWS最初期(2006年3月〜)からある伝統的なオブジェ クトストレージサービス ・大量データの保存・取得が簡単にできる ・データの耐久性は99.999999999% ・ユースケース例 ・ウェブサイトホスティング ・バックアップ ・データレイク
実装方針の検討
・CSVデータ登録処理用のAPIを1本追加することをまず初めに考えた ・流れとしては、クライアントアプリケーションからAPIにCSVを投 げて、Lambdaでデータ抽出&DBに登録 実装方針の検討
・CSVデータ登録処理用のAPIを1本追加することをまず初めに考えた ・流れとしては、クライアントアプリケーションからAPIにCSVを投 げて、Lambdaでデータ抽出&DBに登録 実装方針の検討
・リクエスト/レスポンスのペイロードサイズの制約 API Gateway (REST API):最大10MB Lambda :最大6MB →ペイロードサイズの制約は引き上げ不可 →登録データが最大件数(20万)の場合、CSVファイルのサイズは15MBな のでファイル送れない、、
→よってこの設計では達成できない API Gateway×Lambdaの課題
・フロントエンドから直接S3にファイルをアップロードし、S3の 作成イベントでLambda実行 →S3はオブジェクトの作成や削除に対してイベントを発行できる →イベントの通知先としてLambda、SNS、SQS、 Amazon EventBridgeを指定できる、今回はLambdaを指定 解決方法
・ペイロード上限の壁は気にしなくて良くなった →S3は1ファイルアップロードにつき最大5GBまで可能 →よってCSVの容量が増えた場合にも5GBまでは対応できる(柔軟性UP) Amazon Web Services ブログでも、大容量ファイルのアップロードに は今回の構成がオススメされている https://aws.amazon.com/jp/blogs/news/large-size-files- transferring-by-serverless-s3presignedurl-and-clientside-
javascript/ 立ちはだかるペイロード上限の制約クリア
プライベートS3バケットへのアクセス方法
・インターネットから直接アクセスできないように設定されたS3バケッ ト ・用途 機密データなどユーザーに公開したくないデータの保管 プライベートS3バケット
・プライベートなバケットに対してセキュアにアクセスできるよう、 S3へのアクセス権を一時的に他のユーザーに付与する仕組み ・有効期限があるURLなので、万が一漏洩しても被害は最小限 →今回はクライアントアプリに署名付きURLを一度渡して、その URLにPOSTすることでセキュアなアップロードを実現 S3署名付きURL
最終的なアーキテクチャ
まとめ ・ S3を経由させることでAPI GatewayとLambdaの制約回避 ・イベント駆動(非同期)にすること柔軟性が生まれる ・CSVに限らずファイルアップロードのさまざまなの処理に流用でき る設計 ・今後もいろんなユースケースでサーバーレスサービスを活用してい きたい
ナレッジ共有+AWSサーバーレスに入門した話に お付き合いいただき、ありがとうございました! これからサーバーレスに挑戦する方々へのヒントや 励みになれば幸いです。