Share
Embed
サーバレスで動かすトークン発行プラットフォーム.pdf
JAWS DAYS 2019で発表した資料になります。
[Serverless] サーバレスで動かすトークン発行プラットフォーム
shunp
February 23, 2019
Transcript
46 slides
-
ۙͰ༻͖ͯͨ͠αʔϏε Amazon Elastic Block Store (EBS) Amazon Simple Storage Service
(S3) AWS Key Management Service AWS Identity and Access Management (IAM) AWS CloudHSM Amazon Cognito Amazon CloudFront Amazon VPC PrivateLink Amazon Route 53 AWS Amplify AWS AppSync Amazon CloudWatch AWS CloudFormation AWS CloudTrail Amazon Lex AWS X-Ray Amazon API Gateway AWS CodePipeline AWS CodeStar AWS Cloud9 AWS CodeBuild AWS CodeCommit Amazon Aurora Amazon DynamoDB Amazon ElastiCache Amazon Lightsail AWS Fargate AWS Elastic Beanstalk AWS Lambda Amazon Elastic Container Service Amazon Sumerian Amazon Simple Notification Service Amazon Simple Queue Service AWS Step Functions Amazon Polly Amazon Kinesis -
ͭͷطࣄ࣮Λͭͬͯ͘͠·͓͏ʂ ൃ৴ͯ͠ ڞײΛूΊΔ ࣾͰར༻Ͱ͖ ΔπʔϧΛ࡞Δ ֎෦Ͱൃද͢Δ νϟϨϯδ Ͱ͖Δڥ ͍͚͜͠ΎΜ͍ Ծඪɿ4JNQMFY5PLFO
Ծ௨՟ Λൃߦͯࣾ͠Ͱར༻ͯ͠Β͏ ࣾͰར༻Ͱ͖ΔπʔϧΛ࡞Δ Ϣʔεέʔεఆ શମΞʔΩઃܭ %#ઃܭ Ծ௨՟ൃߦ ϒϩοΫνΣʔϯଓ "1*࣮ αʔόϨεαʔϏε ͦͷଞ"84αʔϏε 8FC6* ϞόΠϧ6* ٕज़తͳνϟϨϯδཁૉ શମઃܭ ϒϩοΫνΣʔϯ όοΫΤϯυ ϑϩϯτΤϯυ -
ͭͷطࣄ࣮Λͭͬͯ͘͠·͓͏ʂ ൃ৴ͯ͠ ڞײΛूΊΔ ࣾͰར༻Ͱ͖ ΔπʔϧΛ࡞Δ ֎෦Ͱൃද͢Δ νϟϨϯδ Ͱ͖Δڥ ͍͚͜͠ΎΜ͍ Ծඪɿ4JNQMFY5PLFO
Ծ௨՟ Λൃߦͯࣾ͠Ͱར༻ͯ͠Β͏ ࣾͰར༻Ͱ͖ΔπʔϧΛ࡞Δ Ϣʔεέʔεఆ શମΞʔΩઃܭ %#ઃܭ Ծ௨՟ൃߦ ϒϩοΫνΣʔϯଓ "1*࣮ αʔόϨεαʔϏε ͦͷଞ"84αʔϏε 8FC6* ϞόΠϧ6* ٕज़తͳνϟϨϯδཁૉ શମઃܭ ϒϩοΫνΣʔϯ όοΫΤϯυ ϑϩϯτΤϯυ -
ͳͥ͜ͷ׆ಈ͕ඞཁͳͷ͔ʁ ͜ͷ׆ಈʹΑΓձࣾʹͲΜͳϝϦοτ͕͋Δͷ͔ʁ 1PJOU Πϊϕʔγϣϯʹͭͳ͕Δ׆ಈ ɾΠϊϕʔγϣϯΛੜΈग़͢͜ͱΛձࣾͷଘࡏҙٛͱͯ͠ଊ͍͑ͯΔاۀɻ ɾϒϩοΫνΣʔϯ͕ۚ༥ۀքͰ࠷ϗοτͳͰ͋ͬͨɻ ָ͕ࣾ͘͠ͳΔπʔϧΛఏڙ
ɾτʔΫϯͱ͍͏֎తใुͰɺීஈͷࣄʹผͷҙຯ͚ͮΛ࣋ͨͤΔɻ ɾࣾ֎ʹग़͞ͳ͍ͷͰϦεΫগͳ͍ɻ ٕज़αϯυϘοΫεͱͯ͠ར༻ ɾઓ͍ٕͨ͠ज़Λࢼ͢ͱͯ͠ར༻͢Δ͜ͱΛએݴɻ ɾࢼͨ͠ϊϋͷڞ༗ʹΑΔࣾͷٕज़ྗ্Λݟਾ͑Δɻ ɾྗΛ࣋ͯ༨ͨ͠एखΛर͏ϑΟʔϧυʹར༻ͯ͠΄͍͠ɻ ׆ಈࣗମͷঝೝ ߟهࣄΛࣾͰެ։ -
ͭͷطࣄ࣮Λͭͬͯ͘͠·͓͏ʂ ൃ৴ͯ͠ ڞײΛूΊΔ ࣾͰར༻Ͱ͖ ΔπʔϧΛ࡞Δ ֎෦Ͱൃද͢Δ νϟϨϯδ Ͱ͖Δڥ ͍͚͜͠ΎΜ͍ Ծඪɿ4JNQMFY5PLFO
Ծ௨՟ Λൃߦͯࣾ͠Ͱར༻ͯ͠Β͏ ࣾͰར༻Ͱ͖ΔπʔϧΛ࡞Δ Ϣʔεέʔεఆ શମΞʔΩઃܭ %#ઃܭ Ծ௨՟ൃߦ ϒϩοΫνΣʔϯଓ "1*࣮ αʔόϨεαʔϏε ͦͷଞ"84αʔϏε 8FC6* ϞόΠϧ6* ٕज़తͳνϟϨϯδཁૉ શମઃܭ ϒϩοΫνΣʔϯ όοΫΤϯυ ϑϩϯτΤϯυ -
·ͣඞཁ࠷খݶͷػೳʹूத͢Δ ᶃߴরձ ࣗͲͷ͘Β͍4JNQMFY5PLFOΛ͍࣋ͬͯΔ͔֬ೝͰ͖Δ ᶄτʔΫϯडऔ Կ͔ͷτϦΨʔͰ4JNQMFY5PLFOΛΒ͑Δ ։ൃલఏ ਓ͕͍ͳ͍ খ͕૽͍ͰΔ͚ͩ ͕࣌ؒͳ͍ ਖ਼ຊۀͰख͍ͬͺ͍ͷՔಇ
͕ࣝͳ͍ Γ͍ͨ͜ͱ৽ͨͳྖҬ 6*ͭ͘Δͷ͔͔࣌ؒΔ 4MBDLΛ6*ͱͯ͠ར༻ ೝূࡁΈલఏ Πϯϑϥߏங͔͔࣌ؒΔ αʔόϨε-BNCEBͰߏங ࣗಈతʹ%ZOBNP%#͕બࢶʹ ࣮ૣ͘ऴΘΒ͍ͤͨ पลϥΠϒϥϦͷ๛ͳ /PEFKTͰ࣮ -
ͭͷطࣄ࣮Λͭͬͯ͘͠·͓͏ʂ ൃ৴ͯ͠ ڞײΛूΊΔ ࣾͰར༻Ͱ͖ ΔπʔϧΛ࡞Δ ֎෦Ͱൃද͢Δ νϟϨϯδ Ͱ͖Δڥ ͍͚͜͠ΎΜ͍ Ծඪɿ4JNQMFY5PLFO
Ծ௨՟ Λൃߦͯࣾ͠Ͱར༻ͯ͠Β͏ ࣾͰར༻Ͱ͖ΔπʔϧΛ࡞Δ Ϣʔεέʔεఆ શମΞʔΩઃܭ %#ઃܭ εϚʔτίϯτϥΫτ ಠࣗ௨՟σϓϩΠ "1*࣮ αʔόϨεαʔϏε ͦͷଞ"84αʔϏε 8FC6* ϞόΠϧ6* "3 ٕज़తͳνϟϨϯδཁૉ શମઃܭ ϒϩοΫνΣʔϯ όοΫΤϯυ ϑϩϯτΤϯυ -
ͭͷطࣄ࣮Λͭͬͯ͘͠·͓͏ʂ ൃ৴ͯ͠ ڞײΛूΊΔ ࣾͰར༻Ͱ͖ ΔπʔϧΛ࡞Δ ֎෦Ͱൃද͢Δ νϟϨϯδ Ͱ͖Δڥ ͍͚͜͠ΎΜ͍ Ծඪɿ4JNQMFY5PLFO
Ծ௨՟ Λൃߦͯࣾ͠Ͱར༻ͯ͠Β͏ ࣾͰར༻Ͱ͖ΔπʔϧΛ࡞Δ Ϣʔεέʔεఆ શମΞʔΩઃܭ %#ઃܭ εϚʔτίϯτϥΫτ ಠࣗ௨՟σϓϩΠ "1*࣮ αʔόϨεαʔϏε ͦͷଞ"84αʔϏε 8FC6* ϞόΠϧ6* "3 ٕज़తͳνϟϨϯδཁૉ શମઃܭ ϒϩοΫνΣʔϯ όοΫΤϯυ ϑϩϯτΤϯυ -
Amazon API Gateway Amazon DynamoDB AWS Lambda ࠓճͷొαʔϏε AWS Lambda
&$ͳͲͷαʔόΛඞཁͱͤͣʹίʔυͷ࣮ߦ͕Ͱ͖Δɻ ྫ͑ɺ;JQʹݻΊͨιʔείʔυΛ-BNCEBͷίϯιʔϧը໘͔Β Ξοϓϩʔυ͢Δ͚ͩͰίʔυΛϦϞʔτͰ࣮ߦͰ͖Δɻ /PEFKTͷ࣮ߦڥͱͯ͠ར༻ Amazon API Gateway 3&45"1*8FC4PDLFU"1*Λ࡞͢ΔࡍͷΠϯλϑΣʔεΛ؆୯ʹ༻ҙͰ͖Δɻ ݺͼग़͍ͨ͠-BNCEBΛϚοϐϯάͰ͖ɺ"1*(BUFXBZ -BNCEBͰ"1*ΛߏஙՄೳɻ τϥϑΟοΫͷཧɺ*".ͱΈ߹ΘͤͨೝՄ੍ޚͰ͖Δɻ ϦΫΤετΛड͚Δ"1*ΤϯυϙΠϯτΛ࡞ Amazon DynamoDB ΩʔόϦϡʔ͓ΑͼυΩϡϝϯτܕͷσʔλϕʔεαʔϏεɻ εέʔϧཧΠϯετʔϧॲཧͳͲ͕ෆཁͰ؆୯ʹར༻Ͱ͖Δɻ -BNCEBͷσʔλॻ͖ࠐΈઌͱͯ͠ΘΕΔ͜ͱ͕ଟ͍ɻ ϒϩοΫνΣʔϯʹॻ͖ࠐ·ͳ͍σʔλͷอଘઌͱͯ͠ར༻ -
ᶃߴ֬ೝ ᶄτʔΫϯडऔ "1*࣮ &UIFSFVN ΞυϨεੜ ΞυϨε Ϣʔβใ ϢʔβใͱΞυϨεͷ ϚοϐϯάใΛอଘ ςετωοτ
τʔΫϯอ༗ྔΛ ॻ͖ࠐΉ XFCKT Λຬͨ͢࠷ݶͷΞʔΩςΫνϟશମ૾ ίϚϯυʹҾ ͱͯ͠࿈ܞ ˒4MBDL͔Β"1*(BUFXBZ͕ ൃߦ͢ΔΤϯυϙΠϯτ ɹɹɹ3&45"1*ͷϦΫΤετ͕ൃੜ ˒εϚʔτίϯτϥΫτͰ ɹɹཧ͠ʹ͍͘Ϛοϐϯάใ ɹɹɹ%ZOBNP%#ॻ͖ࠐΈ ˒ϩδοΫ/PEFKTͰهड़͠ ɹɹ-BNCEBΞοϓϩʔυ ˒XFCKTͱ͍͏ϥΠϒϥϦΛͬͯ ɹɹ&UIFSFVNωοτϫʔΫʹσϓϩΠ͞Εͨ ɹɹɹεϚʔτίϯτϥΫτΛૢ࡞ Amazon API Gateway Amazon DynamoDB AWS Lambda MetaMask Slack Ethereum -
ᶃߴ֬ೝ ᶄτʔΫϯडऔ "1*࣮ &UIFSFVN ΞυϨεੜ ΞυϨε Ϣʔβใ ϢʔβใͱΞυϨεͷ ϚοϐϯάใΛอଘ ςετωοτ
τʔΫϯอ༗ྔΛ ॻ͖ࠐΉ XFCKT Λຬͨ͢࠷ݶͷΞʔΩςΫνϟશମ૾ ίϚϯυʹҾ ͱͯ͠࿈ܞ ˒4MBDL͔Β"1*(BUFXBZ͕ ൃߦ͢ΔΤϯυϙΠϯτ ɹɹɹ3&45"1*ͷϦΫΤετ͕ൃੜ ˒εϚʔτίϯτϥΫτͰ ɹɹཧ͠ʹ͍͘Ϛοϐϯάใ ɹɹɹ%ZOBNP%#ॻ͖ࠐΈ ˒ϩδοΫ/PEFKTͰهड़͠ ɹɹ-BNCEBΞοϓϩʔυ ˒XFCKTͱ͍͏ϥΠϒϥϦΛͬͯ ɹɹ&UIFSFVNωοτϫʔΫʹσϓϩΠ͞Εͨ ɹɹɹεϚʔτίϯτϥΫτΛૢ࡞ Amazon API Gateway Amazon DynamoDB AWS Lambda αʔόϨεͰzΔ͖͜ͱzʹूதͰ͖ͨ -
ͭͷطࣄ࣮Λͭͬͯ͘͠·͓͏ʂ ࣾͰར༻Ͱ͖ ΔπʔϧΛ࡞Δ ֎෦Ͱൃද͢Δ νϟϨϯδ Ͱ͖Δڥ ͍͚͜͠ΎΜ͍ Ծඪɿ4JNQMFY5PLFO Ծ௨՟ Λൃߦͯࣾ͠Ͱར༻ͯ͠Β͏
ࣾͰར༻Ͱ͖ΔπʔϧΛ࡞Δ Ϣʔεέʔεఆ શମΞʔΩઃܭ %#ઃܭ εϚʔτίϯτϥΫτ ಠࣗ௨՟σϓϩΠ "1*࣮ αʔόϨεαʔϏε ͦͷଞ"84αʔϏε 8FC6* ϞόΠϧ6* "3 ٕज़తͳνϟϨϯδཁૉ શମઃܭ ϒϩοΫνΣʔϯ όοΫΤϯυ ϑϩϯτΤϯυ ൃ৴ͯ͠ ڞײΛूΊΔ -
ͱΓ͋͑ͣ ࢀՃˍϒʔεग़ల͕ܾఆ ͜ͷ··ͷϨϕϧͰྑ͍ͷ͔ʜʁ /PEFKTΛ࣮ͬͨ ϥΠτͳ"1*ͳΒ (PݴޠͰ։ൃ͍ͨ͠ αʔόϨε ίʔυཧͯ͠ ෳͷ-BNCEBΛར༻ 4MBDLʹΑΔ6*ͷলུ
ࢀՃऀ͕ϩάΠϯͰ͖Δ 7VFKTͰ8FCը໘Λͭ͘Δ ػೳ͕ߴ֬ೝˍτʔΫϯडऔ ࢀՃऀ͕ͦͷͰ τʔΫϯΛૹΓ߹͑ΔαʔϏε &3$ʹΑΔτʔΫϯͷൃߦ ఆྔੑͱఆੑੑΛ݉Ͷඋ͑ͨ &3$Ͱ ௨՟ͷϓϥοτϑΥʔϜΛͭ͘Δ ཁ͔݅Βٕज़ཁૉ·ͰશͯΛΞοϓσʔτ͢Δ 4MBDLϝοηʔδʹΑΔߴ֬ೝ "3Λͬͨ ήʔϜܕΠϯλϑΣʔε -
ࣗຫͰ͖Δٕज़ཁૉΛऔΓೖΕΑ͏ ൃ৴ͯ͠ ڞײΛूΊΔ ࣾͰར༻Ͱ͖ ΔπʔϧΛ࡞Δ ֎෦Ͱൃද͢Δ νϟϨϯδ Ͱ͖Δڥ ͍͚͜͠ΎΜ͍ Ծඪɿ4JNQMFY5PLFO
Ծ௨՟ Λൃߦͯࣾ͠Ͱར༻ͯ͠Β͏ ֎෦Ͱൃද͢Δ Ϣʔεέʔε࠶ཧ "1*Ճ࡞ %#ઃܭमਖ਼ &3$ϑΥʔΫ &3$ &3$ "1*ܦ༝Ͱ௨՟Ճ (Pݴޠॻ͖͑ -BNCEBBTB$PEF 7VFKTͰ8FCը໘࡞ J1BEͰ"3ମݧ 3FWFBMKTεϥΠυͷڞ༗ ٕज़తͳνϟϨϯδཁૉ શମઃܭ ϒϩοΫνΣʔϯ όοΫΤϯυ ϑϩϯτΤϯυ ԾඪɿτʔΫϯൃߦΛϕʔεͱͨ͠ϓϨθϯαϙʔτΞϓϦͷ։ൃ -
ൃදऀ༻1$ εΫϦʔϯ Ӿཡ Ө ϓϨθϯςʔλ ௌߨऀ ݱεϥΠυͷϖʔδ͕ ࣗͷεϚϗʹಉظ͞ΕΔ ൃදεϥΠυ ࠷ߴ
͍͍Ͷ ͏ʔΜ ίϝϯτදࣔཝ Ξϯέʔτ εϥΠυ ίϝϯτදࣔཝ <௨ৗεϥΠυ> <Ξϯέʔτ࣌> Ξϯέʔτʹ͑Δͱ τʔΫϯΛड͚औΔ͜ͱ͕Ͱ͖Δ ༻ҙ͞ΕͨίϝϯτϘλϯΛԡ͢͜ͱͰ ϓϨθϯςʔλτʔΫϯΛૹΔ͜ͱ͕Ͱ͖Δ τʔΫϯͷྲྀ௨ྔΛεϥΠυ͝ͱʹूܭ ϑΟʔυόοΫ ϓϨθϯαϙʔτΞϓϦ Ξϯέʔτϖʔδ͕Ө͞ΕΔͱ εϚϗͷ6*͕มԽ ϓϨθϯςʔλͷൃදʹ߹ΘͤͯಠࣗτʔΫϯΛૹΓ߹͏ΞϓϦΛ Πϕϯτग़లʹ͚ͯ࡞ -
ࣗຫͰ͖Δٕज़ཁૉΛऔΓೖΕΑ͏ ൃ৴ͯ͠ ڞײΛूΊΔ ࣾͰར༻Ͱ͖ ΔπʔϧΛ࡞Δ ֎෦Ͱൃද͢Δ νϟϨϯδ Ͱ͖Δڥ ͍͚͜͠ΎΜ͍ Ծඪɿ4JNQMFY5PLFO
Ծ௨՟ Λൃߦͯࣾ͠Ͱར༻ͯ͠Β͏ ֎෦Ͱൃද͢Δ Ϣʔεέʔε࠶ཧ "1*Ճ࡞ %#ઃܭमਖ਼ &3$ϑΥʔΫ &3$ &3$ "1*ܦ༝Ͱ௨՟Ճ (Pݴޠॻ͖͑ -BNCEBBTB$PEF 7VFKTͰ8FCը໘࡞ J1BEͰ"3ମݧ 3FWFBMKTεϥΠυͷڞ༗ ٕज़తͳνϟϨϯδཁૉ શମઃܭ ϒϩοΫνΣʔϯ όοΫΤϯυ ϑϩϯτΤϯυ ԾඪɿτʔΫϯൃߦΛϕʔεͱͨ͠ϓϨθϯαϙʔτΞϓϦͷ։ൃ -
ࣗຫͰ͖Δٕज़ཁૉΛऔΓೖΕΑ͏ ൃ৴ͯ͠ ڞײΛूΊΔ ࣾͰར༻Ͱ͖ ΔπʔϧΛ࡞Δ ֎෦Ͱൃද͢Δ νϟϨϯδ Ͱ͖Δڥ ͍͚͜͠ΎΜ͍ Ծඪɿ4JNQMFY5PLFO
Ծ௨՟ Λൃߦͯࣾ͠Ͱར༻ͯ͠Β͏ ֎෦Ͱൃද͢Δ Ϣʔεέʔε࠶ཧ "1*Ճ࡞ %#ઃܭमਖ਼ &3$ϑΥʔΫ &3$ &3$ "1*ܦ༝Ͱ௨՟Ճ (Pݴޠॻ͖͑ -BNCEBBTB$PEF 7VFKTͰ8FCը໘࡞ J1BEͰ"3ମݧ 3FWFBMKTεϥΠυͷڞ༗ ٕज़తͳνϟϨϯδཁૉ શମઃܭ ϒϩοΫνΣʔϯ όοΫΤϯυ ϑϩϯτΤϯυ ԾඪɿτʔΫϯൃߦΛϕʔεͱͨ͠ϓϨθϯαϙʔτΞϓϦͷ։ൃ -
Amazon API Gateway Amazon DynamoDB AWS Lambda લճ·ͰͷొαʔϏε ࠓճಋೖͨ͠αʔϏε Amazon
Simple Storage Service (S3) AWS CloudFormation Amazon CloudFront Amazon Simple Storage Service (S3) όοΫΞοϓσʔλͷอଘઌσʔλϨΠΫͱͯ͠ͷར༻ͷΈͳΒͣ ੩తΣϒαΠτͷϗεςΟϯάՄೳɻ ࠓճ7VFKTͷ41"Λ4ʹϗεςΟϯά͢ΔతͰ༻ɻ Amazon CloudFront 4ΛΦϦδϯαʔόͱΈͳ͠Ωϟογϡͨ͠ίϯςϯπΛ৴͢Δɻ $%1$BDIF%JTUSJCVUJPOύλʔϯ AWS CloudFormation (SAM) $MPVE'PSNBUJPOʹΑΓ"84αʔϏε࠶ߏங࣌ͷࣗಈԽɻ -BNCEBͰ࡞ͨ͠"1*ΛΞοϓσʔτ͢Δͱ͖ʹςϯϓϨʔτΛྲྀ͢ɻ $MPVE'PSNBUJPOͷ֦ுͰ͋Δ4". 4FSWFSMFTT"QQMJDBUJPO.PEFM ʹͯهड़ɻ IUUQTRJJUBDPNTIVOQJUFNTFFFFFGF <ࢀߟ>(Pʴ-BNCEBͰ࠷αʔόϨενϡʔτϦΞϧ -
7VFKT γϯϓϧ41" εϥΠυ͝ͱͷ ϦΞΫγϣϯΛੵ εϚʔτίϯτϥΫτ ΞΫηε༻ %ZOBNP%# ΞΫηε༻ "3,JU සൃ͢Δ-BNCEBͷσϓϩΠΛ
ίʔυͰཧ "3දࣔ༻ ΤϯυϙΠϯτ ϓϨθϯαϙʔτΞϓϦ ΞʔΩςΫνϟ֓ཁ ,PWBOωοτϫʔΫ τʔΫϯΛ "3Ͱදݱ Amazon Simple Storage Service (S3) Amazon API Gateway Amazon API Gateway AWS Lambda AWS Lambda Amazon DynamoDB Amazon CloudFront &UIFSFVN &3$ʹΑΔ τʔΫϯͷൃߦ ฐࣾಠ࣮ࣗʹΑΔϓϥοτϑΥʔϜ AWS CloudFormation (SAM) -
ݦࡏԽ͢ΔϢʔεέʔεʹඋ͑ͨ ٕज़ࢿ࢈ͷཧΛ͠Α͏ ൃ৴ͯ͠ ڞײΛूΊΔ ࣾͰར༻Ͱ͖ ΔπʔϧΛ࡞Δ ֎෦Ͱൃද͢Δ νϟϨϯδ Ͱ͖Δڥ ͍͚͜͠ΎΜ͍
Ծඪɿ4JNQMFY5PLFO Ծ௨՟ Λൃߦͯࣾ͠Ͱར༻ͯ͠Β͏ ϓϩμΫτԽʹ͚ͯ ৽نࣄۀܭըॻ ن֨MFTTͳΥϨοτ ༷ʑͳ%"QQT։ൃ ଞ௨՟ $*$%උ ೝূೝՄ σʔλੳ ωΠςΟϒΞϓϦ։ൃ ੑೳ 6*69 Γ͍ͨνϟϨϯδཁૉ શମઃܭ ϒϩοΫνΣʔϯ όοΫΤϯυ ϑϩϯτΤϯυ ϞόΠϧ ԾඪɿτʔΫϯൃߦΛϕʔεͱͨ͠ϓϨθϯαϙʔτΞϓϦͷ։ൃ ඪɿϓϩμΫτԽʹ͚ٕͨज़ཧ -
AWS Cloud9 AWS CodeBuild AWS CodeCommit AWS CodePipeline AWS Lambda
Amazon API Gateway Α͘ར༻͢ΔαʔϏε AWS Cloud9 &$্Ͱ։ൃڥΛఏڙɻλʔϛφϧ͕ηοτͰ͍͍ͯΔɻ Ͳͷ͔ΒͰಉ͡։ൃڥ͕ϒϥβΛ։͚ͩ͘Ͱ༻ҙ͞Ε͍ͯΔͨΊ ߹ʹΑͬͯ%PDLFSͰ։ൃڥΛἧ͑ΔΑΓָɻ AWS CodeCommit -BNCEBͷιʔείʔυཧ$PEF$PNNJU্Ͱཧɻ ϓϧϦΫΤετɾίϛοτϏδϡΞϥΠβʔͳͲΛ(6*Ͱఏڙ͓ͯ͠Γ บ͋Δͷͷ(JU)VCͱͦΕ΄Ͳେࠩͳ͍༻ײͰར༻Ͱ͖Δɻ AWS CodePipeline AWS CodeBuild $MPVE'PSNBUJPO4".ͷίϚϯυͰ-BNCEB"1*(BUFXBZΛ࡞͢Δɻ lJOTUBMMz lQSF@CVJMEz lCVJMEzͳͲϑΣʔζຖʹ࣮ߦ͢ΔίϚϯυΛάϧʔϓԽ͠ ඞཁͳϞδϡʔϧΠϯετʔϧɺςετɺϏϧυΛ࣮ߦͤ͞Δɻ $*$%ύΠϓϥΠϯΛ(6*Ͱఏڙ͢Δɻ ιʔείʔυཧͱͯ͠$PEF$PNNJUΛબ͢ΔͱɺಛఆϒϥϯνʹϚʔδ͞Εͨ߹ ύΠϓϥΠϯ͕ىಈ͠ɺޙଓͷ$PEF#VJME͕࣮ߦ͞ΕΔɻ -
Α͘ར༻͢ΔαʔϏε Amazon Cognito AWS Amplify AWS AppSync AWS AppSync ओʹ(SBQI2-αʔόͱͯ͠ར༻ɻ
-BNCEB%ZOBNP%#&MBTUJD4FBSDI4FSWJDFΛޙଓͰϑοΫͰ͖Δɻ ෳͷ%ZOBNP%#ςʔϒϧʹ·͕ͨΔॲཧՄೳɻ AWS Amplify ϑϩϯτΤϯυ༻ͷ$*$%ͱͯ͠"NQMJGZ$POTPMFΛ༻ɻ 4ͷΞοϓϩʔυ͓Αͼ$MPVE'SPOUͰͷ৴ઃఆ͕লུͰ͖Δɻ "NQMJGZ'SBNFXPSLͰ"84αʔϏεͷΞΫηεΛ؆ུԽ͠ "QQ4ZOD$PHOJUPͷΞΫηεΛγϯϓϧʹ͢Δɻ Amazon Cognito ೝূαʔϏεͱͯ͠ར༻ɻ ϢʔβσʔλΛཧ͠ɺೝূޭ࣌ʹϢʔβใؚ͕·Εͨ+85Λฦ͢ɻ *".ͱΈ߹ΘͤΔ͜ͱͰೝՄ੍ޚ͢Δ͜ͱՄೳɻ IUUQTRJJUBDPNTIVOQJUFNTEBEGBEEGG <ࢀߟ> 7VFKT "NQMJGZΛۦ͢ΕϞμϯͳ8FCΞϓϦΛͰެ։Ͱ͖Δ -
3FNJY *%& ΞʔΩςΫνϟ֓ཁ 4MBDLΠϕϯτ औಘ༻ %ZOBNP%# ΞΫηε༻ εϚʔτίϯτϥΫτ ΞΫηε༻ 4MBDLͷ
3&45"1*Λड͚Δ ೝূ ϑϩϯτΤϯυ༻$*$% ։ൃϑϨʔϜϫʔΫ σϓϩΠ 4MBDL &3$ 7VFKT γϯϓϧ41" Amazon API Gateway AWS Lambda AWS Lambda Amazon DynamoDB Amazon DynamoDB &3$9999 AWS AppSync AWS Amplify Amazon Cognito AWS Lambda AWS Lambda AWS Cloud9 AWS CodePipeline 'MVUUFS Amazon CloudWatch AWS CloudFormation AWS CloudTrail -BNCEB'VODUJPOT -
ݱࡏͷ։ൃεΩʔϜ ࣮ݧతʹ ϓϩτλΠϓͷ࡞ ࣾһ Ϣʔβ ੜ ར༻ ٕज़ࢿ࢈ͷੵ 'MVUUFS 7VFKT
4MBDL 6OJUZ "3,JU &UIFSFVN (Pݴޠ "84 هࣄʹ·ͱΊΔ ༻్ผʹϦϙδτϦΛ࡞ ֤ΞϓϦ "84ʹݶΒͣ෯͍ྖҬΛࢹʹೖΕͯ׆ಈத