AWS AppSync

์‹ค์‹œ๊ฐ„ ๋ฐ ์˜คํ”„๋ผ์ธ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ๋ฐ์ดํ„ฐ ์ค‘์‹ฌ์˜ ์•ฑ ๊ตฌ์ถ•

AWS AppSync๋Š” ์ž๋™์œผ๋กœ ์›น๊ณผ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๊ณ , ์˜จ๋ผ์ธ์— ๋‹ค์‹œ ์—ฐ๊ฒฐ๋˜๋Š” ๋Œ€๋กœ ์˜คํ”„๋ผ์ธ ์‚ฌ์šฉ์ž์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. AWS AppSync๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ˜์‘ํ˜• ํ˜‘์—… ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๋Š” ํ˜‘์—… ๋ชจ๋ฐ”์ผ ๋ฐ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

AWS AppSync๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ iOS, Android, JavaScript ๋ฐ React Native์—์„œ ๊ธฐ๋ณธ ๋ชจ๋ฐ”์ผ ๋ฐ ์›น ์•ฑ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. AWS AppSync ์ฝ˜์†”๋กœ ์ด๋™ํ•˜์—ฌ ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ ๋ฌธ์œผ๋กœ ์•ฑ ๋ฐ์ดํ„ฐ๋ฅผ ์ง€์ •ํ•˜๋ฉด AppSync์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ, ์ฒ˜๋ฆฌ ๋ฐ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ชจ๋“  ์ž‘์—…์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์ด์ 

GraphQL์„ ์‚ฌ์šฉํ•œ ๋น ๋ฅธ ํ”„๋กœํ† ํƒ€์ž… ์ƒ์„ฑ ๋ฐ ๊ฐœ๋ฐœ

AppSync์—์„œ๋Š” ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ ๋ฌธ์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐ์ดํ„ฐ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ํ”„๋กœํ† ํƒ€์ž…์„ ์ƒ์„ฑํ•˜๊ณ  ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜๋Š” ๋™์•ˆ ์‹ ์†ํ•˜๊ฒŒ ๋ฐ˜๋ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. AWS AppSync์—์„œ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํด๋ผ์šฐ๋“œ์—์„œ ์†์‰ฝ๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฐœ๋ฐฉํ˜• ํ‘œ์ค€ ์ฟผ๋ฆฌ ์–ธ์–ด์ธ GraphQL์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์‹ค์‹œ๊ฐ„ ํ˜‘์—… ๋ชจ๋ฐ”์ผ ๋ฐ ์›น ์•ฑ ๊ตฌ์ถ•

AWS AppSync๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ณต์œ  ๋ฐ์ดํ„ฐ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ตœ์‹ ์œผ๋กœ ์œ ์ง€ํ•˜๋Š” ํ˜‘์—… ์•ฑ์„ ์†์‰ฝ๊ฒŒ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ ๋ฌธ์œผ๋กœ ์•ฑ์šฉ ๋ฐ์ดํ„ฐ๋ฅผ ์ง€์ •ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด AppSync์—์„œ ์•ฑ ๋ฐ์ดํ„ฐ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ตœ์‹ ์œผ๋กœ ์œ ์ง€ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ชจ๋“  ์ž‘์—…์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. AWS AppSync๋Š” ์ธํ„ฐ๋„ท์— ๋‹ค์‹œ ์—ฐ๊ฒฐ๋˜๋Š” ๋Œ€๋กœ ์˜คํ”„๋ผ์ธ ์‚ฌ์šฉ์ž์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ž๋™์œผ๋กœ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋งŒ ๊ฐ€์ ธ์˜ค๋ฏ€๋กœ ๋ฉ”์‹œ์ง€ ํŠธ๋ž˜ํ”ฝ์„ ์ค„์ด๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ฑ๋Šฅ๊ณผ ๋ฐฐํ„ฐ๋ฆฌ ์ˆ˜๋ช…์„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜คํ”„๋ผ์ธ ์‚ฌ์šฉ์ž์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ž๋™์œผ๋กœ ๊ด€๋ฆฌ

AWS AppSync๋Š” ์˜คํ”„๋ผ์ธ ์‚ฌ์šฉ์ž์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์ž‘์—…์„ ์ž๋™์œผ๋กœ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ด ์„œ๋น„์Šค์—์„œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์˜คํ”„๋ผ์ธ์ผ ๋•Œ๋„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์•ฑ ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ์ปฌ์— ์ถ”๊ฐ€ํ•˜๊ณ  ์—…๋ฐ์ดํŠธํ•  ์ˆ˜๋„ ์žˆ๋Š” ์˜คํ”„๋ผ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ชจ๋ธ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ค‘์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ์ปฌ์— ์บ์‹œํ•˜์—ฌ ์˜คํ”„๋ผ์ธ์—์„œ ์‚ฌ์šฉํ•œ ํ›„ ๋””๋ฐ”์ด์Šค๊ฐ€ ๋‹ค์‹œ ์—ฐ๊ฒฐ๋˜๋ฉด ํด๋ผ์šฐ๋“œ๋กœ ๋™๊ธฐํ™”ํ•˜๋Š” ์•ฑ์„ ๊ฐ„ํŽธํ•˜๊ฒŒ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์œ ์ง€

