API Gateway์˜ ๋„๋ฉ”์ธ์„ ๋‚ด ๋„๋ฉ”์ธ์œผ๋กœ ์„ค์ •ํ•˜๊ธฐ

๋ฐ˜์‘ํ˜•

์ตœ๊ทผ ์ €๋Š” MSA(Micro Service Architecture)๋ฅผ ๋‹ค๋ฃจ๋ฉด์„œ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค์—๋Š” ์—ฌ๋Ÿฌ ์„œ๋น„์Šค๊ฐ€ ์žˆ์ง€๋งŒ ๊ทธ ์ค‘์—์„œ๋„ ์ฒ˜์Œ ๋‹ค๋ฃจ๊ธฐ ์‰ฌ์šด ๊ฒƒ์€ ๋ฐ”๋กœ AWS(Amazon Web Service)์ด์ง€ ์•Š๋‚˜ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.



Why AWS?

ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค์—๋Š” ๊ต‰์žฅํžˆ ๋งŽ์ด ์žˆ์ง€๋งŒ ๊ทธ ์ค‘์—์„œ๋„ ์ œ๊ฐ€ ์‚ฌ์šฉํ•˜๋ ค ํ•˜๋Š” ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค๋Š” IaaS, PaaS์ž…๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์ œ๊ฐ€ ๊ฒฐ์‚ฐ ํฌ์ŠคํŠธ์—๋„ ์˜ฌ๋ ธ ๋“ฏ์ด Slack ๋ฉ”์‹ ์ €๋ฅผ ์ด์šฉํ•ด์„œ ๋ธ”๋กœ๊ทธ ๋ฐฉ๋ฌธ์ž ์ˆ˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๋Š” ์ผ๋„ AWS๋ฅผ ์ด์šฉํ•ด์„œ ์„œ๋น„์Šคํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ๋‹ค๋ฅธ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค(Google Cloud Platform, Microsoft Azure)๋“ค๋„ ์กด์žฌํ•˜์ง€๋งŒ ์ฒ˜์Œ ๊ฐ€์ž…ํ–ˆ์„ ๋•Œ 1๋…„ ๋™์•ˆ ์ฒœ์ฒœํžˆ ์ด๋Ÿฐ ์ €๋Ÿฐ ์„œ๋น„์Šค๋ฅผ ๊ฒฝํ—˜ํ•ด๋ณด๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ , ๋ฌด์—‡๋ณด๋‹ค ์ฒ˜์Œ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ์ด ์ต์ˆ™ํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์„ ๊ณ ๋ คํ•œ ๊ฒƒ์ด AWS ๋งŒํผ ์„œ๋น„์Šคํ•˜๋Š” ๊ฒƒ๋„ ์—†๋‹ค ์ƒ๊ฐํ•ด์„œ ์ €๋Š” AWS๋ฅผ ์„ ํƒํ•˜์˜€์Šต๋‹ˆ๋‹ค.



API Gateway

API Gateway๋Š” AWS์—์„œ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค ์ค‘์— ํ•˜๋‚˜๋กœ, ์ž์‹ ์ด ํด๋ผ์šฐ๋“œ์—์„œ ๋งŒ๋“  ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก URL์„ ์ œ๊ณตํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. 

๊ทธ๋Ÿฐ๋ฐ, API Gateway๋ฅผ ํ†ตํ•ด URL์„ ์ œ๊ณต๋ฐ›์œผ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ URL์„ ์ œ๊ณต๋ฐ›๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.


https://qwer1234abcdedf.execute-api.us-east-2.amazon.aws.com/api_name


์œ„ URL์€ AWS์—์„œ ์ œ๊ณตํ•ด์ฃผ๋Š” URL์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ณด๋‹ค์‹œํ”ผ URL์ด ๊ธธ๊ณ  ์™ธ์šฐ๊ธฐ๋„ ์“ฐ๊ธฐ๋„ ๋งค์šฐ ๋ณต์žกํ•œ ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ €๋Š” ํ˜„์žฌ ์ œ๊ฐ€ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ๋„๋ฉ”์ธ์œผ๋กœ ์ด๋ฅผ ๋ฐ”๊ฟ”๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.


