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

マルチメディアもいけるぞ AWS Lambda / AWS Lambda Handles ...

マルチメディアもいけるぞ AWS Lambda / AWS Lambda Handles Multimedia Too

登壇者名: 池口 直希
登壇したイベントタイトル: TECH BATON in 東京 〜今 Lambdaどうやって使ってる? 〜
登壇したイベントのURL: https://findy.connpass.com/event/383708/

More Decks by 株式会社ビットキー / Bitkey Inc.

Other Decks in Technology

Transcript

  1. 4 © Bitkey Inc. ビットキーは…… 賃貸 分譲 内見 予約 受付

    従業員 管理 認証 認可 デバイス 権限
  2. Copyright © Bitkey Inc. All rights reserved. / 本資料に記載されている会社名、製品名、サービス名等は、各社の商標または登録商標です。 Amazon

    Chime SDK の利用 • 分譲マンションの管理組合における理事会・総会の開催に使 うビデオ会議システムを提供 • Chime SDK を使った会議の録画 • 音声データのエクスポート ← New!
  3. Copyright © Bitkey Inc. All rights reserved. / 本資料に記載されている会社名、製品名、サービス名等は、各社の商標または登録商標です。 Chime

    SDK の録画データ • 録画データは 5 秒ごとの MP4 ファイルに保存される video/mp4; codecs=”avc1.64001F, mp4a.40.2” • 理事会・総会は数時間に及ぶため大量のオブジェクトに • 一つのファイルにまとめつつ音声を抜き出す必要がある
  4. Copyright © Bitkey Inc. All rights reserved. / 本資料に記載されている会社名、製品名、サービス名等は、各社の商標または登録商標です。 Why

    Lambda? • Chime SDK や S3 が AWS 上に存在するので, Google Cloud 上に構築するとデータの行き来が発生 • 定常的に使われるというより,特定日時に集中する (使われない時のコストを削減したい) • 他に ECS/EKS に構築されたアプリケーションが ほぼ存在しない
  5. Copyright © Bitkey Inc. All rights reserved. / 本資料に記載されている会社名、製品名、サービス名等は、各社の商標または登録商標です。 閑話休題:

    マルチメディアと ECMAScript • マルチメディア (動画, 音声) といえば GStreamer や FFmpeg がよく使われる • 実はそれ ECMAScript でもできるんです! • WebCodecs API ◦ ブラウザ上で動画や音声のエンコード・デコードが行える ◦ ほとんどのモダンブラウザで利用可能 (Firefox は一部サポート) ◦ Polyfill を使うことで Node.js でも利用可能
  6. Copyright © Bitkey Inc. All rights reserved. / 本資料に記載されている会社名、製品名、サービス名等は、各社の商標または登録商標です。 Lambda

    のいいところ • 非同期呼び出しで 15 分まで実行できる ◦ GCF (1st gen) は 9 分まで ◦ 非同期で実行するには Cloud Tasks などの利用が必要 • エラー時に 2 回まで自動でリトライできる ◦ 3 回ともエラーになったら DLQ (SQS) 行き ◦ GCF にはリトライの仕組みがないので Cloud Tasks などが必要 • OCI コンテナが利用可能! • Arm64 も利用可能!!
  7. Copyright © Bitkey Inc. All rights reserved. / 本資料に記載されている会社名、製品名、サービス名等は、各社の商標または登録商標です。 Lambda

    の惜しいところ • IPv6-only VPC のサポート ◦ Cloud Run (Functions) も IPv6-only には対応していない • VPC をアタッチするとパブリック IP アドレス利用不可 ◦ IPv6 を使いましょう (GLA が付くので疎通できる) ◦ Egress-only Internet Gateway も利用可能 • vCPU とメモリの割り当てを個別に設定したい ◦ GCF (1st gen) もメモリを割り当てると vCPU も増える仕組み ◦ Cloud Run Functions (2nd gen) は個別に設定可能