AWS AppSync๋Š” ์‚ฌ์šฉ์ž์˜ ๋ฐ์ดํ„ฐ์™€ ์•ฑ ๋ฐ์ดํ„ฐ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ์ด ์„œ๋น„์Šค๋Š” Amazon Cognito ๋ฐ AWS Identity and Access Management์™€ ํ†ตํ•ฉ๋˜์–ด GraphQL ์ž‘์—…์— ๋Œ€ํ•ด ์„ธ๋ถ„ํ™”๋œ ๊ถŒํ•œ์„ ์„ค์ •ํ•˜์—ฌ ๋ฐ์ดํ„ฐ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์šฉ์ž๋ฅผ ์—„๊ฒฉํ•˜๊ฒŒ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๋Ÿฌ ์†Œ์Šค์˜ ๋ฐ์ดํ„ฐ๋กœ ์•ฑ์„ ๊ตฌ์ถ•

AWS AppSync๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์†์‰ฝ๊ฒŒ ์—ฌ๋Ÿฌ ์†Œ์Šค์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒฐํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด AppSync๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ „ํ™” ๋ฐ ์›น ์‚ฌ์šฉ, ํ”ผํŠธ๋‹ˆ์Šค ํŠธ๋ž˜์ปค ํ™œ๋™ ๋ฐ ์†Œ์…œ ๋ฏธ๋””์–ด ๊ฒŒ์‹œ๋ฌผ์˜ ์‚ฌ์šฉ์ž ํ™œ๋™ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒฐํ•ฉํ•˜๊ณ , ์ด๋ฅผ ์œ„์น˜ ๋ฐ์ดํ„ฐ์™€ ๊ฒฐํ•ฉํ•˜์—ฌ ๊ทธ ๋‚ ์˜ ๋ชจ๋“  ์‚ฌ์šฉ์ž ํ™œ๋™๊ณผ ์œ„์น˜๋ฅผ ์š”์•ฝํ•˜๋Š” ์•ฑ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. AppSync๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์•ฑ์—์„œ Amazon DynamoDB์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ์— ์•ก์„ธ์Šคํ•˜๊ฑฐ๋‚˜, AWS Lambda ํ•จ์ˆ˜๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๊ฑฐ๋‚˜, Amazon Elasticsearch ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์ด๋Ÿฌํ•œ ์„œ๋น„์Šค์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒฐํ•ฉํ•˜์—ฌ ์•ฑ์— ์ •ํ™•ํžˆ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ์ถฉ๋Œ์„ ์ž๋™์œผ๋กœ ํ•ด๊ฒฐ

AWS AppSync๋Š” ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž์™€ ๋””๋ฐ”์ด์Šค ๊ฐ„์— ๊ณต์œ ๋˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์ถฉ๋Œ์„ ์ž๋™์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ถฉ๋Œ์€ 2๋ช… ์ด์ƒ์˜ ์‚ฌ์šฉ์ž๊ฐ€ ๋™์‹œ์— ์—…๋ฐ์ดํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•  ๋•Œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์„œ๋น„์Šค์—๋Š” ์ถฉ๋Œ์„ ํƒ์ง€ํ•˜๊ณ  ํ•ด๊ฒฐ๋˜๋„๋ก ๋ณด์žฅํ•˜๋Š” ๊ธฐ๋ณธ ๊ทœ์น™์ด ์žˆ์ง€๋งŒ, AWS Lambda ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด ์ถฉ๋Œ ํ•ด๊ฒฐ ํ”„๋กœ์„ธ์Šค์— ์ž์ฒด ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์ถ”๊ฐ€ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž‘๋™ ๋ฐฉ์‹

Flow_Diagrams_Reinvent_DeepDish_112617_CM_2

AWS AppSync๋Š” ์ƒ์šฉ ๋ฒ„์ „์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ๋ชจ๋ฐ”์ผ ๋ฐ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šฐ๋ ค๋ฉด re:Invent ์„ธ์…˜ ๋™์˜์ƒ์„ ์‹œ์ฒญํ•˜๊ณ  AWS AppSync ์ฝ˜์†”์„ ์—ด์–ด ์‹œ์ž‘ํ•˜์‹ญ์‹œ์˜ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์š”๊ธˆ ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. AWS AppSync๋Š” ์—ฌ๋Ÿฌ ๋ฆฌ์ „์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌ์ „ ๊ฐ€์šฉ์„ฑ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฆฌ์ „ ์„ธ๋ถ€ ์ •๋ณด ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

