Amazon API Gateway

๋ชจ๋“  ๊ทœ๋ชจ์˜ API๋ฅผ ์ƒ์„ฑ, ์œ ์ง€ ๊ด€๋ฆฌ ๋ฐ ๋ณดํ˜ธ

Amazon API Gateway๋Š” ์–ด๋–ค ๊ทœ๋ชจ์—์„œ๋“  ๊ฐœ๋ฐœ์ž๊ฐ€ API๋ฅผ ์†์‰ฝ๊ฒŒ ์ƒ์„ฑ, ๊ฒŒ์‹œ, ์œ ์ง€ ๊ด€๋ฆฌ, ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•˜๋Š” ์™„์ „๊ด€๋ฆฌํ˜• ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. AWS Management Console์—์„œ ํด๋ฆญ ๋ช‡ ๋ฒˆ์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์˜ ๋ฐ์ดํ„ฐ, ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๋˜๋Š” ๊ธฐ๋Šฅ(์˜ˆ: Amazon Elastic Compute Cloud(EC2)์—์„œ ์‹คํ–‰๋˜๋Š” ์›Œํฌ๋กœ๋“œ, AWS Lambda์—์„œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ, ๊ธฐํƒ€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋“ฑ)์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋„๋ก "ํ˜„๊ด€๋ฌธ" ์—ญํ• ์„ ํ•˜๋Š” API๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

์ด์ 

๋‚ฎ์€ ๋น„์šฉ๊ณผ ํšจ์œจ์„ฑ

Amazon API Gateway๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด API์— ๋Œ€ํ•œ ํ˜ธ์ถœ๊ณผ ์ „์†กํ•œ ๋ฐ์ดํ„ฐ ์–‘๋งŒ์„ ๊ธฐ์ค€์œผ๋กœ ์š”๊ธˆ์„ ์ง€๋ถˆํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ตœ์†Œ ์š”๊ธˆ์ด๋‚˜ ์‚ฌ์ „ ์•ฝ์ •์€ ์—†์Šต๋‹ˆ๋‹ค.

์–ด๋–ค ๊ทœ๋ชจ์—์„œ๋„ ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ

API Gateway๋ฅผ Amazon CloudFront์™€ ํ†ตํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋ฉด ์ „ ์„ธ๊ณ„์— ๋ถ„ํฌ๋œ ์—ฃ์ง€ ๋กœ์ผ€์ด์…˜ ๋„คํŠธ์›Œํฌ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ตœ์ข… ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ฐ€๋Šฅํ•œ ํ•œ ๊ฐ€์žฅ ์งง์€ ์ง€์—ฐ ์‹œ๊ฐ„์œผ๋กœ API ์š”์ฒญ ๋ฐ ์‘๋‹ต์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, Amazon API Gateway๋Š” ์ œํ•œ์„ ์„ค์ •ํ•˜์—ฌ ํŠธ๋ž˜ํ”ฝ์„ ๊ด€๋ฆฌํ•˜๋„๋ก ์ง€์›ํ•˜๋ฏ€๋กœ ํŠธ๋ž˜ํ”ฝ ์ŠคํŒŒ์ดํฌ๊ฐ€ ๋ฐœ์ƒํ•ด๋„ ๋ฐฑ์—”๋“œ ์ž‘์—…์—์„œ ์ด๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ์„ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ํ˜ธ์ถœํ•˜์ง€ ์•Š๋„๋ก API ํ˜ธ์ถœ ๊ฒฐ๊ณผ๋ฅผ ์บ์‹ฑํ•จ์œผ๋กœ์จ API ์„ฑ๋Šฅ์„ ํ–ฅ์ƒํ•ฉ๋‹ˆ๋‹ค.

API ์ž‘์—…์„ ๊ฐ„ํŽธํ•˜๊ฒŒ ๋ชจ๋‹ˆํ„ฐ๋ง

API๊ฐ€ ๋ฐฐํฌ๋˜๋ฉด Amazon API Gateway์—์„œ Amazon CloudWatch๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ํ˜ธ์ถœ์„ ์‹œ๊ฐ์ ์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ์ œ๊ณตํ•˜๋ฏ€๋กœ API ํ˜ธ์ถœ, ๋ฐ์ดํ„ฐ ์ง€์—ฐ ์‹œ๊ฐ„ ๋ฐ ์˜ค๋ฅ˜ ๋ฐœ์ƒ๋ฅ ์— ๋Œ€ํ•œ ์„ฑ๋Šฅ ์ง€ํ‘œ ๋ฐ ์ •๋ณด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

