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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Hirokazu Maruta
December 21, 2017
Technology
0
42
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
120
わかった気になるチューリングマシン
mochisuna
0
48
Elementary algorithm
mochisuna
0
27
ssh-dynamic-forward
mochisuna
0
61
ServerlessFramework-Trello
mochisuna
0
30
TechBash Slack Reaction Award
mochisuna
0
45
techbash-clasp
mochisuna
0
90
vuejs-night-publish
mochisuna
0
1.1k
surprise-lt-for-intern-vol-2
mochisuna
0
55
Other Decks in Technology
See All in Technology
データ民主化のための LLM 活用状況と課題紹介(IVRy の場合)
wxyzzz
2
700
AzureでのIaC - Bicep? Terraform? それ早く言ってよ会議
torumakabe
1
520
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
68k
20260204_Midosuji_Tech
takuyay0ne
1
140
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
920
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
0
120
Oracle Cloud Observability and Management Platform - OCI 運用監視サービス概要 -
oracle4engineer
PRO
2
14k
CDK対応したAWS DevOps Agentを試そう_20260201
masakiokuda
1
250
Introduction to Bill One Development Engineer
sansan33
PRO
0
360
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
2.3k
GitLab Duo Agent Platform × AGENTS.md で実現するSpec-Driven Development / GitLab Duo Agent Platform × AGENTS.md
n11sh1
0
130
What happened to RubyGems and what can we learn?
mikemcquaid
0
280
Featured
See All Featured
Utilizing Notion as your number one productivity tool
mfonobong
3
220
Typedesign – Prime Four
hannesfritz
42
2.9k
Code Review Best Practice
trishagee
74
20k
The untapped power of vector embeddings
frankvandijk
1
1.6k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
430
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.6k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
6.9k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
240
Deep Space Network (abreviated)
tonyrice
0
47
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
SEO for Brand Visibility & Recognition
aleyda
0
4.2k
Code Reviewing Like a Champion
maltzj
527
40k
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Ͱϓογϡ৴Λ։ൃ • αʔϏεͷछྨ͕๛ • Έ߹ΘͤͰເ͕͕Δ • ͍͜ͳ͢·Ͱ͕େม