https://awsapis.yourdomain.kr/api_name


์œ„์™€ ๊ฐ™์ด ๋„๋ฉ”์ธ์„ ์‚ฌ์šฉํ•˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ๋„ ์งง์€ URL๋กœ ์ œ๊ณต๋˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉํ•˜๊ธฐ๊ฐ€ ํŽธํ•ด์ง‘๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์ €๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๊ฒ ์ง€์š”? 



HTTPS ์‚ฌ์šฉ

์‚ฌ์šฉ์ž ๋„๋ฉ”์ธ์„ ์‚ฌ์šฉํ•˜๋ ค๋Š” ๋ฐ, ํ•œ ๊ฐ€์ง€ ๋ณด์ด๋Š” ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ HTTPS ํ”„๋กœํ† ์ฝœ์ธ๋ฐ์š”. AWS์—์„œ๋Š” HTTP ํ”„๋กœํ† ์ฝœ์„ ๊ถŒ์žฅํ•˜์ง€ ์•Š๊ณ , HTTPS ํ”„๋กœํ† ์ฝœ ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋จผ์ € ๋ณธ์ธ์ด ์‚ฌ์šฉํ•˜๋ ค๋Š” ๋„๋ฉ”์ธ์˜ ์ธ์ฆ์„œ๊ฐ€ ํ•„์š”ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ฌธ์ œ๋˜์ง€ ์•Š์ฃ . ์šฐ๋ฆฌ์—๊ฒŒ๋Š” Let's Encrypt๋ผ๋Š” ์ข‹์€ ๊ฒƒ์ด ์žˆ์œผ๋‹ˆ๊น์š”. 


Let's Encrypt (๋ฌด๋ฃŒ SSL ์ธ์ฆ์„œ) ์„ค์น˜์™€ ํ™œ์šฉ


๊ฝค ์˜ค๋ž˜๋œ ๊ธ€์ด์ง€๋งŒ, Let's encrypt์— ๋Œ€ํ•ด์„œ ์ž˜ ๋ชจ๋ฅด์‹œ๊ฐฐ๋‹ค๋ฉด, ์œ„์˜ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ ์ฐธ๊ณ ํ•ด๋ณด์„ธ์š”. 


๊ฐ„๋‹จํžˆ ์š”์•ฝํ•˜์ž๋ฉด, ์›๋ž˜ SSL ์ธ์ฆ์€ CA๋‚˜ SSL ๋Œ€ํ–‰์‚ฌ์—์„œ ์ง„ํ–‰ํ•˜์—ฌ ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰ํ•˜๊ณ , ์ธ์ฆํ•˜๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค, ๊ทธ๋Ÿฌ๋‚˜ Let's Encrypt๋Š” ์ž์ฒด์ ์œผ๋กœ ๊ฐœ๋ฐœํ•œ ACME(Automated Certificate Management Environment) ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์–ด ๋„๋ฉ”์ธ ์ธ์ฆ, ์ธ์ฆ์„œ ๋ฐœ๊ธ‰์„ ์ž๋™ํ™” ํ•œ ๊ฒƒ์ด์ฃ . 


Let's Encrypt๊ฐ€ ์•„๋‹ˆ๋”๋ผ๋„, AWS Certificate Manager ํ†ตํ•ด์„œ ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰ ๋ฐ›๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค.
๋งŒ์•ฝ AWS Certificate Manager๋กœ ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰ ๋ฐ›๊ณ ์ž ํ•˜๋Š” ๊ฒฝ์šฐ, ์•„๋ž˜์˜ ์ธ์ฆ์„œ ์ƒ์„ฑ ๊ณผ์ •์€ ์ƒ๋žตํ•˜์‹œ๊ณ , ๋งค๋‹ˆ์ €์˜ ์ง€์นจ์„ ๋”ฐ๋ฅด์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.



ACME ๊ณ„์ • ์ธ์ฆ

์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰๋ฐ›๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋จผ์ € ACME ๊ณ„์ •์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ACME ๊ณ„์ •์€ SSL/TLS ์ธ์ฆ์—์„œ CA์˜ ์—ญํ• ์„ ๋งก๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด CA์—๋Š” ์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ๊ฐ€ ๋“ค์–ด๊ฐ€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.


