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

Post on 14-Apr-2017

4.679 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

»ĆĊù�

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

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

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

ýõÐ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

��N±M�

ELB

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

Region

CloudFront CDN

��N±MM�

ELB

Region

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

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

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

��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�

�"�]�¯��

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

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

ELB

Region

CloudFront CDN

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

óYIhYe|qX�

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

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

ELB

Region

CloudFront CDN

DynamoDB

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

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

ELB

Region

CloudFront CDN

Aurora Cluster

W R R R

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

óYIhYe|qX�

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

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

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

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

Internet

Mobile Apps

Websites

Services

AWS

ELB

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

Internet

Mobile Apps

Websites

Services

API Gateway

AWS Lambda functions

AWS

API Gateway Cache

Amazon CloudWatch

Amazon DynamoDB

�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

�#���á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<=�

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<=�

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

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

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

���§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"

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

•  ��Ä¢À�Ħ£���Ćñ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"

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

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

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

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

%0<987<0�

%0:>0<=�

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

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<=�

�#��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

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

ÈÆt�ÒÂqd�

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�=@F5.2E49Y�–  À���§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��

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

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

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

�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]��

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

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

ÈÆt��¥�± sxx�

�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]��

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

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

ÈÆt��¥�± sxx�

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

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

ûv]�

�#��s�¦³��

�#��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

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

API 1 (v1)

Stage (dev)

Stage (prod)

API 2 (v2)

Stage (dev)

�#��sÒÂ�

ÈÆt��¥�± sxx�

�³� °´��

•  «��¡ĀÜ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��

²�¨´�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�

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

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

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

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

%0<987<0�

%0:>0<=�

�#��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}�

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

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

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

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

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

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

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

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

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

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

W�]pY�acXxdj�

top related