[Final Project] ๐ŸฅทDay10,11,12- review

๋ฐ•ํ˜•์„ยท2022๋…„ 6์›” 6์ผ
0

FInal-Project

๋ชฉ๋ก ๋ณด๊ธฐ
10/11
post-thumbnail

๐Ÿ˜€Final project Day-10~12

์š”์•ฝ

AWS Opensearch์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ApiGateway ๊ตฌํ˜„ ๋ฐ IaC ์ž‘์„ฑ


์˜ค๋Š˜ ํ•œ ์ผ

1. Terraform์œผ๋กœ Api gateway ์ƒ์„ฑ

ํ…Œ๋ผํผ์€ ์ •๋ง ํŽธ๋ฆฌํ•œ ๊ฒƒ ๊ฐ™๋‹ค. ํ•˜์ง€๋งŒ ํ•˜๋‚˜ํ•œ ์„ค์ •์„ ํ•ด์•ผ ํ•˜๋‹ค๋ณด๋‹ˆ ๊ท€์ฐฎ์€ ๋ฉด๋„ ๋งŽ๋‹ค. ํŠนํžˆ Api gateway๊ฐ€ ์„ค์ •์„ ํ•˜๋‚˜ํ•˜๋‚˜ ํ•ด์•ผ ํ•œ๋‹ค๋Š”๊ฒƒ์ด ๊ท€์ฐฎ์€ ์ผ์ด ๋งŽ์•˜๋‹ค.

์œ„์˜ ์‚ฌ์ง„์— ๋ณด์ด๋Š” ๋งค์„œ๋“œ ์š”์ฒญ, ํ†ตํ•ฉ ์š”์ฒญ, ํ†ตํ•ฉ ์‘๋‹ต, ๋ฉ”์„œ๋“œ ์‘๋‹ต๋“ค์ด ์ „๋ถ€ AWS ๋ฆฌ์†Œ์Šค๋กœ ์ ์šฉ์ด ๋œ๋‹ค.
์ฝ˜์†”๋กœ ๋งŒ๋“ค ๋•Œ๋Š” ์ •๋ง ๊ฐ„๋‹จํ–ˆ์ง€๋งŒ IaC๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๊ณผ์ •์ด ๋งค์šฐ ์„ธ์„ธํ•œ ์„ค์ •์„ ์š”๊ตฌํ–ˆ๋‹ค.

ํ•˜์ง€๋งŒ Lambda์˜ ํŠธ๋ฆฌ๊ฑฐ๋กœ ์ž‘๋™ํ•˜๋Š” Api gateway๋ฅผ ๋งŒ๋“œ๋ ค๊ณ  ํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€๋‹ค.

2. AWS IAM ์ง€์ • ๋ฐ ๋ฆฌ์†Œ์Šค ์ด๋ฆ„ ์žฌ ์„ค์ •

๋ฆฌ์†Œ์Šค๋“ค์„ ๋งŒ๋“ค ๋•Œ ๊ตฌ๊ธ€์— ๊ฒ€์ƒ‰ํ•œ ๊ฒฐ๊ณผ๋“ค์„ ์นดํ”ผํ•˜์—ฌ ๋งŒ๋“ค๊ณ  ์žˆ์—ˆ๋Š”๋ฐ ์–ด๋Š ์ˆœ๊ฐ„ ๋„˜์–ด๊ฐ€๋‹ค ๋ณด๋‹ˆ ์ค‘๋ณต๋œ ๋ฆฌ์†Œ์Šค ์ด๋ฆ„๋“ค์ด ์ƒ๊ฒจ๋‚˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์šฉ๋„์— ๋งž๋Š” ์ ์ ˆํ•œ ์ด๋ฆ„์œผ๋กœ ํ…Œ๋ผํผ ์ฝ”๋“œ ๋ฆฌ์†Œ์Šค ์ด๋ฆ„๋“ค์„ ์ •๋ฆฌ ํ•˜์˜€๋‹ค.

3. ๋ฐ๋ชจ ํ…Œ์ŠคํŠธ

์•ฝ 2์ฃผ๊ฐ„ ๋งŒ๋“ค์–ด์ง„ ์•„ํ‚คํ…์ฒ˜๋“ค์„ ํ…Œ์ŠคํŠธ ํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ๋‹ค.

์šฐ์„  ์šฐ๋ฆฌ์˜ ์•„ํ‚คํ…์ฒ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

๊ฐ„๋‹จํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

1. Api POST ์š”์ฒญ์„ ๋ณด๋‚ด์„œ ๋“œ๋ผ์ด๋ฒ„์˜ ํ˜„์žฌ ์œ„์น˜๋ฅผ ์ „์†กํ•œ๋‹ค.

