amazon api gateway を活用したゲームサーバー構築

56
6,C87 # ,=0@,B æÊdj NªN£Nïć ,60 &0;?0; 0?05890;< )85 Ĭù ňĹ À¼V¾Ä V¥§ ¶ Ä ± V® »Ä ĊđÆÌ

Upload: -

Post on 14-Apr-2017

4.676 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Amazon API Gateway を活用したゲームサーバー構築

�6,C87��#���,=0@,B��æÊdj��Nª�N£Nïć�

�,60�&0;?0;��0?05890;<�)85���� ���� ���Ĭù�ňĹ��À¼V�¾Ä��V�¥�§��¶ Ä���±��V®���»­Ä�ĊđÆÌ��

Page 2: Amazon API Gateway を活用したゲームサーバー構築

»ĆĊù�

•  Ĭù�ňĹ�–  �À¼V�¾Ä��V�¥�§X.�*+�ĚëY�–  Åěx`İĩw�²¿�¸ÓĖsĔÈi|k�–  .63��V®�åĿQº¬�ÁQ�V¸�vu�–  �.*�ŃÇ�–  ņidyP9EEA�HHHD=:56D92C6?6ED9:>J1?6E�

Page 3: Amazon API Gateway を活用したゲームサーバー構築

�Nª£���´¡s¸ăÃq�´�¦ �

•  �' �tirć_��•  �++'���!*&%�•  °ÂĨÀ�§�����´V¨vuxèċ�•  ¬�©Àx��£§¦V¡�•  ijĢð�•  ėäð�

Page 4: Amazon API Gateway を活用したゲームサーバー構築

ýõÐpíÊÐsW��Nª£���´¡�

ELB

•  ��G2:=23:=:EJ�0@?6D�øÈ�•  �>2K@?��� �7@C��AAD�•  �=2DE:4�#@25��2=2?4:?8�•  �>2K@?�)�*�52E232D6�

•  $F=E:��0�

PP�' D��²À�•  ,D6C�#@8:?�•  �2>6�#:DE�•  #6256C3@2C5D�•  �92==6?86D�

Region

Page 5: Amazon API Gateway を活用したゲームサーバー構築

��N±M�

ELB

•  *�����s¦V¡âĮWĞô�•  ��£§¦V¡�•  ½V�VÐñ�ĥĤ�•  �©À¥����

Region

CloudFront CDN

Page 6: Amazon API Gateway を活用したゲームサーバー構築

��N±MM�

ELB

Region

CloudFront CDN •  *�����s¦V¡âĮWĞô�

•  ��£§¦V¡�•  ½V�VÐñ�ĥĤ�•  �©À¥����

•  �V§��VÀÄ��•  ìąwĖjn�»­�¥��•  ½V�VwĖık��•  ÎæģŁ��

Page 7: Amazon API Gateway を活用したゲームサーバー構築

��N±MMM�

ELB

Region

CloudFront CDN •  *�����s¦V¡âĮWĞô�

•  ��£§¦V¡�•  ½V�VÐñ�ĥĤ�•  �©À¥����

•  �V§��VÀÄ��•  ìąwĖjn�»­�¥��•  ½V�VwĖık��•  ÎæģŁ�

•  �>2K@?��=2DE:�2496�•  $6>424965�•  )65:D�

Page 8: Amazon API Gateway を活用したゲームサーバー構築

�"�]�¯��

•  �V¸yČcĂ}bÿ]�•  �»£�Ä�y\|�ęÝnv]�•  f��x¦V¡xÿdy�

•  "6J�G2=F6��•  �:?2CJ�DECF4EFC6D�

ELB

Region

CloudFront CDN

Page 9: Amazon API Gateway を活用したゲームサーバー構築

�¬N��´�f�u�"�LL�

Page 10: Amazon API Gateway を活用したゲームサーバー構築

óYIhYe|qX�

Page 11: Amazon API Gateway を活用したゲームサーバー構築

�6,C87��B7,68���o��N±MMMM�

•  °Á¶«V�¨ħ�•  %@*(#�¦V¡�§��•  ²Ã®�¾Ä�ÁV²£§�•  ��Ä¢À�Ħ£���•  ',+��+�<6JD�•  �@4F>6?E���µV§�

ELB

Region

CloudFront CDN

DynamoDB

Page 12: Amazon API Gateway を活用したゲームサーバー構築

�6,C87��>;8;,�o��N±MMMMM�

•  $J*(#����ńĴ�•  êÅ���+��|sijĢ�•  ���ĉx²À��•  ÑĪv�¿£�¼À�¬À�•  ÑĪv°�VÁ�V¬V�

ELB

Region

CloudFront CDN

Aurora Cluster

W R R R

Page 13: Amazon API Gateway を活用したゲームサーバー構築

�*&��äZu�¾XýõÐKíÊÐM�

Page 14: Amazon API Gateway を活用したゲームサーバー構築

óYIhYe|qX�

Page 15: Amazon API Gateway を活用したゲームサーバー構築

h�q¹�ÙYjzr�``rÓj�e|qXM�

Page 16: Amazon API Gateway を活用したゲームサーバー構築

�� �oïÑf�s]�¯��k~[MM��FG+��

Page 17: Amazon API Gateway を活用したゲームサーバー構築

h�qüÀr��6,C87��#���,=0@,B�

Page 18: Amazon API Gateway を活用したゲームサーバー構築

�� �o��#���ïćf�p�

Internet

Mobile Apps

Websites

Services

AWS

ELB

Page 19: Amazon API Gateway を活用したゲームサーバー構築

�6,C87��#���,=0@,B�q��

Internet

Mobile Apps

Websites

Services

API Gateway

AWS Lambda functions

AWS

API Gateway Cache

Amazon CloudWatch

Amazon DynamoDB

Page 20: Amazon API Gateway を活用したゲームサーバー構築

�6,C87��#���,=0@,B�q��

Internet

Mobile Apps

Websites

Services

API Gateway

AWS Lambda functions

AWS

API Gateway Cache

Amazon CloudWatch

Amazon DynamoDB

Endpoints on Amazon EC2 /

Amazon Elastic

Beanstalk

Any other publicly accessible endpoint

Page 21: Amazon API Gateway を活用したゲームサーバー構築

�#���álny~YO�1,60<���'����Nª°� ÍàP�

�J?2>@���+23=6�N1,60<O�

#2>352��F?4E:@?�N10=�,60<O�

�' ��.�1,60<���+�

%0<987<0�

%0:>0<=�

Page 22: Amazon API Gateway を活用したゲームサーバー構築

SJ�6,C87��B7,68���r�N��éì�

�J?2>@���+23=6�N1,60<O�

#2>352��F?4E:@?�N10=�,60<O�

�' ��.�1,60<���+�

%0<987<0�

%0:>0<=�

Page 23: Amazon API Gateway を活用したゲームサーバー構築

�B7,68���',-50�D1,60<E�

�,<2�40B��1,60�/��==;3->=0<��7,60��

',-50��áÑdn��N��Ø¿f��

Page 24: Amazon API Gateway を活用したゲームサーバー構築

���§N¡q��

•  �,<2�40B���²¿�¶À�V�•  %,710�40B����V§�V�

•  E�,<2�40B�E@�(<0;�/�•  �%,710�40B�E@��,60!,60�

•  '89&.8;0�y�Vsyv]xs�V§scv]R�

•  u^�pr�V§k�aS�

UserID (hash key)

GameName (range key)

TopScore TopScoreDate

"101" "Galaxy Invaders" 5842 "2014-09-15T17:24:31"

"101" "Meteor Blasters" 1000 "2014-10-22T23:18:01"

"101" "Starship X" 24 "2014-08-31T13:14:21"

"102" "Alien Adventure" 192 "2014-07-12T11:07:56"

"102" "Galaxy Invaders" 0 "2014-09-18T07:33:42"

"103" "Attack Ships" 3 "2014-10-19T01:13:24"

"103" "Galaxy Invaders" 2317 "2014-09-11T06:53:00"

"103" "Meteor Blasters" 723 "2014-10-19T01:14:24"

"103" "Starship X" 42 "2014-07-11T06:53:03"

Page 25: Amazon API Gateway を活用したゲームサーバー構築

��´�°�´�����×Ê�

•  ��Ä¢À�Ħ£���ĆñT�•  *E�,<2�40B�E@��,60!,60�•  *�%,710�40B�E@�'89&.8;0�

HHHHHQ�•  '89&.8;0�s�V§ir�,60!,60����Àsc��

GameName (hash key)

TopScore (range key)

UserID

"Alien Adventure" 192 "101"

"Attack Ships" 3 "103"

"Galaxy Invaders" 0 "102"

"Galaxy Invaders" 2317 "103"

"Galaxy Invaders" 5842 "101"

"Meteor Blasters" 723 "103"

"Meteor Blasters" 1000 "101"

"Starship X" 24 "101"

"Starship X" 42 "103"

UserID (hash key)

GameName (range key)

TopScore TopScoreDate

"101" "Galaxy Invaders" 5842 "2014-09-15T17:24:31"

Page 26: Amazon API Gateway を活用したゲームサーバー構築

TJ�*&��,6-/,�o¦³�¯ª�ÉĂ�

�J?2>@���+23=6�N1,60<O�

#2>352��F?4E:@?�N10=�,60<O�

�' ��.�1,60<���+�

%0<987<0�

%0:>0<=�

Page 27: Amazon API Gateway を活用したゲームサーバー構築

�,6-/,��>7.=387�D10=�,60<E�

Page 28: Amazon API Gateway を活用したゲームサーバー構築

UJ�#���,=0@,B��ÒÂdn��#���áÑ�

�J?2>@���+23=6�N1,60<O�

#2>352��F?4E:@?�N10=�,60<O�

�' ��.�1,60<���+�

%0<987<0�

%0:>0<=�

Page 29: Amazon API Gateway を活用したゲームサーバー構築
Page 30: Amazon API Gateway を活用したゲームサーバー構築

�#��sïö�•  �#��»ñ�ζÜpdjþĄïörqlnX��

•  �#��Är°�N��Âî�–  ł÷×Ĝ�–  À�V�āb�,)#�x­�xÊÚtv��–  «�§k�ft�ėċP6I��82>6DL82>6 5M��

•  ë°�N�r«��¡�Âî�–  ¹�£¨yÀ�V�Z��++'�¹�£¨sĝñh���–  �¡Ä¢V¨v�qx��++'�¹�£¨��µV§�

GameAPI

/games

/games/{gameId} •  GET •  POST •  PUT

Page 31: Amazon API Gateway を活用したゲームサーバー構築

0=28/�%0:>0<=�°��� sÔè_rmXnÒÂ�

Page 32: Amazon API Gateway を活用したゲームサーバー構築

ÈÆt�ÒÂqd�

Page 33: Amazon API Gateway を活用したゲームサーバー構築

0=28/�%0:>0<=�•  �>=28;3C,=387�=B90�

–  %&%���idy��.*1 �$��ßŅ�–  �.*1 �$�xÏÍQõi]� �$�ÃVÁb�£§h�r]�� �$�½V�x}b¹�£¨àËėċtv�Q

À���§wĺābēìtv��

•  �#���0B�%0:>3;0/�–  �' �"6J�bēìau^a��ECF672=D6�sßŅ�–  ĎĦwk�fts��' ��2E6H2J�bIJ]Ék��' ��V�čäin¹V¡ÀÄ�bėċX�[email protected]�–  À���§x³£¢w��' ��V�ĥ~�P[PI�2A:�<6J��3<2J0&$GFJ�20&9 8IB��"�&6�/���H���–  Ąėxn~wä]v]ftP[PĄėy��' �*:8?2EFC6�-6CD:@?����idyÎÕs�&2FE9�Ľx¹�ª�

¸�äíirË^��

•  (%��$>0;B�&=;371�#,;,60=0;<�–  öeĐe��(F6CJ�*EC:?8��þ×�

•  �''#�%0:>0<=��0,/0;<�–  öeĐe��)6BF6DE��6256CD��þ×�

•  %0:>0<=� 8/05<�–  ��+�øïxÏÍyúäk�º¦Á�ßŅiQ4@?E6?E�EJA6��þ×k��

Page 34: Amazon API Gateway を活用したゲームサーバー構築

�7=01;,=387�%0:>0<=� £���´¡ps}�Í��rmXnÒÂ�

Page 35: Amazon API Gateway を活用したゲームサーバー構築

�,6-/,��>7.=387�D10=�,6<0E��ÚÂ�

�7=01;,=387�%0:>0<=�

Page 36: Amazon API Gateway を活用したゲームサーバー構築

�7=01;,=387�%0:>0<=�

•  �7=01;,=387�'B90�–  úäk�¬£��ĨxĭďtÜãk�ăü�ò×�–  �,6-/,��>7.=387���''#�#;8AB�� 8.4��7=01;,=387���*&�&0;?3.0�#;8AB�

�•  �7=01;,=387�'B90�]��,6-/,�ÖÏs½ºtÖÇsÒÂ{íã�

–  ,)#�'2E9�'2C2>6E6CD�–  ,)#�(F6CJ�*EC:?8�'2C2>6E6CD�–  �++'��6256CD�–  l�m��$6E9@5)6BF6DE�sþ×in­¿¹V¡t¶£¯Ä�k��

•  ,99371�'0695,=0<�–  �@?E6?E�+JA6�ò×inÈsQ ?AFE�A2DDE9C@F89��idy¶£¯Ä�¥Ä²ÂV§�þ×�–  ?AFE�A2DDE9C@F89��ßŅk�töeépn¦V¡�lx||¬£��Ĩwīk�–  ĵĒsy�2AA=:42E:@?;D@?�s� ?AFE�A2DDE9C@F89�tvpr]��

Page 37: Amazon API Gateway を活用したゲームサーバー構築

�7=01;,=387�%0<987<0� £���´¡ps}�Í��rmXnÒÂ�

Page 38: Amazon API Gateway を活用したゲームサーバー構築

�7=01;,=387�%0<987<0�

ÈÆt��¥�± sxx�

Page 39: Amazon API Gateway を活用したゲームサーバー構築

�7=01;,=387�%0<987<0�•  £���´¡sÞå�ßrêÂs��''#���N���N¡�ðfÒÂ�

–  ĵĒsy�¥V¡��V¨� ���wq]rx}ò×h�r]��–  ¬£��Ĩb�#2>352�°�Ä��¾ÄxÏÍQ�¿V¹£�V�xõĕçósþ×k�R�–  �++'�'C@IJ�xÏÍy¬£��ĨbĠk��++'��¥V¡��V¨�õĕçósþ×�

•  ÖÇsÒÂ{íã�–  �6256C�$2AA:?8D�–  $2AA:?8�+6>A=2E6�–  l�m��$6E9@5�)6DA@?D6�sò×inĨ�þ×k��

•  ,99371�'0695,=0<�–  �@?E6?E�+JA6��ò×inÈsQ&FEAFE�A2DDE9C@F89��idy¶£¯Ä�¥Ä²ÂV§�þ×�–  &FEAFE�A2DDE9C@F89��ßŅk�t¬£��Ĩa�öeépn¦V¡�lx||Â�µÄ�k��–  ĵĒsy�2AA=:42E:@?;D@?�s�&FEAFE�A2DDE9C@F89�tvpr]��

Page 40: Amazon API Gateway を活用したゲームサーバー構築

0=28/�%0<987<0� ²�¨´�rmXnÒÂ�

Page 41: Amazon API Gateway を活用したゲームサーバー構築

0=28/�%0<987<0�

ÈÆt��¥�± sxx�

Page 42: Amazon API Gateway を活用したゲームサーバー構築

0=28/�%0<987<0�

•  �++'��¥V¡��V¨gtw��¡¸³£¢���¡¸¦V¡�Ġkftbėċ�•  �IJÁw� ���oe��&FEAFE�A2DDE9@C@F89�sĠkxs\�zò×ivdr�î

ûv]�

Page 43: Amazon API Gateway を活用したゲームサーバー構築

�#��s�¦³��

Page 44: Amazon API Gateway を活用したゲームサーバー構築

�#��s�¦³��

•  �#��t��N�r�¦³�b���

•  ��N�th�i�òçs÷ô�Ìf�

•  ��N�Ýt�(%��s¸Åpq��–  Ĥ��

�6G��68�2HD2A:82E6H2J4@>56G���6E2��68�2HD2A:82E6H2J4@>36E2��'C@5��68�2HD2A:82E6H2J4@>AC@5��

GameAPI

dev

beta

gamma

prod

Page 45: Amazon API Gateway を活用したゲームサーバー構築

�#��sĈÕ£N�®´p��N��

API 1 (v1)

Stage (dev)

Stage (prod)

API 2 (v2)

Stage (dev)

Page 46: Amazon API Gateway を活用したゲームサーバー構築

�#��sÒÂ�

ÈÆt��¥�± sxx�

Page 47: Amazon API Gateway を活用したゲームサーバー構築

�³� °´��

•  «��¡ĀÜos�³� °´��âø�–  �¥V�ĸĀsåÞØwÒÊò×wk�ft�QġUx¹�£¨wÓirġďwò×

k�ft�ėċ�–  �ã§ÀÄ�w��¬£��Ĩx­°�V¶Ä�tėäð�ŀý�–  ļĈk�À���§ğ�þ×�–  ¬V�§�ļĈk�ò×�ėċ�–  §V�Ĭ�£§�Á�À�¸w��àľ�

•  °©� �ûZj°��� ]�³� °´�b���–  �++'�¥V¡�� ��Â�µÄ��–  Ðñin*�"�č^ÏÍQÎæsÀ§¿�k��

Page 48: Amazon API Gateway を活用したゲームサーバー構築

²�¨´�s�¬��´��

•  ²��´�Ûp£���´¡ws ¯¥���ąÛ�–  �»£�¼b\pnÏÍQ¬£��Ĩ�ķ{ÉkftvdÂ�µÄ��

•  ��N�ĀÜs�¬��­¦³¤�®¢´��–  ����a�êÅ ����xÖs²Ã®�¾ªÄ��

•  ā}\qÒÂ�–  ¹�£¨ĸĀsŇĻát�++#��ò×�–  ��À­¿¹V¡Q³£¢Q­�­¿¹V¡ĸĀs�»£�¼ĎĘ�ò×�

•  �¬��­�±�°�ªt�%(O�0,<=�%0.07=5B�(<0/P�

Page 49: Amazon API Gateway を活用したゲームサーバー構築

VJ�#���Ë\dny~Y�

�J?2>@���+23=6�N1,60<O�

#2>352��F?4E:@?�N10=�,60<O�

�' ��.�1,60<���+�

%0<987<0�

%0:>0<=�

Page 50: Amazon API Gateway を活用したゲームサーバー構築

�#��sÿv·d ��

•  �¦³�Á\�ÿv·díãIú»¡«�´{íã�–  ķ{Éin]¹�£¨w�Ķ�b�IJÁv���+�vuxÏͱ¿��Èa��ėċ��

•  6B�,93�3/�–  �' �ĆñÔwIJ]Éh��įďÙ�

•  ;01387�3/�–  �' �bĆñh�nÀV�¾Ä�

•  <=,10�7,60�–  ķ{Éin]��' �b¦²Ã�h�r]��¥V��

https://my-api-id.execute-api.region-id.amazonaws.com/stage-name/{resourcePath}�

Page 51: Amazon API Gateway を活用したゲームサーバー構築

#"&' �!�o���'��� �

�Nª°� ��Íào^xdj�

Page 52: Amazon API Gateway を活用したゲームサーバー構築

���­§N¡ ��•  �#���,55<�

–  ķ{ÉiÛ÷�•  �,=07.B�

–  À���§�öeépra�Ėık�|sxÔÖX·ÀğY�

•  �AA��;;8;�–  �II�ĠinÛ÷�

•  �AA��;;8;�–  �II�ĠinÛ÷�

Page 53: Amazon API Gateway を活用したゲームサーバー構築

¦²�´µOSR¼Po��#���á�xdjM�

Page 54: Amazon API Gateway を活用したゲームサーバー構築

xpz�

Internet

Mobile Apps

Websites

Services

API Gateway

AWS Lambda functions

AWS

API Gateway Cache

Amazon CloudWatch

Amazon DynamoDB

Endpoints on Amazon EC2 /

Amazon Elastic

Beanstalk

Any other publicly accessible endpoint

Page 55: Amazon API Gateway を活用したゲームサーバー構築

�6,C87��#���,=0@,B�p��*&��,6-/,���äZuI�� �X�goĉĀr��#��ïćM�

Page 56: Amazon API Gateway を活用したゲームサーバー構築

W�]pY�acXxdj