Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ANGEL Dojo 2023 最終発表

komakichi
October 13, 2023

ANGEL Dojo 2023 最終発表

AWS若手向けハッカソン(ANGEL Dojo2023)での発表資料

https://www.youtube.com/watch?v=7XO1H5TMnnI
こちらの内容です

komakichi

October 13, 2023
Tweet

More Decks by komakichi

Other Decks in Programming

Transcript

  1. 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 アーキテクチャ - 機能
  2. 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でスポット同士の 経路を表示
  3. アーキテクチャ - 機能 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. クーポン配信の構成図 AWS Cloud User Location Service Tracker Geofence 位置情報取得 EventBridge

    Lambda 特定範囲に 入ったことを検 出 DynamoDB AppSync SNS Amplify アプリにクーポンを表示 クーポン情報取得 クーポン取得を 通知 構成図 Location Service Trackerを活用 ユーザーの位置情報と店舗の近接性 からクーポン配信を実施する
  10. マネタイズ 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