2. opensearch์— ๋“œ๋ผ์ด๋ฒ„์˜ ์œ„์น˜์ •๋ณด๊ฐ€ ์ €์žฅ๋œ๋‹ค.

3. Api GET ์š”์ฒญ์„ ๋ณด๋‚ด์„œ ๋“œ๋ผ์ด๋ฒ„์˜ ํ˜„์žฌ ์œ„์น˜๋ฅผ ์–ป์–ด ์˜จ๋‹ค.


๋ฐฐ์šด ์ 

๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์— ์—ด์ค‘ํ•˜๋‹ค๋ณด๋‹ˆ ํšŒ๊ณ ๋ฅผ ํ•˜์ง€ ๋ชปํ–ˆ๋‹ค.

๋งค์ผ๋งค์ผ ํšŒ๊ณ ๋ฅผ ํ•˜๋Š”๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ์žก์•˜๋‹ค.
ํ•˜์ง€๋งŒ ๋งค์ผ๋งค์ผ ํšŒ๊ณ  ํ•œ๋‹ค๋Š” ๊ฒƒ์€ ์ข‹์€ ์‹œ๋„์ง€๋งŒ ๋‚ด๊ฐ€ ๋ชฐ๋‘ํ•˜๊ณ  ์žˆ๋Š” ์ผ์ด ์žˆ์„ ๋•Œ๋Š” ํšŒ๊ณ ๊ฐ€ ํ๋ฆ„์„ ๋Š๋Š๋‹ค๋Š” ๋Š๋‚Œ์ด ๋“ค์—ˆ๋‹ค.

ํšŒ๊ณ ๋ฅผ ํ•˜๋Š” ๋ชฉ์ ์€ ๊ฐœ์ธ์ ์œผ๋กœ ์„ฑ์žฅ์„ ์œ„ํ•ด์„œ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค.
ํšŒ๊ณ ๋„ ์ค‘์š”ํ•˜์ง€๋งŒ ํ•™์Šต๊ณผ ๋ชฐ์ž…๋„ ์ค‘์š”ํ•œ ์š”์†Œ๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ๋‚˜์˜ ๋ชฉํ‘œ๋Š” ์ฃผ๊ฐ„ ํšŒ๊ณ ๋ฅผ ๊พธ์ค€ํžˆ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ํšŒ๊ณ ๋ฅผ ํ•จ์œผ๋กœ์จ ๋‚ด๊ฐ€ ๋ชฉํ‘œํ•œ ๊ฒƒ๋“ค์„ ๋‹ค์‹œ ์ƒ๊ธฐ์‹œํ‚ค๊ณ  ๊ธธ์„ ์žƒ์ง€ ์•Š๊ฒŒ ๊พธ์ค€ํ•œ ์„ฑ์žฅ์„ ๋ชฉํ‘œ๋กœ ํ•ด์•ผ๊ฒ ๋‹ค.

ํŒ€์›๊ฐ„์˜ ํ™”ํ•ฉ์˜ ์ค‘์š”์„ฑ

2์ฃผ ๋„˜๊ฒŒ ๋‚˜๋ฅผ ํฌํ•จ 4๋ช…์˜ ํŒ€์›๋“ค๊ณผ ํ˜‘์—…ํ•˜์˜€๋‹ค. ์˜คํ”„๋ผ์ธ ํ”„๋กœ์ ํŠธ์—์„œ ์ข…์ข… ํŠธ๋Ÿฌ๋ธ”์ด ์ƒ๊ธฐ๋Š” ํŒ€๋“ค๋„ ๊ฐ„ํ˜น ๋ณด์˜€๋‹ค. ํ•˜์ง€๋งŒ ์šฐ๋ฆฌํŒ€์€ ๋‚ด๋ถ€์ ์œผ๋กœ, ์™ธ๋ถ€์ ์œผ๋กœ ํŒ€์›๊ฐ„์˜ ํ™”ํ•ฉ์ด ์ข‹๋‹ค๊ณ  ํ‰๊ฐ€๋ฐ›๊ณ  ๋Š๊ผˆ๋‹ค. ํŠธ๋Ÿฌ๋ธ”์ด ์ƒ๊ฒจ์„œ ํ•ด๊ฒฐ์„ ํ–ˆ๋‹ค๊ธฐ๋ณด๋‹จ, ์„œ๋กœ์˜ ์˜๊ฒฌ์„ ์ž˜ ๊ฒฝ์ฒญํ•˜๊ณ  ๋ฐ›์•„๋“ค์ด๋Š” ํƒœ๋„๊ฐ€ ํŠธ๋Ÿฌ๋ธ”์ด ์ƒ๊ธฐ์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™๋‹ค.

