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-lt-push-notification
Search
Hirokazu Maruta
December 21, 2017
Technology
0
38
aws-lt-push-notification
AWS勉強会での発表資料。
PUSH通知の構成について登壇しました。
Hirokazu Maruta
December 21, 2017
Tweet
Share
More Decks by Hirokazu Maruta
See All by Hirokazu Maruta
encryption
mochisuna
0
100
わかった気になるチューリングマシン
mochisuna
0
45
Elementary algorithm
mochisuna
0
24
ssh-dynamic-forward
mochisuna
0
55
ServerlessFramework-Trello
mochisuna
0
29
TechBash Slack Reaction Award
mochisuna
0
45
techbash-clasp
mochisuna
0
82
vuejs-night-publish
mochisuna
0
1k
surprise-lt-for-intern-vol-2
mochisuna
0
51
Other Decks in Technology
See All in Technology
BEYOND THE RAG🚀 ~とりあえずRAG?を超えていけ! 本当に使えるAIエージェント&生成AIプロダクトを目指して~ / BEYOND-THE-RAG-Toward Practical-GenerativeAI-Products-AOAI-DevDay-2025
jnymyk
4
230
SRE with AI:実践から学ぶ、運用課題解決と未来への展望
yoshiiryo1
1
680
Webの技術とガジェットで那須の子ども達にワクワクを! / IoTLT_20250720
you
PRO
0
120
Microsoft Fabric ガバナンス設計の一歩目を考える
ryomaru0825
1
260
なぜAI時代に 「イベント」を中心に考えるのか? / Why focus on "events" in the age of AI?
ytake
2
510
Step Functions First - サーバーレスアーキテクチャの新しいパラダイム
taikis
1
270
怖くない!GritQLでBiomeプラグインを作ろうよ
pal4de
1
120
OpenTelemetry の Log を使いこなそう
biwashi
5
990
Snowflake のアーキテクチャは本当に筋がよかったのか / Data Engineering Study #30
indigo13love
0
250
AIコードアシスタントとiOS開発
jollyjoester
1
230
Railsの限界を超えろ!「家族アルバム みてね」の画像・動画の大規模アップロードを支えるアーキテクチャの変遷
ojima_h
3
390
20250719_JAWS_kobe
takuyay0ne
1
160
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
6.5k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Optimizing for Happiness
mojombo
379
70k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
760
Why Our Code Smells
bkeepers
PRO
337
57k
GitHub's CSS Performance
jonrohan
1031
460k
Fireside Chat
paigeccino
37
3.5k
Transcript
AWSͰPUSHΛ͠Α͏ ϒϥβϓογϡ৴Ͱར༻͍ͯ͠ΔAWSߏ ·ΔͨͻΖ͔ͣ
͜͡͠ΐ͏͔͍ ؙాʢ·ΔͨͻΖ͔ͣʣ • ɹ • ϓϥοτϑΥʔϜ։ൃ෦(௨৴νʔϜ) • झຯɿϐΞϊɺϘυήɺΞΠίϯ࡞ʢΧούʣ • ͓ࣄɿAWSɺGoݴޠɺϝϯλʔ
͢͜ͱ • ൪ • ͬͬͬ͘͟ΓҰ࿈ͷྲྀΕ • ϒϥβϓογϡ৴ͷAWSઃܭ • ͍ͨ͠ͱ͜ʢ͕࣌ؒ͋ͬͨΒʣ •
·ͱΊ
ಥͰ͕࣭͢Ͱ͢
ϓογϡ௨ͬͯ ͝ଘͰ͔͢ʁ
Ϣʔβʔ ొ αΠτ ৴ऀ
Ϣʔβʔ ৴ ৴ऀ αΠτ
Ϣʔβʔ ৴ऀ αΠτ
ࢲࣄͰ͕͢
10݄ʹɺϓογϡ௨Λ ϦϦʔε͠·ͨ͠
σϞ
Ͳ͏࣮ͬͯݱ͍ͯ͠Δ͔
ɹɹͷྗΛ ;ΜͩΜʹͬͯ·͢
શମ૾ ৴༧ Ϣʔβʔʹಧ͘ ※ϩάऩूج൫Ҏ֎ ৴ऀ
શମ૾ ৴༧ Ϣʔβʔʹಧ͘ ※ϩάऩूج൫Ҏ֎ શ෦આ໌Ͱ͖ͳ͍ ৴ऀ
ͬͬͬ͘͟Γશମ૾
ػೳͰάϧʔϓ͚ Ϣʔβʔ ৴ऀ ཧը໘ ϩάΠϯ νΣοΫ εέδϡʔϧ༧ ΦϓτΠϯϖʔδ ϒϥβϓογϡ৴
Ϣʔβʔ͕ΦϓτΠϯ Ϣʔβʔ ৴ऀ ϩάΠϯ νΣοΫ ΦϓτΠϯϖʔδ ৴Λड͚औΔ
৴ऀ͕εέδϡʔϧ༧ Ϣʔβʔ ৴ऀ ཧը໘ εέδϡʔϧ༧ ࢦఆ࣌ؒͰ৴༧
༧ͷ࣌ؒʹൃՐ Ϣʔβʔ ৴ऀ εέδϡʔϧ༧ Ϣʔβʔʹϓογϡ͕ಧ͘ ϒϥβϓογϡ৴
Ұ࿈ͷྲྀΕ Ϣʔβʔ ৴ऀ ཧը໘ ϩάΠϯ νΣοΫ εέδϡʔϧ༧ ΦϓτΠϯϖʔδ ϒϥβϓογϡ৴
ࠓճൃද͢Δͷ͜͜ Ϣʔβʔ ৴ऀ εέδϡʔϧ༧ ϒϥβϓογϡ৴ Ϣʔβʔʹϓογϡ͕ಧ͘
ϒϥβϓογϡ৴
͜Ε Ϣʔβʔ εέδϡʔϧ༧ ϒϥβϓογϡ৴ ৴ͷ෦ ৴ऀ
AWSߏ Ϣʔβʔ ৴ऀ
ΑΓৄ͘͠ղ ৴ऀ worker Elastic Beanstalk •LoadBalancer •AutoScaling •EC2
ΑΓৄ͘͠ղ worker ʂ์͓͍ͬͯͯαʔϏε͕ಈ ͘ʂ ৴ऀ
ΑΓৄ͘͠ղ worker ↑ ৴ରऔಘ ↑ ৴αʔϏεʹ ͛Δ ৴ऀ
ΑΓৄ͘͠ղʢதʣ worker தGoݴޠ ৴ऀ
ΑΓৄ͘͠ղʢ࿈ܞʣ worker ElastiCache ʢΩϟογϡʣ SQS ʢΩϡʔʣ ৴ऀ
worker FireBase: Chrome MWP : firefox ΑΓৄ͘͠ղʢ৴ʣ ৴ऀ
AWSߏ Ϣʔβʔ ৴ऀ
εέδϡʔϧ༧
͜Ε Ϣʔβʔ εέδϡʔϧ༧ ϒϥβϓογϡ৴ ༧ͷ෦ ৴ऀ
جຊࢥ εέδϡʔϧ༧ Ϣʔβʔ ༧ ࢦఆ࣌ؒͰൃՐ ৴ऀ
جຊࢥ εέδϡʔϧ༧ Ϣʔβʔ ༧ ࢦఆ࣌ؒͰൃՐ ࣌ؒʹͳͬͨΒ ϒϥβϓογϡΛݺͿ ৴ऀ
εέδϡʔϧ༧ ༧ ৴ऀ
৴࣌ࠁʹൃՐ
৴࣌ࠁʹൃՐ
Lambdaͷ࣋ͪ࣌ؒ
5 ʼ
Lambda5͚ͩɾɾɾ େྔʹૹΔʂ
Lambda5͚ͩɾɾɾ ؒʹ߹Θͳ͍ɾɾɾ
ΈΜͳͰॲཧ͢Ε͜Θ͘ͳ ͍ʂ ॲཧΛׂ ॱ࣮࣍ߦ
εέδϡʔϧ৴
શମ૾ Ϣʔβʔ ৴ऀ
͍ͨ͠ͱ͜ ʢ͕࣌ؒ͋ͬͨΒʣ
Elastic Beanstalk • ͍ͬ͢͝ศརͩΑ
Elastic Beanstalk • ͍ͬ͢͝ศརͩΑ → ͰɺڽͬͨઃఆΛ͢Δͷͱͯਏ͍
Elastic Beanstalk • ͍ͬ͢͝ศརͩΑ → ͰɺڽͬͨઃఆΛ͢Δͷͱͯਏ͍ ebextensions
Elastic Beanstalk • ͍ͬ͢͝ศརͩΑ → ͰɺڽͬͨઃఆΛ͢Δͷͱͯਏ͍ ebextensionsʢ΄ΜͷҰ෦ʣ
Elastic Beanstalk • ࠓͳΒFargate͏ Fargate • ͍͢͝ʢখฒʣ ※ݱঢ়όʔδχΞͷΈ
ElasticCache • ͜Ε࡞ͬͨ࣌DAX͕ͳ͔ͬͨΜͰ͢ɾɾɾ DAX • DynamoDB Accelerator • ΩϟογϡαʔϏε •
DynamoDBͷલஈʹඋ
Lambda • όʔδϣχϯάͯ͠ͳ͍ʢݱࡏʣ • σϓϩΠ࣌ʹώϡʔϚϯΤϥʔ͕ා͍ʢࠓ ʣ • ରࡦ͠ͳ͍ͱʢͳΔͰʣ
Kinesis Firehose • ετϦʔϜͷλΠϛϯάϥϯμϜ • ϩάใͱ͔Ͱॱ൪͕ॏཁͳ߹ζϨΔ → ͪΌΜͱͨ͠ରࡦ͕ඞཁ → ޙͰࠔΔʢ࣮ࡍࠔͬͨʣ
Kinesis Firehose • ετϦʔϜͷλΠϛϯάϥϯμϜ • ϩάใͱ͔Ͱॱ൪͕ॏཁͳ߹ζϨΔ → ͪΌΜͱͨ͠ରࡦ͕ඞཁ → ޙͰࠔΔʢ࣮ࡍࠔͬͨʣ
→ ޙͰࠔΔʢϗϯτࠔͬͨʣ
IAM Role • ໌ࣔతͳڋ൱ͯ͢ͷڐՄʹ༏ઌ • υΩϡϝϯτʹॻ͍ͯ͋Δ •AɿAllow •Bɿɹ- •CɿDeny •AɿAllow
•Bɿɹ- •Cɿɹ- •AɿAllow •BɿDeny •CɿDeny ʴ
IAM Role • ໌ࣔతͳڋ൱ͯ͢ͷڐՄʹ༏ઌ • υΩϡϝϯτʹॻ͍ͯ͋Δ •AɿAllow •Bɿɹ- •CɿDeny •AɿAllow
•BɿAllow •CɿAllow •AɿAllow •BɿAllow •CɿDeny ʴ
ຐԦDeny ͳΜͰౖΒΕͯΔͷ͔͑ͳ͘ͳΔ
IAM Role • ໌ࣔతͳڋ൱ͯ͢ͷڐՄʹ༏ઌ • υΩϡϝϯτʹॻ͍ͯ͋Δ •AɿAllow •Bɿɹ- •CɿDeny •AɿAllow
•BɿAllow •CɿAllow •AɿAllow •BɿAllow •CɿDeny ʴ ཧ༝͕ͳ͍ͳΒ Deny͢Δͳ
CloudFormation ศརʂɾɾɾͰ
CloudFormation ศརʂɾɾɾͰ • ͭΒ͍ʢYAMLʣ • ͭΒ͍ʢ৬ਓൃੜʣ • ͭΒ͍ʢΤϥʔ͑ͳ͍ʣ
CloudFormation ศརʂɾɾɾͰ • ͭΒ͍ʢYAMLʣ • ͭΒ͍ʢ৬ਓൃੜʣ • ͭΒ͍ʢΤϥʔ͑ͳ͍ʣ
·ͱΊ
None
͍͢͝ʢখฒʣ
͍͢͝ʢখฒʣ
Έ߹ΘͤͰ ϓογϡ৴Ͱ͖ͪΌ͏
ଓʑͱྑ͍αʔϏε͕ ग़͖͍ͯͯ·͢
ྑ͍ɹɹɹɹϥΠϑΛʂ
͓͠·͍
·ͱΊ • AWSͰϓογϡ৴Λ։ൃ • αʔϏεͷछྨ͕๛ • Έ߹ΘͤͰເ͕͕Δ • ͍͜ͳ͢·Ͱ͕େม