11. Private subnet
. B a IbD i
L P DN V R S
E D 2 C I
. L P ICE . C
e Id I
AWS Lambda Amazon
Aurora
Amazon
RDS
VPC
✕
Any Subnet
Elastic network interface
11
12. Private subnet
.1 0. aBb
RN LI L B L P
L PV 2 B C
.1 0. D d
E
AWS Lambda Amazon
Aurora
Amazon
RDS
VPC
Any Subnet
Elastic network interface
12
13.
14. DuoB
• n D V S m pt uy
• D ACPS
m g m Oz B D
• elc am -
e U id
Amazon
DynamoDBAWS Lambda
…
!
14
15.
16. B u eK 1 t m a
• r P
• r
a a B K
S D
• o m
• r A Q P
• 1 P ) (
) 1 ( )( IP
)( + ( +( :
K D a
• + 1 IP )
• i a P
r c
r
• r a
I D
https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/best-practices.html
ao aP
n y m B
16
17. B o R O
Q • S M O B
tf R Q R
• l e
• tfR Q R B i
n a
• pf o R Q a
L
• L D c
O
E
• R 17
18. B c
IET • B Ic
• o E t
B t
R
• Re
I t
• m I
• I ED
B aI
• B I
• y
I
• n I
• B
18
33. E
ID:
:
AWS Loft Tokyo:
:
:
ID
2 DynamoDB
AWS Loft
Tokyo
yy/3/4
#DynamoDB
#Serverless
14
AWS Loft
Tokyo
yy/5/9
#Serverless
#Lambda
#Design
33 API Night
AWS Loft
Tokyo
yy/6/23
#WebAPI #JWT
#APIGateway
#Auth #OAuth
#OIDC #Cognito
> >><< <
33
34. D e m a
IET • mD e m
• I
D E
R
• y a R m yB
m I
• ot I B
• R I
m D c I
• D I
• R I
m B n
• m I
• D I
34
35. id (PK)
name
venue_id (FK)
date
Events
id (PK)
name
Tags
event_id (PK, FK)
tag_id (PK, FK)
EventTags
id (PK)
name
address
Venues
-- SQL
-- :
SELECT e.id, v.name... FROM Events e
JOIN Venues v ON v.id = e.venue_id
JOIN EventTags et ON et.event_id = e.id
JOIN Tags t ON t.id = et.tag_id
WHERE v.name = :vname AND t.name = :tname
35
38. i n t hc et Ql tTABLE
Partition Key Attributes
{EventID} {EventName} {VenueName} {TagName1, ...} {yyyy-mm-dd}
... ... ... ... ...
• . . . .3 GB I S
G D +- 3 . Q G
• +- 3 i n t hc m t
lma t Sr c
• QE +- 3 Q F D vQ D
u +- 3 QE . . . -/ . . S
D
BS y F
38
39. e b l cTABLE
Primary Key Attributes
Partition Key GSI-1-PK GSI-2-PK GSI-3-PK GSI-4-PK
{EventID} {EventName} {VenueName} {TagName1, ...} {yyyy-mm-dd}
... ... ... ... ...
• / + / . 0- 2 0-. 3.2
G
• S u b le b r a b b
• l o y x
b dn c Q I
39
46. dcj nlr
Use Case Parameters Table/Index API & Key Conditions
. DI I. DI . DI1- G C G B 4 G 1- ) ( DI1
. DI I. DI . DI2 C 1 4 G - I B ) ( DI2 C
. DI I. DI D 2 C
1
1
4 G D 2 C ) ( D 2 C
4 G - I B ) ( D 1
. DI I. DI - I 1 4 G - I B ) ( I
# . DI I. DI 1 4 G - I B ) (I 2 C
I . DI1- G C G B 4 G 1- ) ( DI1
D I D . DI1-
G C G B
G C G B
I1I C 1- ) ( DI1 D - I F ) D 1-
I1I C 1- ) ( D 1 D - I F ) D 1D=E
• i fe f B 1D bp N Sh gb
m aV TP I1I C I I:?1I C 4 G : D Qbus
• / BI G ,ED I ED GE :I ED . FG ED bot
46
47.
48. A
• . . . a
. 1 B4
• y 2 D
•
n 3 .
. .
. o
o
• m z
o 3 48
49. s ztL P
• 9 B A 9 rpo [d
• A 9 h cg ]a
• 9 B A 9 h cg ]a
n 9 B 0 1 l
• - 1 9 .
9 B A 9 2 1 2 s
• A 9 bD ibkm 9 1 1
• A 1 y S OW A 9 v e Dm 49
50.
51.
52. D GI1 E A S D GI
TABLE
Primary Key Attributes
PK, GSI-1-SK SK GSI-1-PK
ID DataType DataValue1 DataValue2
{EventID} EventName {EventName}
{EventID} VenueInfo {VenueName} {Address}
{EventID} Date {yyyy-mm-dd}
{EventID} Tag_{TagName} Tag_{TagName}
•
. - D
52
53. -1 .TABLE
Primary Key Attributes
PK, GSI-1-SK SK GSI-1-PK
ID DataType DataValue1 DataValue2
E123 EventName DynamoDB
E123 VenueInfo AWS Loft Tokyo
E123 Date yy/3/4
E123 Tag_#DynamoDB Tag_#DynamoDB
E123 Tag_#Serverless Tag_#Serverless
E145 EventName
E145 VenueID AWS Loft Tokyo
E145 Date yy/5/9
E145 Tag_#Serverless Tag_#Serverless
E145 Tag_#Lambda Tag_#Lambda
E145 Tag_#Design Tag_#Design
53
55. (BB =I _iurmv
Use Case Parameters Table/Index API & Key Conditions
G ED E G E) G E. C= C 1 C . G E.
G ED E G ED) G E/ - . 1 C E G E/
G ED E G ED) / - . 1 C E G /
G ED E G ED) E - . 1 C E E
# G ED E G ED) - . 1 C E E /
D E D) G E. C= C
1 C
. G E. E B = D =E
E ) G E. C= C
- E.E
. G E E B . :A
• T o w h a i e nr V
• tl fd y xP CAD A D y Q NpS sg b 55
56. 2 U m E SVg I d
1 -
1 - .
d nm
A- . B
d , .
e
x um
• V I E EU G E U
• G 2 d I
a S a m d
• i s
• A my t e VB
• ir v p NS S G E
56