JAWS Festa 東海道 2016 の登壇資料です。
こちらもご参照ください → https://gs2.io/
αʔόϨεΞʔΩςΫνϟͷύϑΥʔϚϯενϡʔχϯά+"84 'FTUB ౦ւಓ (BNF4FSWFS4FSWJDFTגࣜձࣾදऔకࣾ$&0୮Ӌ Ұஐ
View Slide
ࣗݾհ(BNF4FSWFS4FSWJDFTגࣜձ݄ࣾۀදऔకࣾ$&0୮Ӌ ҰஐʢʹΘ ͔ͣͱʣ גࣜձࣾηΨೖࣾܞଳి͚ήʔϜɾαʔό։ൃʹैࣄ ఱಊגࣜձࣾೖࣾϙέϞϯɾϚϦΦΧʔτΛ͡Ίͱͨ͠ήʔϜαʔό։ൃɾӡ༻ʹैࣄ
Game Server Services(GS2) とはεϚϗήʔϜϒϥβήʔϜͷඞཁͱ͢Δػೳͷ͏ͪɺ• ϚονϝΠΩϯά• ϥϯΩϯά• ϝʔϧϘοΫεʢϓϨθϯτϘοΫεʣ• ελϛφཧͱ͍ͬͨɺΑ͋͘ΔػೳΛ .JDSP4FSWJDFTԽ͠ɺ4FSWFSMFTTͰઃܭɾ࣮͠ɺҰ࣌ؒԁʙͰར༻Ͱ͖Δͱ͍͏"84ͷΑ͏ͳαʔϏεͰ͢ɻ
ςʔϚαʔόϨεΞʔΩςΫνϟͰઃܭͨ͠8αʔόͰͲ͜·ͰϨΠςϯγΛݮΒ͢͜ͱ͕ग़དྷΔ͔ɻΛٻ͢Δ͜ͱͰɺͲ͕͜ϘτϧωοΫʹͳΔͷ͔ΛৄΒ͔ʹ͠·͢ɻ
ཁ݅• αʔόϨεΞʔΩςΫνϟ• "84Λ͏• %#ͷΛॻ͖͑ͨΓಡΈࠐΜͩΓ͢Δ• ಠࣗυϝΠϯ• )5514ʢͳΔ҆͘͘ͳΒΜ͚ʁʣ
ΞʔΩςΫνϟAmazonCloudFrontACMAmazon APIGatewayAWSLambdaAmazonVPCAmazonRDSAmazonRoute 53
ϓϩάϥϜ
ॳճΞΫηε࣌ճࢼߦɻ্ԼΛΓࣺͯ ճΛ࠾༻ɻฏۉ TFDதԝTFDճҎ߱ฏۉ TFDதԝTFD
ඵͪΐͬͱʜճͷΞΫηεطʹىಈ͞ΕͨίϯςφΛ͍·Θ͢ͷͰɺൺֱతૣ͘Ԡͯ͘͠Ε·ͨ͠ɻճͷ NT߹ʹΑͬͯ·ͩڐ༰Ͱ͖Δ͔͠Εͳ͍͚ΕͲɺॳճͷ TFDྲྀੴʹͪΐͬͱʜɻ
71$Λ૭͔Βࣺ͛ͯΔ71$ͷ3%4ʹΞΫηε͍ͯ͠Δ͕ɺ71$ͷׂ&/*ͷ࡞ͱׂ͕ඞཁͱͳΔͷͰɺ͍ɻ
ΞʔΩςΫνϟAmazonCloudFrontACMAmazon APIGatewayAWSLambdaAmazonRDSAmazonRoute 53
ॳճΞΫηε࣌ฏۉ TFDதԝTFDʊਓਓਓਓਓਓਓਓਓਓਓਓʊʼ ͋Μ·มΘΒΜ͔ͬͨ ʻʉ:?:?:?:?:?:?:?:?:?:ʉ͜ͷ͋ͱग़ͯ͘Δ+BWBͷ7.ىಈͱ&/*ͷׂ͕ฒྻͰಈ͍ͯΔ͔Β͔
ηΩϡϦςΟతʹʜ-BNCEBͷ*1ΞυϨεݻఆͰ͖ͳ͍ɻ.Z42-ͷύεϫʔυೝূ͚ͩͰͪΐͬͱෆ͔҆ɻ
ΞʔΩςΫνϟAmazonCloudFrontACMAmazon APIGatewayAWSLambdaAmazonDynamoDBAmazonRoute 53
ॳճΞΫηε࣌ฏۉ TFDதԝ TFD%ZOBNP%# ʹͨ͜͠ͱͰɺ͘ͳͬͯ͠·ͬͨɻ͜Ε "844%,ͷॳظԽॲཧ͕ॏ͕͔͔ͯ࣌ؒ͘Δ͜ͱʹىҼ͍ͯ͠ΔɻͳΜʹͯ͠ɺࠓͷΓํͰݫ͕͋͠͞Δɻ
+BWBΛ૭͔Βࣺ͛ͯΔ+BWB7.ͷىಈʹ͕͔͔࣌ؒΔɻͦͷͨΊɺॳճΞΫηε࣌ʹ͕͔͔࣌ؒͬͯ͠·͏ɻ
ॳճΞΫηε࣌ฏۉ TFDதԝ TFDճҎ߱ฏۉ TFDதԝ TFD
ॳճͰඵʹ1ZUIPOʹͨ͜͠ͱͰىಈͷΦʔόʔϔου͕ܹݮͯ͠ɺॳճΞΫηε࣌ͰඵʹͳΓ·ͨ͠ɻ
$MPVE'SPOU "$. Λ૭͔Βࣺ͛ͯΔ4MBDLͷࣄྫ IUUQXXXTMJEFTIBSFOFU"NB[PO8FC4FSWJDFTTFDVSFEBQJBDDFMFSBUJPOXJUIFOHJOFFSTGSPNBNB[PODMPVEGSPOUBOETMBDL 1ͷΑ͏ʹɺ୯ҰϦʔδϣϯͰϫʔϧυϫΠυʹαʔϏεΛల։͍ͯ͠Δ߹ɺւΛ͑ΔΑ͏ͳέʔεͰɺ$MPVE'SPOUˠΦϦδϯ &$Ͱ"84ͷଠ͍όοΫϘʔϯʹΑΔߴ௨৴ʹΑΓϨΠςϯγ͕վળ͢Δ͜ͱ͕͋Γ·͢ɻࠓճͷϢʔεέʔεͰΩϟογϡώοτظ͠·ͤΜ͠ɺϗοϓ͕૿͑Δ͜ͱʹΑΔϨΠςϯγ૿ͷѱӨڹ͕େ͖͍ͷͰɺ$MPVE'SPOU Λύʔδ͠·͢ɻ
ΧελϜυϝΠϯΛઃఆͨͩ $MPVE'SPOU Λ֎͚ͩͩ͢ͱɺυϝΠϯ͕"1*(BUFXBZؙग़͠Ͱ͔ͬ͜ѱ͍ͷͰɺ-FUT`T &ODSZQUͰऔͬͨαʔόূ໌ॻΛͬͯΧελϜυϝΠϯΛઃఆ͠·͢ɻ
ΞʔΩςΫνϟAmazon APIGatewayAWSLambdaAmazonDynamoDBAmazonRoute 53
ʙNTॖ$MPVE'SPOU Λ֎ͨ͜͠ͱͰɺʙNT͘ͳΓ·ͨ͠ɻ"1*(BUFXBZ࣮ଶ $MPVE'SPOUɻˠ$%/͕ஈߏʹɻˠΤοδϩʔέʔγϣϯఆ͕೦ʹͳͬͯΔ͔ɻ
"844%,ͷॳظԽΛ GVODUJPOͷ֎ʹ"84 4%,ͷॳظԽΘΓͱ͕͔͔࣌ؒΔͷͰɺΞΫηε͢Δʹ࣮ߦ͢ΔͷͰͳ͘ɺىಈ࣌ʹճ͚ͩ͢ΔΑ͏ʹ͢Δɻ͜ΕͰɺճҎ߱ͷԠ্͕͢Δɻ
ʙNTॖ"84 4%,ͷॳظԽΛϑΝϯΫγϣϯͷ࣮ߦຖʹߦΘͣɺॳճʹͷΈߦ͏Α͏ʹͨ͜͠ͱͰɺίϯςφͷ͍ճ͚ͩ͠Ͱͳ͘ɺΫϥΠΞϯτΠϯελϯεͷ͍ճ͠ͷޮՌͰճҎ߱ͷॲཧ͕࣌ؒૣ͘ͳΓ·ͨ͠ɻॳճ·Ͱ͘ͳͬͯΔͷϛεςϦʔͰ͢ɻGVODUJPOݺͼग़͠·ͰϝϞϦׂΓͯྔʹΑΒͣϑϧύϫʔͰىಈͯ͘͠ΕͯΔʁʢࠓճ+BWB.#1ZUIPO.#ͱ͍͏࠷খαΠζͰܭଌ͍ͯ͠·͢ʣ
༨ஊAWSLambdaAmazonDynamoDBAWS SDK
༨ஊ ϓϩάϥϜ
NTΛΔ݁Ռʹʢ͕ͩɺ8αʔόͰͳ͍"1*(BUFXBZ࣮ଶ $MPVE'SPOU ͳͷͰʢIUUQXXXTMJEFTIBSFOFULFJTVLFBXTMBNCEBBNB[POBQJHBUFXBZEFFQEJWF 1ʣɺ"1*(BUFXBZ $MPVE'SPOU ͱಉ༷ͷΛ๊͍͑ͯΔɻ݁Ռɺ"1*(BUFXBZΛඈ͢͜ͱͰɺ͞ΒʹʙNTͷॖ͕Ͱ͖ͨɻ
·ͱΊ100ms ~ 200ms3000ms ~ 4000ms3000ms ~ 4000ms100ms 〜 300ms(割当メモリに左右)100ms ~ 200msAmazonCloudFrontAmazon APIGatewayElasticNetworkInterface"844%,ॳظԽ
·ͱΊ+BWB ىಈ͕͍ɻˠىಈͨ͋͠ͱരͩΑʂ͑ͳ͍ࢠͩͱצҧ͍͠ͳ͍Ͱʂ$MPVE'SPOU ΛڬΉͱ͘ͳͬͨɻˠ"84͞Μɻ"1*(BUFXBZͰ"$.͑ΔΑ͏ʹ͍ͯͩ͘͠͞ɻ$MPVE'SPOU Λൈ͍ͯߴԽͯ͠ "1*(BUFXBZ͕ʜɻˠ"84͞ΜɻͳΜͱ͔ߴԽ͍ͯͩ͘͠͞ɻ"844%,ͷ"1*ΫϥΠΞϯτΠϯελϯεੜҙ֎ͱ͍ɻ
એ(4 Ͱ͜ͷΑ͏ͳɺαʔόϨεΞʔΩςΫνϟಛ༗ͷಛੑΛѲ্ͨ͠ͰύϑΥʔϚϯενϡʔχϯάΛ֤ॴͰߦ͍ͬͯ·͢ɻ(4 Λར༻͢Δ͜ͱͰɺࣗ͝Ͱ͜ͷΑ͏ͳνϡʔχϯάΛߦΘͳͯ͘࠷దԽ͞ΕͨαʔϏεΛ͝ར༻͍͚ͨͩ·͢ɻੋඇɺ(4ͷ࠾༻͝ݕ౼͍ͩ͘͞ɻ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠IUUQTHTJPϕʔλςετࢀՃऀืूதʂ