$ sudo apt install golang

์ด ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Go ์–ธ์–ด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋ˆ…์Šค์˜ ๊ฒฝ์šฐ ์œ„ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Go ์–ธ์–ด๋ฅผ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. OS X์˜ ๊ฒฝ์šฐ, brew ๋“ฑ์˜ ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €๋ฅผ ํ†ตํ•ด ์„ค์น˜ํ•˜์‹œ๊ธฐ๋ฅผ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.


$ go get -u https://github.com/google/acme

go ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•ด์„œ acme ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๊ฐ€์ ธ์˜จ ๋’ค ์ปดํŒŒ์ผํ•ฉ๋‹ˆ๋‹ค. ์ปดํŒŒ์ผ ํ•œ ๋’ค์˜ ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ์€ ~/go/bin ์— ์กด์žฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.


$ acme reg -gen -accept mailto:yourid@youremail.com

๋จผ์ € ACME ๊ณ„์ •์„ ์ƒ์„ฑํ•ด๋ด…๋‹ˆ๋‹ค. ์ž์‹ ์˜ ์œ ํšจํ•œ ์ด๋ฉ”์ผ ์ฃผ์†Œ๋ฅผ ๋„ฃ์–ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.


๊ทธ๋Ÿฌ๋ฉด ์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ๋กœ ๋งŒ๋“ค์–ด์ง„ CA๊ฐ€ ์—ฌ๊ธฐ์— ์ƒ์„ฑ์ด ๋ฉ๋‹ˆ๋‹ค.



์ธ์ฆ ๊ฐœ์ธํ‚ค ์ƒ์„ฑ ๋ฐ ๋„๋ฉ”์ธ ์ธ์ฆ

SSL ์ธ์ฆ์€ ๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™” ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์•”ํ˜ธํ™” ํ†ต์‹ ์—์„œ ๋ณตํ˜ธํ™”๋ฅผ ๋‹ด๋‹นํ•  ๊ฐœ์ธํ‚ค๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. 


$ openssl genrsa -out awsapis.yourdomain.kr.key 2048

openssl ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•ด์„œ ํ‚ค๋ฅผ ์ƒ์„ฑํ•ด์ค๋‹ˆ๋‹ค.

์ž ์ด์ œ ํ‚ค๋ฅผ ์ƒ์„ฑํ–ˆ์œผ๋ฉด ๋„๋ฉ”์ธ๊ณผ ์—ฐ๋™ํ•˜๋Š” ์ž‘์—…์„ ๊ฑฐ์ณ์•ผ๊ฒ ์ฃ ?


$ acme cert -k awsapis.yourdomain.kr.key -dns=true awsapis.yourdomain.kr

๋ฐฉ๊ธˆ ์ƒ์„ฑํ•œ ํ‚ค์™€ ์—ฐ๋™ํ•  ๋„๋ฉ”์ธ์„ ์ž…๋ ฅํ•ด์ค๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ํ™”๋ฉด์ด ๋œฐ ๊ฒƒ์ž…๋‹ˆ๋‹ค.


Add a TXT record for _acme-challenge.awsapis.yourdomain.kr with the value "Ab$c#de@f@ghijKl!@mnoPqrstuVwxyZ" and press enter after it has propagated.

๊ทธ๋Ÿผ ์„ค์ •ํ•˜๊ณ ์ž ํ•˜๋Š” ๋„๋ฉ”์ธ ์—…์ฒด๋ฅผ ํ†ตํ•ด์„œ TXT record ๊ฐ’์„ ์„ค์ •ํ•ด์ฃผ์‹œ๊ณ , enter๋ฅผ ๋ˆ„๋ฅด์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. 


cert url: https://acme-v01.api.yourdomain.kr/yourCode

๋งˆ์ง€๋ง‰์œผ๋กœ ๋„๋ฉ”์ธ ์ œ๊ณต ์—…์ฒด์— ์œ„ value ๊ฐ’์„ ๋„ฃ์–ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.



์ธ์ฆ์„œ ๊ฐ€์ ธ์˜ค๊ธฐ