์•„์ง ํŠธ๋Ÿฌ๋ธ”์ด ์ƒ๊ธฐ์ง€ ์•Š์€ ๊ฒƒ ์ผ์ˆ˜๋„ ์žˆ์ง€๋งŒ ๋งŒ์•ฝ ํŠธ๋Ÿฌ๋ธ”์ด ์ƒ๊ธฐ๊ฒŒ ๋˜๋”๋ผ๋„ ์„œ๋กœ์˜ ์ž…์žฅ์—์„œ ์›ํ•˜๋Š” ๋ฐ”์™€ ํŠธ๋Ÿฌ๋ธ”์˜ ์›์ธ์˜ ์ดํ•ด๊ด€๊ณ„๋ฅผ ์ž˜ ํ’€์–ด๊ฐ€๋ฉด ๋๊นŒ์ง€ ์ข‹์€ ๋ถ„์œ„๊ธฐ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งˆ๋ฌด๋ฆฌ ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.

๋‚˜์˜ ๋ถ€์กฑํ•จ

ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋‚˜์˜ ์‹ค๋ ฅ์— ๋Œ€ํ•œ ๋ถ€์กฑํ•จ์„ ๋Š๊ผˆ๋‹ค.

์ˆ˜๋งŽ์€ ์ž๋ฃŒ๋“ค์„ ๊ฒ€์ƒ‰ํ•˜๊ณ  ์ •๋ฆฌํ•˜๊ณ  ์ ์šฉํ•˜๋Š” ๊ณผ์ •์—์„œ ์ข‹์€ ์ •๋ณด๋“ค์„ ์ฐพ๋Š” ๋Šฅ๋ ฅ๊ณผ ํ™œ์šฉํ•˜๋Š” ๋Šฅ๋ ฅ์ด ๋ถ€์กฑํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.

ํ•œํŽธ ์ด๋ ‡๊ฒŒ ๋Š๋ผ๊ฒŒ ๋œ ์ด์œ ๋„ ์ƒ๊ฐ์„ ํ•ด ๋ณด์•˜๋‹ค. ๊ทธ ์ด์œ ์ค‘ ํ•˜๋‚˜๋Š” ๋‚˜์˜ ์กฐ๊ธ‰ํ•จ์ด๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

์ข‹์€ ๊ฒฐ๊ณผ๋ฌผ์„ ๋งŒ๋“ค๊ณ  ์‹ถ์€ ์š•์‹ฌ๊ณผ ์—ฌ์œ ๋กญ๊ฒŒ ๊ตฌํ˜„ํ•˜๊ณ  ์‹ถ์€ ์š•๊ตฌ๋กœ ์ธํ•ด์„œ ํ•™์Šตํ•˜๋ฉฐ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์ˆœ๊ฐ„์ˆœ๊ฐ„ ์ ์šฉํ•˜๊ณ  ์•ˆ๋˜๋ฉด ์žŠ์–ด๋ฒ„๋ฆฌ๋Š” ๋ฐฉ์‹์œผ๋กœ ์ˆœ๊ฐ„๋งŒ์„ ์œ„ํ•œ ๋ฐฉ์‹์„ ์ทจํ•˜๊ณ  ์žˆ์—ˆ๋‹ค.

์•ž์œผ๋กœ์˜ ๋ฐฐ์šธ ๊ฒƒ๋“ค์ด ๋ฌด๊ถ๋ฌด์ง„ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฌํ•œ ํŽ˜์ด์Šค๋กœ ์ง€์†ํ•˜๊ฒŒ ๋˜๋ฉด ๋‚˜์˜ ์‹ค๋ ฅ์— ๋Œ€ํ•œ ๋ฐœ์ „์— ํ•œ๊ณ„๋ฅผ ๋Š๋ผ๊ฒŒ ๋  ๊ฒƒ ๊ฐ™๋‹ค. ์กฐ๊ธˆ ๋Š๊ธ‹ํ•œ ์Šคํƒ ์Šค๋ฅผ ์œ ์ง€ํ•˜๋ฉฐ ๋ฐฐ์›€์„ ์ง€์†ํ•ด ๋‚˜๊ฐ€์•ผ๊ฒ ๋‹ค.

๋‹ค์Œ ํ•  ์ผ

๋ฐœํ‘œ ์ค€๋น„

ํ”„๋กœ์ ํŠธ์˜ ๋งˆ๋ฌด๋ฆฌ๋Š” ๋ฐœํ‘œ๋กœ ๋๋‚œ๋‹ค. ๋ฐœํ‘œ์— ํ•„์š”ํ•œ ๋ฐ๋ชจ์™€ ํฌ์Šคํ„ฐ๋ฅผ ๋งŒ๋“ค์–ด์•ผ ๊ฒ ๋‹ค.

profile
Better Than Yesterday

0๊ฐœ์˜ ๋Œ“๊ธ€