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
ANGEL Dojo 2023 最終発表
Search
komakichi
October 13, 2023
Programming
85
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ANGEL Dojo 2023 最終発表
AWS若手向けハッカソン(ANGEL Dojo2023)での発表資料
https://www.youtube.com/watch?v=7XO1H5TMnnI
こちらの内容です
komakichi
October 13, 2023
More Decks by komakichi
See All by komakichi
AWSサーバーレスで作る IoT 基盤の設計と運用
komakichi
0
51
JAWS DAYS 2026 re:Cheers
komakichi
1
6
re:Invent2025で発表された Frontier Agents
komakichi
1
25
AWS re:Invent 2025 で頻出の 生成 AI サービスをおさらい
komakichi
3
450
JAWS-UG千葉支部 x 彩の国埼玉支部 LTバトル形式勉強会 〜目黒より愛をこめて〜
komakichi
3
110
JAWS DAYS 2025 re_Cheers: WEB
komakichi
0
350
Lambda(Python)の リファクタリングが好きなんです
komakichi
5
470
JAWS Days 2025のインフラ
komakichi
1
670
Amazon Bedrock + AWS Chatbot ノーコードでAIボット作成
komakichi
0
560
Other Decks in Programming
See All in Programming
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
1.1k
霧の中の代数的エフェクト
funnyycat
1
450
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
17k
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
180
5分で問診!Composer セキュリティ健康診断
codmoninc
0
730
Build-to-own AI: Agentic Development for Humans
inesmontani
PRO
0
130
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
0
1.4k
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.7k
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
230
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
1
630
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
160
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
450
Featured
See All Featured
For a Future-Friendly Web
brad_frost
183
10k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Odyssey Design
rkendrick25
PRO
2
740
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
GitHub's CSS Performance
jonrohan
1033
470k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
What's in a price? How to price your products and services
michaelherold
247
13k
Why Our Code Smells
bkeepers
PRO
340
58k
So, you think you're a good person
axbom
PRO
2
2.1k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
Transcript
おでかけ地図アプリ ANGEL Dojo 2023 最終発表 2023年 10月 13日 アイレット株式会社・株式会社アイディーエス ~「次どこ行こう」を解決する新しい検索体験~
皆さん、 こんな経験ありませんか? ユーザーの課題 01
友達と… シーキャンドルしか決まってないから 時間が余るだろうな・・・ まあ、 なんとかなるっしょ! 江の島に行こう! 江の島シーキャンドル が有名らしいから その周辺にしよう! 01
ユーザーの課題
江の島シーキャンドル行ったし、定番の江ノ島水族館も行った 当日… 01 「次どこ行く・・・?」 ユーザーの課題
友人といる時間も楽しいけど、 もう少し旅先を楽しむ時間を増やしたくないですか? 01 ユーザーの課題
01 ユーザーの課題 行きたい場所はあるけどその周辺で 新たに行きたい場所を見つけるのが大変 地図で見たら遠かった 検索に手間がかかる めんどくさい
旅行や外出を充実させるおでかけ地図アプリ 01 ユーザーの課題
サービス紹介
サービス紹介 「次どこ行こう」を解決する新しい検索体験を提供 地図上を図形で囲む直感的な操作で特定の範囲を検索 地図と観光・店舗情報の確認がふらっとだけで完結 1 2 02
サービス紹介 02 当日に空き時間が発生 してもその場周辺で検索可能 遠い場所は検索に入らない 特定の範囲を検索できる 地図上を図形で範囲選択することで直感的な操作が可能
サービス紹介 選択された範囲内の観光/店舗情報・位置の確認がふらっとだけで完結する 02 位置と詳細情報の確認が 一画面で完了 観光サイトと地図アプリ の複数使いをなくす
サービス紹介 お出かけプランの作成が可能 02 一緒に行く人へ 共有も可能
サービス紹介 前日に… 目的地周辺に何があるか見てみよう 02 Step1. 範囲を選択 Step2. スポットを選択 Step3. おでかけプランの生成
3ステップで プランを生成 次どこ行こう 次ここ行こう
アーキテクチャ < 機能 >
AWS Cloud Region スポット情報格納 フロントエンド バックエンド ap-northeast-1a Route 53 CloudFront
WAF Certificate Manager S3 AppSync Cognito SDK Map Routes Places Geofence VPC : 10.0.0.0/16 Private subnet : 10.10.0.0/24 ap-northeast-1c Private subnet : 10.11.0.0/24 Lambda csv インポート 用 RDS Proxy Aurora Serverless v2 Writer Lambda 内部 API 用 RDS Proxy Aurora Serverless v2 Reader DynamoDB 外部 API Lambda 外部 API 用 外部 スポット情報取得 内部 スポット情報取得 緯度経度の保存 S3 変換前データ用 S3 Aurora インポート用 Users スポット情報 管理者 csv ファイル アップロード Place ID 付与 データインポート SAM CodeDeploy CodeCommit CodeCommit CodeBuild AppConfig CodePipeline GuardDuty Security Hub Secrets Manager Config CloudTrail 管理者 Amplify 用 リポジトリ CloudWatch X-Ray SAM 用 リポジトリ Amplify Glue Location Service Backup Put イベント検知 03 アーキテクチャ - 機能
03 アーキテクチャ - 機能 AWS Cloud Region スポット情報格納 フロントエンド バックエンド
ap-northeast-1a Route 53 CloudFront WAF Certificate Manager S3 AppSync Cognito SDK Map Routes Places Geofence VPC : 10.0.0.0/16 Private subnet : 10.10.0.0/24 ap-northeast-1c Private subnet : 10.11.0.0/24 Lambda csv インポート 用 RDS Proxy Aurora Serverless v2 Writer Lambda 内部 API 用 RDS Proxy Aurora Serverless v2 Reader DynamoDB 外部 API Lambda 外部 API 用 外部 スポット情報取得 内部 スポット情報取得 緯度経度の保存 S3 変換前データ用 S3 Aurora インポート用 Users スポット情報 管理者 csv ファイル アップロード Place ID 付与 データインポート SAM CodeDeploy CodeCommit CodeCommit CodeBuild AppConfig CodePipeline GuardDuty Security Hub Secrets Manager Config CloudTrail 管理者 Amplify 用 リポジトリ CloudWatch X-Ray SAM 用 リポジトリ Amplify Glue Location Service Backup Put イベント検知 Mapで地図を表示 Geofenceで図形 による検索を実現 Placesで検索結果を 地図上に表示 Routesでスポット同士の 経路を表示
アーキテクチャ - 機能 AWS Cloud Region スポット情報格納 フロントエンド バックエンド ap-northeast-1a
Route 53 CloudFront WAF Certificate Manager S3 AppSync Cognito SDK Map Routes Points Geofence VPC : 10.0.0.0/16 Private subnet : 10.10.0.0/24 ap-northeast-1c Private subnet : 10.11.0.0/24 Lambda csv インポート 用 RDS Proxy Aurora Serverless v2 Writer Lambda 内部 API 用 RDS Proxy Aurora Serverless v2 Reader DynamoDB 外部 API Lambda 外部 API 用 外部 スポット情報取得 内部 スポット情報取得 緯度経度の保存 S3 変換前データ用 S3 Aurora インポート用 Users スポット情報 管理者 csv ファイル アップロード Place ID 付与 データインポート SAM CodeDeploy CodeCommit CodeCommit CodeBuild AppConfig CodePipeline GuardDuty Security Hub Secrets Manager Config CloudTrail 管理者 Amplify 用 リポジトリ CloudWatch X-Ray SAM 用 リポジトリ Amplify Glue Location Service Backup Put イベント検知 AppSyncから Lambdaを実行 外部APIおよび保有データから スポット情報を取得 AppSyncからDynamoDBに プラン情報などを格納 03
AWS Cloud Region スポット情報格納 フロントエンド フロントエンド ap-northeast-1a Route 53 CloudFront
WAF Certificate Manager S3 AppSync Cognito SDK Map Routes Points Geofence VPC : 10.0.0.0/16 Private subnet : 10.10.0.0/24 ap-northeast-1c Private subnet : 10.11.0.0/24 Lambda csv インポート 用 RDS Proxy Aurora Serverless v2 Writer Lambda 内部 API 用 RDS Proxy Aurora Serverless v2 Reader DynamoDB 外部 API Lambda 外部 API 用 外部 スポット情報取得 内部 スポット情報取得 緯度経度の保存 S3 変換前データ用 S3 Aurora インポート用 Users スポット情報 管理者 csv ファイル アップロード Place ID 付与 データインポート SAM CodeDeploy CodeCommit CodeCommit CodeBuild AppConfig CodePipeline GuardDuty Security Hub Secrets Manager Config CloudTrail 管理者 Amplify 用 リポジトリ CloudWatch X-Ray SAM 用 リポジトリ Amplify Glue Location Service Backup Put イベント検知 アーキテクチャ - 機能 S3 → Glue → S3 で CSVデータを整形 S3のPutイベントをトリガーとして Auroraへデータをインポート 03
アーキテクチャ < Well-Architected >
AWS Cloud Region スポット情報格納 フロントエンド バックエンド ap-northeast-1a Route 53 CloudFront
WAF Certificate Manager S3 AppSync Cognito SDK Map Routes Places Geofence VPC : 10.0.0.0/16 Private subnet : 10.10.0.0/24 ap-northeast-1c Private subnet : 10.11.0.0/24 Lambda csv インポート 用 RDS Proxy Aurora Serverless v2 Writer Lambda 内部 API 用 RDS Proxy Aurora Serverless v2 Reader DynamoDB 外部 API Lambda 外部 API 用 外部 スポット情報取得 内部 スポット情報取得 緯度経度の保存 S3 変換前データ用 S3 Aurora インポート用 Users スポット情報 管理者 csv ファイル アップロード Place ID 付与 データインポート SAM CodeDeploy CodeCommit CodeCommit CodeBuild AppConfig CodePipeline GuardDuty Security Hub Secrets Manager Config CloudTrail 管理者 Amplify 用 リポジトリ CloudWatch X-Ray SAM 用 リポジトリ Amplify Glue Location Service Backup Put イベント検知 アーキテクチャ - Well-Architected 【運用負荷を軽減】 フルマネージドサービスを活用 Amplify、Location Service 【負荷分散】 CDN、静的コンテンツを活用 CloudFront、S3 03 パフォーマンス 効率 コスト最適化 セキュリティ 持続可能性 運用上の優秀性 信頼性 W-A
AWS Cloud Region スポット情報格納 フロントエンド フロントエンド ap-northeast-1a Route 53 CloudFront
WAF Certificate Manager S3 AppSync Cognito SDK Map Routes Points Geofence VPC : 10.0.0.0/16 Private subnet : 10.10.0.0/24 ap-northeast-1c Private subnet : 10.11.0.0/24 Lambda csv インポート 用 RDS Proxy Aurora Serverless v2 Writer Lambda 内部 API 用 RDS Proxy Aurora Serverless v2 Reader DynamoDB 外部 API Lambda 外部 API 用 外部 スポット情報取得 内部 スポット情報取得 緯度経度の保存 S3 変換前データ用 S3 Aurora インポート用 Users スポット情報 管理者 csv ファイル アップロード Place ID 付与 データインポート SAM CodeDeploy CodeCommit CodeCommit CodeBuild AppConfig CodePipeline GuardDuty Security Hub Secrets Manager Config CloudTrail 管理者 Amplify 用 リポジトリ CloudWatch X-Ray SAM 用 リポジトリ Amplify Glue Location Service Backup Put イベント検知 アーキテクチャ - Well-Architected 03 【運用上の優秀性を向上】 IaC、CI/CDパイプラインを構築 Codeシリーズ、SAM パフォーマンス 効率 コスト最適化 セキュリティ 持続可能性 運用上の優秀性 信頼性 W-A
AWS Cloud Region スポット情報格納 フロントエンド フロントエンド ap-northeast-1a Route 53 CloudFront
WAF Certificate Manager S3 AppSync Cognito SDK Map Routes Points Geofence VPC : 10.0.0.0/16 Private subnet : 10.10.0.0/24 ap-northeast-1c Private subnet : 10.11.0.0/24 Lambda csv インポート 用 RDS Proxy Aurora Serverless v2 Writer Lambda 内部 API 用 RDS Proxy Aurora Serverless v2 Reader DynamoDB 外部 API Lambda 外部 API 用 外部 スポット情報取得 内部 スポット情報取得 緯度経度の保存 S3 変換前データ用 S3 Aurora インポート用 Users スポット情報 管理者 csv ファイル アップロード Place ID 付与 データインポート SAM CodeDeploy CodeCommit CodeCommit CodeBuild AppConfig CodePipeline GuardDuty Security Hub Secrets Manager Config CloudTrail 管理者 Amplify 用 リポジトリ CloudWatch X-Ray SAM 用 リポジトリ Amplify Glue Location Service Backup Put イベント検知 アーキテクチャ - Well-Architected 【パフォーマンス効率を向上】 ETLおよびイベント駆動を活用 Glue、S3、Lambda パフォーマンス 効率 コスト最適化 セキュリティ 持続可能性 運用上の優秀性 信頼性 W-A 【信頼性を向上】 Multi AZおよびスケーリング機能を活用 Aurora Serverless v2 03
AWS Cloud Region スポット情報格納 フロントエンド フロントエンド ap-northeast-1a Route 53 CloudFront
WAF Certificate Manager S3 AppSync Cognito SDK Map Routes Points Geofence VPC : 10.0.0.0/16 Private subnet : 10.10.0.0/24 ap-northeast-1c Private subnet : 10.11.0.0/24 Lambda csv インポート 用 RDS Proxy Aurora Serverless v2 Writer Lambda 内部 API 用 RDS Proxy Aurora Serverless v2 Reader DynamoDB 外部 API Lambda 外部 API 用 外部 スポット情報取得 内部 スポット情報取得 緯度経度の保存 S3 変換前データ用 S3 Aurora インポート用 Users スポット情報 管理者 csv ファイル アップロード Place ID 付与 データインポート SAM CodeDeploy CodeCommit CodeCommit CodeBuild AppConfig CodePipeline GuardDuty Security Hub Secrets Manager Config CloudTrail 管理者 Amplify 用 リポジトリ CloudWatch X-Ray SAM 用 リポジトリ Amplify Glue Location Service Backup Put イベント検知 アーキテクチャ - Well-Architected パフォーマンス 効率 コスト最適化 セキュリティ 持続可能性 運用上の優秀性 信頼性 W-A 【セキュリティ向上】 予防、発見、追跡を実現 WAF、GuardDuty、Security Hub、 Config、CloudTrail 【信頼性の向上】 最も重要なAuroraのバックアップを取得 AWS Backup 【可観測性の向上】 モニタリングツールを活用 CloudWatch Logs、ダッシュボード、X-Ray 03
デモ
デモ 04
今後の展望
今後の展望 05 サービス提供の開始 広告・クーポン配信の開始 3か月後 契約料
今後の展望 05 広告 検索結果に PRとして上位に表示
今後の展望 05 クーポン
今後の展望 05 契約店舗数 広告・クーポン 配信数 ユーザー数 5,000 200 10 軒
万人/月 回/月
「次どこ行こう」を解決する新しい検索体験 あなたも体験してみませんか?
ご清聴ありがとうございました 「次どこ行こう」を解決する新しい検索体験を提供 地図上を図形で囲む直感的な操作で特定の範囲を検索 地図と観光・店舗情報の確認がふらっとだけで完結 1 2
Appendix
クーポン配信の構成図 AWS Cloud User Location Service Tracker Geofence 位置情報取得 EventBridge
Lambda 特定範囲に 入ったことを検 出 DynamoDB AppSync SNS Amplify アプリにクーポンを表示 クーポン情報取得 クーポン取得を 通知 構成図 Location Service Trackerを活用 ユーザーの位置情報と店舗の近接性 からクーポン配信を実施する
マネタイズ 1店舗あたりの契約料(円/月) 目標契約店舗数 売上(月) 支出(月) 利益(月) 500 5,000 2,500,000 1記事あたりの広告手数料
(円/記事) 目標広告数(記事/月) 2,000 100 200,000 クーポン手数料(円/100ユーザー) 目標クーポン配信数(数/月) 1,000 100 100,000 AWS利用料($/月) 1ドルあたりの円相場(円/$) 500 140 70,000 外部API_1の利用料 ($/リクエスト) 想定リクエスト数(回/月) 1ドルあたりの円相場(円/$) 0.017 100,000 140 238,000 外部API_2の利用料 ($/リクエスト) 想定リクエスト数(回/月) 1ドルあたりの円相場(円/$) 0.017 100,000 140 238,000 年間人件費(円/一人) エンジニア(人) ひと月 5,000,000 5 12 2,083,333 合計 ひと月あたり ¥ 2,800,000 ¥ 2,629,333 ¥ 170,667 年間 ¥ 33,600,000 ¥ 31,552,000 ¥ 2,048,000