AWS AppSync re:Invent ์„ธ์…˜

์‚ฌ์šฉ ์‚ฌ๋ก€

AWS AppSync๋Š” ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์—…๋ฐ์ดํŠธ์™€ ์˜คํ”„๋ผ์ธ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ์•ฑ์ด ํ•„์š”ํ•œ ๋‹ค์–‘ํ•œ ์‚ฐ์—…, ์ˆ˜์ง ์‹œ์žฅ ๋ฐ ๋ฒ”์ฃผ์— ๊ฑธ์ณ ๋ชจ๋“  ์œ ํ˜•์˜ ๋ชจ๋ฐ”์ผ ๋ฐ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์€ AWS AppSync๋กœ ๊ตฌ์ถ•ํ•˜๋ฉด ํŠนํžˆ ์œ ์šฉํ•œ ์•ฑ์˜ ๋ช‡ ๊ฐ€์ง€ ์˜ˆ์ž…๋‹ˆ๋‹ค.  

ํ˜‘์—… ์•ฑ

AWS AppSync๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ์ฝ˜ํ…์ธ ๋ฅผ ๊ณต์œ ํ•˜๊ณ  ํ˜‘์—…ํ•  ์ˆ˜ ์žˆ๋Š” ์•ฑ์„ ์†์‰ฝ๊ฒŒ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. AppSync๋Š” ๋ฌธ์„œ, ์ด๋ฏธ์ง€, ํ…์ŠคํŠธ ๋ฉ”์‹œ์ง€, ๊ณต์œ  ํ™”์ดํŠธ๋ณด๋“œ๋ฅผ ๋น„๋กฏํ•œ ์„œ๋กœ ๋‹ค๋ฅธ ์œ ํ˜•์˜ ์ฝ˜ํ…์ธ ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ž๋™์œผ๋กœ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

์†Œ์…œ ๋ฏธ๋””์–ด, ์ฑ„ํŒ…, ๋ฐ์ดํŠธ ์•ฑ

AWS AppSync๋Š” ์†Œ์…œ ๋ฏธ๋””์–ด, ์ฑ„ํŒ… ๋ฐ ๋ฐ์ดํ„ฐ ์•ฑ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. AppSync๋Š” ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์œ ํ˜•๊ณผ ์†Œ์Šค๋กœ ์ด๋ฃจ์–ด์ง„ ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž ๊ฐ„ ๋ฉ”์‹œ์ง•์„ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. AppSync์—์„œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์˜คํ”„๋ผ์ธ์ผ ๋•Œ๋„ ์•ฑ๊ณผ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋‹ค์‹œ ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋˜๋ฉด AppSync์—์„œ ๋ฉ”์‹œ์ง€๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

์ฆ๊ฐ•ํ˜„์‹ค ๋ฐ ๊ฐ€์ƒํ˜„์‹ค ๊ต์œก ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜

AWS AppSync๋Š” ์ฐธ๊ด€์ธ์ด ์žˆ๋Š” ์ˆ˜์ˆ ์‹ค์˜ ์˜์‚ฌ, ํ•™์ƒ์„ ๊ฐ€๋ฅด์น˜๋Š” ๊ต์‚ฌ์™€ ๊ฐ™์ด ๊ต์œก ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์œ ํ˜•์˜ ์•ฑ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ค๋ฅธ ์ •๋ณด์™€ ๊ฒฐํ•ฉ๋˜๊ฑฐ๋‚˜ ํ†ตํ•ฉ๋˜๋Š” ์ฆ๊ฐ• ํ˜„์‹ค(AR)๊ณผ ๊ฐ€์ƒ ํ˜„์‹ค(VR)์„ ์ง€์›ํ•˜๊ณ  ์ˆ˜์—…๊ณผ ๊ฐ™์€ ๋Œ€ํ™”ํ˜• ์„ธ์…˜ ๋˜๋Š” ์ˆ˜์ˆ ์ด ์ง„ํ–‰๋˜๋Š” ๋™์•ˆ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

AWS AppSync ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ

๊ธฐ๋Šฅ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜๊ธฐ
๊ตฌ์ถ•ํ•  ์ค€๋น„๊ฐ€ ๋˜์…จ์Šต๋‹ˆ๊นŒ?
AWS AppSync ์ฝ˜์†” ์—ด๊ธฐ
์งˆ๋ฌธ์ด ์žˆ์œผ์‹ญ๋‹ˆ๊นŒ?
๋ฌธ์˜์ฒ˜