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
AWSを用いた番組連動Webコンテンツ処理基盤の構築
Search
Eiji KOMINAMI / 小南英司
June 04, 2019
Technology
0
100
AWSを用いた番組連動Webコンテンツ処理基盤の構築
負荷対策や高い安定性を維持する必要のある番組と連動したWebコンテンツの配信処理基盤をAWSのサーバアーキテクチャを用いて構築した。
Eiji KOMINAMI / 小南英司
June 04, 2019
Tweet
Share
More Decks by Eiji KOMINAMI / 小南英司
See All by Eiji KOMINAMI / 小南英司
AWS Media Services 最新サービスアップデート 2024
eijikominami
0
330
AWS Media Services 最新サービスアップデート 2023
eijikominami
0
190
NAB Show 2023 速報
eijikominami
0
1.9k
YouTuber も編集マンもクラウド使って編集しよう。クラウド編集のキホン
eijikominami
0
1.1k
AWS Media Services 最新サービスアップデート 2022
eijikominami
0
220
CloudFrontのリアルタイムログをKibanaで可視化しよう
eijikominami
0
87
CloudFormation/SAMのススメ
eijikominami
0
87
朝日放送グループにおける番組配信/ライブ配信事例および視聴者参加型コンテンツのご紹介
eijikominami
0
62
EC2上のWordPressをShifterに移行してみた!
eijikominami
0
42
Other Decks in Technology
See All in Technology
個人開発から公式機能へ: PlaywrightとRailsをつなげた3年の軌跡
yusukeiwaki
11
2.9k
明日からできる!技術的負債の返済を加速するための実践ガイド~『ホットペッパービューティー』の事例をもとに~
recruitengineers
PRO
3
290
AndroidデバイスにFTPサーバを建立する
e10dokup
0
240
なぜ私は自分が使わないサービスを作るのか? / Why would I create a service that I would not use?
aiandrox
0
510
スタートアップ1人目QAエンジニアが QAチームを立ち上げ、“個”からチーム、 そして“組織”に成長するまで / How to set up QA team at reiwatravel
mii3king
2
1.3k
関東Kaggler会LT: 人狼コンペとLLM量子化について
nejumi
3
540
MC906491 を見据えた Microsoft Entra Connect アップグレード対応
tamaiyutaro
1
520
RECRUIT TECH CONFERENCE 2025 プレイベント【高橋】
recruitengineers
PRO
0
120
Datadogとともにオブザーバビリティを布教しよう
mego2221
0
130
Datadog APM におけるトレース収集の流れ及び Retention Filters のはなし / datadog-apm-trace-retention-filters
k6s4i53rx
0
330
速くて安いWebサイトを作る
nishiharatsubasa
9
11k
リアルタイム分析データベースで実現する SQLベースのオブザーバビリティ
mikimatsumoto
0
1.2k
Featured
See All Featured
Gamification - CAS2011
davidbonilla
80
5.1k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
RailsConf 2023
tenderlove
29
1k
Six Lessons from altMBA
skipperchong
27
3.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
99
18k
The Invisible Side of Design
smashingmag
299
50k
Building Your Own Lightsaber
phodgson
104
6.2k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
410
Building Applications with DynamoDB
mza
93
6.2k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
Transcript
デジタルコンテンツ部⾨ ⼩南英司 Media-JAWS 第2回 re:Late AWSを⽤いた 番組連動Webコンテンツ処理基盤の構築
2 ⾃⼰紹介 ⼩南 英司(こみなみ えいじ) 株式会社デジアサ チーフエンジニア サーバサイドの構築
から アプリの実装 まで プリキュア応援アプリの開発/実装 ⾼校野球速報アプリの開発/実装 ライブ動画配信⽤制作システムの構築 ...など @eijikominami
3 のご紹介 朝⽇放送(ABC)グループのデジタルコンテンツ企業 字幕制作 • パッケージ字幕の制作 •
リアルタイム字幕の付与 • 字幕制作ソフトウェアの販売 Web/データ放送コンテンツの制作 • 会社/番組公式Webサイト • 番組連動型Webコンテンツの制作 • データ放送コンテンツの制作 システム開発 • 報道原稿管理システム(Yahoo!ニュース等への出稿) • TVer向け素材納品システム • AWS APNコンサルティングパートナー セレクトTier
4 本⽇お話したいこと 放送と連動した視聴者参加型コンテンツで システムの安定性と開発/運⽤の効率性をいかに両⽴させるか ⾼い安定性が求められる ⼀発勝負/ミスできない 本編への影響,
営業案件 ... 負荷対策 バーストトラフィックの発⽣ 限られた予算 短い納期 少⼈数体制による開発 限りあるリソース TV / PC / Mobile Directors AWS Cloud 番組連動 Webコンテンツ 処理基盤 投票データ HTML/結果 結果 リモコンの ⾊ボタンを プッシュ!
5 システム構成図 Amazon CloudFront Amazon API Gateway Amazon Kinesis Data
Streams Amazon DynamoDB DynamoDB Streams Amazon CloudFront Amazon S3 AWS CloudFormation AWS CloudFormation AWS CloudFormation AWS Security Hub ユーザ
6 システム構成図 Amazon CloudFront Amazon API Gateway Amazon Kinesis Data
Streams Amazon DynamoDB DynamoDB Streams Amazon CloudFront Amazon S3 AWS CloudFormation AWS CloudFormation AWS CloudFormation AWS Security Hub 投票データの受付 結果データの表⽰ 集計処理 静的Webサイトのホスティング その他 ユーザ
効率性の向上と継続的インテグレーション 7
8 システムの完全サーバレス化 サーバレスアーキテクチャのみで実装 API Gateway, Kinesis, Lambda, DynamoDB,
S3, CloudFront ... EC2インスタンスなし メリット 運⽤保守に掛かる⼈的コストが⼤幅に低減される 「使った分だけ課⾦」のため利⽤料⾦も低減 注意を要する点 最⼤負荷を考慮した綿密な設計とチューニングが必要 サービスの仕様を正しく理解する必要がある
9 AWS SAMを⽤いた継続的デプロイ インフラもコードも⼀括管理 IAM Roleの作成 – Wizardで⾃動⽣成されたIAM
Roleの残骸だらけにならない – 必要最低限の権限のみを付与しているかコードベースで確認できる CloudWatch Alarmの作成 – どの項⽬をどのような閾値で監視しているかが明確になる – 似たような設定項⽬を繰り返し⼿動で設定する必要が無い Lambdaのソースコード管理 – 他のサービスの設定値とLambdaの環境変数をシンクロできる – ローカルで動作検証できる(AWS SAM Local) – 依存ライブラリのパッケージングも楽チン その他全てのAWSリソースをテンプレートに記述 メリット メリット メリット メリット メリット メリット メリット
デプロイの⾃動化 ⼿動操作を排除することで⼈為ミスを⼤幅に低減することが可能 他のリージョンへの展開や本番環境への反映をコマンド1つで実現 リソースの⼿動変更も簡単操作、必要な項⽬だけ 機能の有効化/無効化も設定可能
属⼈化の排除と品質の⼀定化 ブラックボックスを無くす 主要な機能をテンプレート化して共⽤ 10 AWS SAMを⽤いた継続的デプロイ セキュリティテンプレート Amazon Inspector Amazon GuardDuty AWS Config AWS CloudTrail Amazon S3
安定性の向上 11
:トラフィックを徐々に下げながら受け⽌める :CloudFrontとAPI Gateway キャッシュの活⽤ 12 負荷対策 Amazon API
Gateway Amazon Kinesis Data Streams Amazon DynamoDB DynamoDB Streams ユーザ POST GET Amazon DynamoDB 1000 records/sec 3taps 0.2million users 60万 taps/sec 2万 req/sec ⽣データの書き込み batchwriter.putItem() 4 records/sec 集計データの更新 updatetItem() atomic counter 新旧イメージを⽐較して 集計データを増減 10秒に1回送信
13 異常データへの対応 想定外のデータによる想定外の挙動を排除する Amazon API Gateway Amazon Kinesis Data
Streams Amazon DynamoDB DynamoDB Streams ユーザ Amazon DynamoDB パラメータのバリデート パスパラメータ クエリパラメータ Body(送信データ)のバリデート JSON Schemaを⽤いた構造チェック 必須項⽬の有無 データ型 下限値や上限値 デフォルト値 ...など 異常データの排除 データ型 空データ ⼊⼒データの⻑さや数 既存のデータとの⽐較 時刻情報との⽐較 ...など 例外処理の強化 ExceptionをCatchして 適切に処理する
14 システム構成図(再掲) Amazon CloudFront Amazon API Gateway Amazon Kinesis Data
Streams Amazon DynamoDB DynamoDB Streams Amazon CloudFront Amazon S3 AWS CloudFormation AWS CloudFormation AWS CloudFormation AWS Security Hub ユーザ
15 まとめ サーバレス + SAMで継続的インテグレーション 開発/運⽤の負荷を下げ、短期間/少⼈数による開発体制を実現 デプロイ⾃動化による⼈為ミスの低減と迅速なリソース展開を実現
属⼈化/ブラックボックス化を避けて、プロダクトの品質を⼀定に保つ 安定性向上を⽬指した設計と実装 負荷対策 異常データへの対応 SaaSサービスとしてのご提供も準備中
デジアサ東京オフィス、技術職募集中。 業務内容 技術担当 勤務地 浜松町クレアタワー(⼤⾨駅直結) お問合わせ • 弊社Webサイトのお問合せフォーム •
まで 16 そんなデジアサで働きませんか!