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
110
わかった気になるチューリングマシン
mochisuna
0
45
Elementary algorithm
mochisuna
0
24
ssh-dynamic-forward
mochisuna
0
57
ServerlessFramework-Trello
mochisuna
0
29
TechBash Slack Reaction Award
mochisuna
0
45
techbash-clasp
mochisuna
0
84
vuejs-night-publish
mochisuna
0
1k
surprise-lt-for-intern-vol-2
mochisuna
0
52
Other Decks in Technology
See All in Technology
「魔法少女まどか☆マギカ Magia Exedra」の必殺技演出を徹底解剖! -キャラクターの魅力を最大限にファンに届けるためのこだわり-
gree_tech
PRO
0
570
20250903_1つのAWSアカウントに複数システムがある環境におけるアクセス制御をABACで実現.pdf
yhana
2
350
Nstockの一人目エンジニアが 3年間かけて向き合ってきた セキュリティのこととこれから〜あれから半年〜
yo41sawada
0
200
AWSで始める実践Dagster入門
kitagawaz
0
290
フィンテック養成勉強会#56
finengine
0
130
「何となくテストする」を卒業するためにプロダクトが動く仕組みを理解しよう
kawabeaver
0
190
RSCの時代にReactとフレームワークの境界を探る
uhyo
9
3k
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
30k
Oracle Cloud Infrastructure:2025年8月度サービス・アップデート
oracle4engineer
PRO
0
200
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
9
4.3k
Bye-Bye Query Spaghetti: Write Queries You'll Actually Understand Using Pipelined SQL Syntax
tobiaslampertlotum
0
140
AWS環境のリソース調査を Claude Code で効率化 / aws investigate with cc devio2025
masahirokawahara
2
1.3k
Featured
See All Featured
Balancing Empowerment & Direction
lara
3
610
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Fireside Chat
paigeccino
39
3.6k
Site-Speed That Sticks
csswizardry
10
810
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Faster Mobile Websites
deanohume
309
31k
A designer walks into a library…
pauljervisheath
207
24k
A Modern Web Designer's Workflow
chriscoyier
696
190k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
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Ͱϓογϡ৴Λ։ൃ • αʔϏεͷछྨ͕๛ • Έ߹ΘͤͰເ͕͕Δ • ͍͜ͳ͢·Ͱ͕େม