์ด์ œ ๊ฐœ์ธํ‚ค์— ๋‚ด ๋„๋ฉ”์ธ์„ ์ž…๋ ฅํ–ˆ์œผ๋‹ˆ ๋‚จ์€ ๊ฒƒ์€ AWS์™€ ์—ฐ๋™ํ•˜๋Š” ๊ฒƒ์ด์ฃ ? ๋จผ์ € ์ฒ˜์Œ์€ AWS ์ธ์ฆ ๊ด€๋ฆฌ์ž๋ฅผ ํ†ตํ•ด ์ธ์ฆ์„œ๋ฅผ ๊ฐ€์ ธ์˜ค๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.


Region์„ us-east(๋ฏธ๊ตญ, ๋ฒ„์ง€๋‹ˆ์•„ ๋ถ๋ถ€)๋กœ ํ•œ ๋‹ค์Œ, AWS Ceritificate Manager๋ฅผ ์—ด๊ณ , ์ธ์ฆ์„œ ๊ฐ€์ ธ์˜ค๊ธฐ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ Let's encrypt๋กœ ์ƒ์„ฑํ•œ ์ธ์ฆ์„œ๋ฅผ ๊ฐ€์ ธ์˜ค๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.


ํ•ญ๋ชฉ์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์„ ์ž…๋ ฅํ•œ ํ›„, ๊ฒ€ํ†  ๋ฐ ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.


๊ฐœ์ธํ‚ค๋Š” ๋ฐฑ์—…ํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€์™€ ํ•จ๊ป˜ ์ธ์ฆ์„œ ์œ ํšจ๊ธฐ๊ฐ„๊ณผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋“ฑ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

Import๋ฅผ ํด๋ฆญํ•˜๋ฉด, AWS CloudFront์— ๊ฐ€์ ธ์˜จ ์ธ์ฆ์„œ๊ฐ€ ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.



์‚ฌ์šฉ์ž ์ง€์ • ๋„๋ฉ”์ธ ์ด๋ฆ„ ์ถ”๊ฐ€

์ด์ œ ์ธ์ฆ์„œ๋„ ๊ฐ€์ ธ์™”์œผ๋‹ˆ, ๋งˆ์ง€๋ง‰์œผ๋กœ API Gateway์— ๋‚ด ๋„๋ฉ”์ธ์„ ์ถ”๊ฐ€ํ•ด๋ณด๋„๋ก ํ•˜์ฃ . API Gateway์—์„œ ์‚ฌ์šฉ์ž ์ง€์ • ๋„๋ฉ”์ธ ์ด๋ฆ„ ์ƒ์„ฑ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ด์ค๋‹ˆ๋‹ค.


๋„๋ฉ”์ธ ์ด๋ฆ„์„ ๋„ฃ๊ณ , ACM ์ธ์ฆ์„œ์— ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ์•„๊นŒ ๋“ฑ๋กํ–ˆ๋˜ ์ธ์ฆ์„œ๊ฐ€ ํ‘œ์‹œ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ์ธ์ฆ์„œ๋ฅผ ๋ˆ„๋ฅด๊ณ  ์ €์žฅ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

CloudFront๋กœ ์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ๋„๋ฉ”์ธ์ด ์ƒ์„ฑ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์•ฝ 1์‹œ๊ฐ„ ์ •๋„ ์†Œ์š”๋ฉ๋‹ˆ๋‹ค.


์ƒ์„ฑ๋œ CloudFront ๋„๋ฉ”์ธ์„ CNAME ๋ ˆ์ฝ”๋“œ์— ์ž…๋ ฅํ•˜๋ฉด, ์ด์ œ ์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ REST API๊ฐ€ ์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ๋„๋ฉ”์ธ์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.



๋งˆ์น˜๋ฉฐ...

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


ํŠนํžˆ REST API๋Š” ์š”์ฆ˜ ๊ฐ๊ด‘ ๋ฐ›๋Š” ๊ธฐ์ˆ  ์ค‘์— ํ•˜๋‚˜๋กœ, ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ SPA(Single Page Application)์—์„œ๋„ ๋งŽ์ด ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์•Œ์•„๋‘์‹œ๋ฉด ๋งค์šฐ ์ข‹์Šต๋‹ˆ๋‹ค.


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

๋ฐ˜์‘ํ˜•
TAGS.

Tistory Comments