API ๊ฐœ๋ฐœ ๊ฐ„์†Œํ™”

Amazon API Gateway๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ™์€ API๋ฅผ ์—ฌ๋Ÿฌ ๋ฒ„์ „์œผ๋กœ ๋™์‹œ์— ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ƒˆ๋กœ์šด ๋ฒ„์ „์„ ๋น ๋ฅด๊ฒŒ ๋ฐ˜๋ณต, ํ…Œ์ŠคํŠธ ๋ฐ ๋ฆด๋ฆฌ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์œ ์—ฐํ•œ ๋ณด์•ˆ ์ œ์–ด

API Gateway๋Š”API์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๊ณ  ์„œ๋น„์Šค ์ž‘์—…์„ ์œ„ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ œ์–ดํ•˜๋Š” ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. AWS Identity and Access Management(IAM)์™€ Amazon Cognito ๊ฐ™์€ AWS ๊ด€๋ฆฌ ๋ฐ ๋ณด์•ˆ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ API์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Amazon API Gateway๋Š” AWS์—์„œ ์ž์ฒด API๋ฅผ ํ™•์ธํ•  ๋•Œ ์‚ฌ์šฉํ•œ ๊ฒƒ๊ณผ ๋™์ผํ•œ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ช…๋œ API ํ˜ธ์ถœ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. OAuth ํ† ํฐ ๋˜๋Š” ๋‹ค๋ฅธ ์ธ์ฆ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ด๋ฏธ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ, ์ˆ˜์‹  ์š”์ฒญ์„ ํ™•์ธํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋„๋ก Amazon API Gateway์—์„œ AWS Lambda๋ฅผ ํ†ตํ•ด Lambda ๊ถŒํ•œ ๋ถ€์—ฌ์ž๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์„œ๋ฒ„ ์—†์ด API ์‹คํ–‰

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

๊ธฐ์กด ์„œ๋น„์Šค๋ฅผ ์œ„ํ•œ RESTFUL API ์—”๋“œํฌ์ธํŠธ ์ƒ์„ฑ

Amazon API Gateway๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ตœ์‹  ๋ฆฌ์†Œ์Šค ๊ธฐ๋ฐ˜ API๋ฅผ ์ƒ์„ฑํ•œ ํ›„ ์œ ์—ฐํ•œ ๋™์  ๋ฐ์ดํ„ฐ ๋ณ€ํ™˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€์ƒ ์„œ๋น„์Šค์— ํ•„์š”ํ•œ ์–ธ์–ด๋กœ ์š”์ฒญ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, API Gateway๋Š” ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ํŠธ๋ž˜ํ”ฝ ์ŠคํŒŒ์ดํฌ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ๋ฐฑ์—”๋“œ ์ธํ”„๋ผ๊ฐ€ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ํ•œ๋„๋ฅผ ๋„˜์ง€ ์•Š๋„๋ก ์ œํ•œ ๊ทœ์น™์„ ์„ค์ •ํ•˜์—ฌ ๊ธฐ์กด ์„œ๋น„์Šค๋ฅผ ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค.

Amazon API Gateway ์‹œ์ž‘ํ•˜๊ธฐ

icon1

AWS ๊ณ„์ • ๋“ฑ๋ก

AWS ํ”„๋ฆฌ ํ‹ฐ์–ด์— ์ฆ‰์‹œ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
icon2

๋‹จ๊ณ„๋ณ„ ์ž์Šต์„œ๋กœ ํ•™์Šต

๊ฐ„๋‹จํ•œ ์ž์Šต์„œ๋ฅผ ํ†ตํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด์‹ญ์‹œ์˜ค.
icon3

AWS๋ฅผ ์‚ฌ์šฉํ•ด ๊ตฌ์ถ• ์‹œ์ž‘

AWS Management Console๋กœ ์ด๋™ํ•˜์‹ญ์‹œ์˜ค.

Amazon API Gateway์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ

๊ธฐ๋Šฅ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜๊ธฐ
๊ตฌ์ถ•ํ•  ์ค€๋น„๊ฐ€ ๋˜์…จ์Šต๋‹ˆ๊นŒ?
Amazon API Gateway ์‹œ์ž‘ํ•˜๊ธฐ
์งˆ๋ฌธ์ด ์žˆ์œผ์‹ญ๋‹ˆ๊นŒ?
๋ฌธ์˜์ฒ˜