Recent Posts
Recent Comments
Archives
๋ฐ˜์‘ํ˜•
250x250
ยซ   2024/05   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Today
Yesterday

Total
05-06 04:14
๊ด€๋ฆฌ ๋ฉ”๋‰ด

Hey Tech

AWS Lambda์™€ Docker๋ฅผ ํ™œ์šฉํ•œ ํŒŒ์ผ ์—…๋กœ๋“œ/์ฝ๊ธฐ ์‹œ์Šคํ…œ ๊ตฌํ˜„ ๋ณธ๋ฌธ

SW ๊ฐœ๋ฐœ/Amazon Web Service

AWS Lambda์™€ Docker๋ฅผ ํ™œ์šฉํ•œ ํŒŒ์ผ ์—…๋กœ๋“œ/์ฝ๊ธฐ ์‹œ์Šคํ…œ ๊ตฌํ˜„

Tony Park 2022. 6. 20. 04:00
728x90
๋ฐ˜์‘ํ˜•

๐Ÿ“š ๋ชฉ์ฐจ

1.  ๊ฐœ์š”
2.  AWS ๊ธฐ๋ณธ ์„ธํŒ…
3.  React ๊ธฐ๋ฐ˜ ์›น ํŽ˜์ด์ง€ ๊ตฌํ˜„
4.  AWS ECR ์ƒ์„ฑ
5.  AWS IAM Role ์ƒ์„ฑ
6.  ํ”„๋กœ์ ํŠธ ํŒŒ์ผ ๋ฐ›๊ธฐ
7.  Docker ์„ค์น˜
8.  AWS CLI ์„ค์น˜
9.  Docker ์ด๋ฏธ์ง€ ๋นŒ๋“œ
10.  AWS ECR ๋กœ๊ทธ์ธ
11.  ๋„์ปค ์ด๋ฏธ์ง€ PUSH
12.  Lambda ํ•จ์ˆ˜ ์ƒ์„ฑ
13.  AWS API Gateway ์ƒ์„ฑ
14.  Axios ๊ธฐ๋ฐ˜ API Call
15.  S3 ๊ธฐ๋ฐ˜ ์ •์  ์›น ํ˜ธ์ŠคํŒ…
16.  ํŒŒ์ผ ์ฝ์–ด์˜ค๊ธฐ ํ…Œ์ŠคํŠธ

1.  ๊ฐœ์š”

๋ณธ ํฌ์ŠคํŒ…์—์„œ๋Š” Docker๋ฅผ ํ™œ์šฉํ•˜์—ฌ AWS Lambda์—์„œ ์šฐ๋ถ„ํˆฌ์™€ ํŒŒ์ด์ฌ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ์„ธํŒ…ํ•˜๊ณ , AWS API Gateway๋ฅผ ํ†ตํ•ด ์›น์—์„œ ๋„˜์–ด์˜ค๋Š” ํŒŒ์ผ์˜(i.e., POST ๋ฉ”์„œ๋“œ) ๋‚ด์šฉ์„ ์ถœ๋ ฅํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ์•ž์„œ ๋‹ค๋ฃฌ AWS๋ฅผ ํ™œ์šฉํ•œ ํŒŒ์ผ ์—…๋กœ๋“œ ์›น ์‹œ์Šคํ…œ ๊ตฌ์ถ• ํ”„๋กœ์ ํŠธ์™€ ๊ฒน์น˜๋Š” ๋‚ด์šฉ์ด ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ์ด์ „์— ์ •๋ฆฌํ•œ ์ž๋ฃŒ๋ฅผ ๋งŽ์ด ๊ฐ€์ ธ์™”๋‹ค๋Š” ์  ์ฐธ๊ณ ํ•ด ์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค(Conf., ์•„๋ž˜์˜ '๋”๋ณด๊ธฐ').

๋”๋ณด๊ธฐ

1) ์‚ฌ์šฉ ๊ธฐ์ˆ 

  • Amazon Web Service(AWS)
    • AWS Lambda
    • AWS ECR
    • AWS IAM
    • AWS API Gateway
    • AWS S3
  • Docker
  • React
  • Python 3.6
  • Ubuntu 20.04

2) ์•„ํ‚คํ…์ฒ˜ ๋‹ค์ด์–ด๊ทธ๋žจ

์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด, S3์— ์ •์  ํ˜ธ์ŠคํŒ… ํ•œ React ๊ธฐ๋ฐ˜ ์›น์— ์‚ฌ์šฉ์ž๊ฐ€ ๋กœ์ปฌ์—์„œ ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•  ๊ฒฝ์šฐ, API Gateway๋ฅผ ํ†ตํ•ด Docker๋กœ ๋นŒ๋“œํ•œ Ubuntu์™€ Python ๊ธฐ๋ฐ˜ ์ด๋ฏธ์ง€์—์„œ ํŒŒ์ผ ๋‚ด์šฉ์„ ์ถœ๋ ฅํ•˜๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค์ž…๋‹ˆ๋‹ค.

2.  AWS ๊ธฐ๋ณธ ์„ธํŒ…

1)  ์„œ๋น„์Šค ๊ฐ€์ž…

๋จผ์ € AWS ํ™ˆํŽ˜์ด์ง€์— ๋ฐฉ๋ฌธํ•˜์…”์„œ ํšŒ์›๊ฐ€์ž…์„ ํ•˜์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ๊ทธ๋ฆผ 1๊ณผ ๊ฐ™์ด ์ตœ์ดˆ ๊ฐ€์ž…ํ•œ ์ด๋ฉ”์ผ ๊ณ„์ •์œผ๋กœ 1๋…„๊ฐ„ ๋ฌด๋ฃŒ ์ฒดํ—˜ํŒ(a.k.a., ํ”„๋ฆฌ ํ‹ฐ์–ด)์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก  ๋ฌด๋ฃŒ์ธ ๋งŒํผ ์ €์‚ฌ์–‘ ์„œ๋น„์Šค ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ํšŒ์›๊ฐ€์ž… ์‹œ ํ•ด์™ธ ๊ฒฐ์ œ๊ฐ€ ๊ฐ€๋Šฅํ•œ ์‹ ์šฉ์นด๋“œ ๋“ฑ๋ก์ด ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค. ์œ ํšจํ•œ ์‹ ์šฉ์นด๋“œ์ธ์ง€ 100์›์„ ๊ฒฐ์ œํ–ˆ๋‹ค๊ฐ€ ๊ณง๋ฐ”๋กœ ์Šน์ธ ์ทจ์†Œ๋˜๋‹ˆ ์œ ํšจํ•œ ์‹ ์šฉ์นด๋“œ๋ฅผ ์ค€๋น„ํ•ด ์ฃผ์„ธ์š”.

๊ทธ๋ฆผ 1. AWS ํ™ˆํŽ˜์ด์ง€

2)  ์„œ๋น„์Šค ์ง€์—ญ ๋ณ€๊ฒฝ

ํšŒ์›๊ฐ€์ž…๊นŒ์ง€ ์™„๋ฃŒํ•˜์…จ๋‹ค๋ฉด ํ˜„์žฌ PC๋ฅผ ์‚ฌ์šฉ ์ค‘์ธ ์ง€์—ญ๊ณผ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ฑฐ๋ฆฌ์— ์žˆ๋Š” ์„œ๋น„์Šค ์ง€์—ญ(Region)์„ ์„ ํƒํ•˜์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ถ”ํ›„์— ์„œ๋น„์Šค ์š”๊ธˆ์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด๊ฒ ์ง€๋งŒ, ์„œ๋น„์Šค ์ง€์—ญ๋งˆ๋‹ค ๊ณผ๊ธˆ์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ๊ทธ๋ฆผ 2์ฒ˜๋Ÿผ, AWS ํ™ˆํŽ˜์ด์ง€ ์šฐ์ธก ์ƒ๋‹จ์— ์ง€์—ญ ์ด๋ฆ„์„ ํด๋ฆญํ•˜๋ฉด ์„œ๋น„์Šค ์ง€์—ญ์„ ๋ณ€๊ฒฝํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€ํ•œ๋ฏผ๊ตญ์— ๊ฑฐ์ฃผํ•˜๊ณ  ๊ณ„์‹œ๋‹ค๋ฉด Seoul์„ ์„ ํƒํ•ด ์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆผ 2. ์„œ๋น„์Šค ์ง€์—ญ ๋ณ€๊ฒฝ

3.  React ๊ธฐ๋ฐ˜ ์›น ํŽ˜์ด์ง€ ๊ตฌํ˜„

์•„๋ž˜์˜ ํฌ์ŠคํŒ…์„ ์ฐธ๊ณ ํ•˜์—ฌ ์›น ํŽ˜์ด์ง€๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

https://heytech.tistory.com/403

 

ํŒŒ์ผ ์—…๋กœ๋“œ ์›น ํŽ˜์ด์ง€ ๊ตฌ์ถ•: (1) React ๊ธฐ๋ฐ˜ Frontend ๊ฐœ๋ฐœ

๐Ÿ“Œ ์‹œ๋ฆฌ์ฆˆ ํฌ์ŠคํŒ… 1.  ํŒŒ์ผ ์—…๋กœ๋“œ ์›น ํŽ˜์ด์ง€ ๊ตฌ์ถ•: (1) React ๊ธฐ๋ฐ˜ Frontend ๊ฐœ๋ฐœ 2.  ํŒŒ์ผ ์—…๋กœ๋“œ ์›น ํŽ˜์ด์ง€ ๊ตฌ์ถ•: (2) AWS IAM ์—ญํ•  ์ƒ์„ฑ 3.  ํŒŒ์ผ ์—…๋กœ๋“œ ์›น ํŽ˜์ด์ง€ ๊ตฌ์ถ•: (3) AWS Lambda ์ƒ์„ฑ 4.  ํŒŒ..

heytech.tistory.com

4.  AWS ECR ์ƒ์„ฑ

AWS ECR์€ Docker๋กœ ๋นŒ๋“œํ•œ ์ด๋ฏธ์ง€๋ฅผ AWS ์ƒ์—์„œ ์ €์žฅํ•˜๊ณ  ๋‹ค๋ฅธ AWS ์„œ๋น„์Šค์—์„œ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•˜๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

1) AWS ECR ์ฝ˜์†” ์ ‘๊ทผ

์ƒ๋‹จ ๊ฒ€์ƒ‰์ฐฝ์— Elastic์„ ๊ฒ€์ƒ‰ํ•˜์‹œ๊ณ  Elastic Container Registry๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค(๊ทธ๋ฆผ 3).

๊ทธ๋ฆผ 3. AWS ECR ์ฝ˜์†” ์ ‘๊ทผ

3) ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ƒ์„ฑ

๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ƒ์„ฑ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค(๊ทธ๋ฆผ 4).

๊ทธ๋ฆผ 4. ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ƒ์„ฑ

๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ด๋ฆ„์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ์ด๋ฆ„์„ ํ™œ์šฉํ•˜์—ฌ ํ–ฅํ›„์— ํ„ฐ๋ฏธ๋„์—์„œ ์ž‘์—…ํ•  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์—, ์ง๊ด€์ ์ด๊ณ  ๊ฐ„๊ฒฐํ•œ ์ด๋ฆ„์œผ๋กœ ์ง€์œผ์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค(๊ทธ๋ฆผ 5).

๊ทธ๋ฆผ 5. ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋„ค์ด๋ฐ

5.  AWS IAM Role ์ƒ์„ฑ

IAM์€ Identity and Access Management์˜ ์•ฝ์ž๋กœ, ํŠน์ • ์‚ฌ์šฉ์ž๋‚˜ ๊ทธ๋ฃน์˜ ์„œ๋น„์Šค ํ˜น์€ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์ ‘๊ทผ ๊ถŒํ•œ์„ ๊ด€๋ฆฌํ•˜๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. IAM ์„œ๋น„์Šค์— ๋Œ€ํ•œ ๊ฐœ๋…์€ ์ด๊ณณ์„ ์ฐธ๊ณ ํ•ด ์ฃผ์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค. IAM Role(์—ญํ• )์€ ํŠน์ • AWS ์„œ๋น„์Šค์˜ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋Š” ๋ณด์•ˆ ์ฆ๋ช…์„œ์ž…๋‹ˆ๋‹ค. ์‰ฝ๊ฒŒ ๋งํ•ด, AWS ๋‚ด ์–ด๋–ค ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ž๊ฒฉ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. 

1) IAM ์„œ๋น„์Šค ์ ‘๊ทผ

AWS ๊ฒ€์ƒ‰์ฐฝ์— IAM์„ ์ž…๋ ฅํ•˜์—ฌ IAM ์ฝ˜์†”๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค(๊ทธ๋ฆผ 6).

๊ทธ๋ฆผ 6. IAM ์ฝ˜์†” ์ ‘๊ทผ

2)  ์—ญํ•  ์ƒ์„ฑ

์ขŒ์ธก์— "์—ญํ• " ํ…์ŠคํŠธ๋ฅผ ํด๋ฆญํ•˜์‹  ํ›„, ์šฐ์ธก์— "์—ญํ•  ๋งŒ๋“ค๊ธฐ" ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”(๊ทธ๋ฆผ 7).

๊ทธ๋ฆผ 7. IAM ์—ญํ•  ์ƒ์„ฑ

3)  Lambda ์„ ํƒ

AWS Lambda๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— Lambda๋ฅผ ์„ ํƒํ•˜๊ณ  ๋‹ค์Œ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค(๊ทธ๋ฆผ 9).

๊ทธ๋ฆผ 8. Lambda ์„ ํƒ

4) ECR Full Access ์„ ํƒ

๊ฒ€์ƒ‰์ฐฝ์— container๋ฅผ ๊ฒ€์ƒ‰ํ•˜์‹  ํ›„, ์•„๋ž˜์— AmazonElasticContainerRegistryPublicFullAccess๋ฅผ ์ฒดํฌํ•˜์‹œ๊ณ  ๋งจ ํ•˜๋‹จ์— ๋‹ค์Œ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค(๊ทธ๋ฆผ 9).

๊ทธ๋ฆผ 9. ECR Full Access ์„ ํƒ

5) ์—ญํ•  ์ด๋ฆ„ ์„ค์ •

์ด๋ฆ„์„ ์„ค์ •ํ•˜์‹œ๊ณ  ๋งจ ํ•˜๋‹จ์— ์—ญํ•  ์ƒ์„ฑ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค(๊ทธ๋ฆผ 10).

๊ทธ๋ฆผ 10. ์—ญํ•  ์ด๋ฆ„ ์„ค์ •

6.  ํ”„๋กœ์ ํŠธ ํŒŒ์ผ ๋ฐ›๊ธฐ

์•„๋ž˜์˜ Github์— Dockerfile, python ์ฝ”๋“œ ๋“ฑ ํ•„์š”ํ•œ ํŒŒ์ผ์„ ๋ชจ๋‘ ์—…๋กœ๋“œํ•˜์˜€์Šต๋‹ˆ๋‹ค.

https://github.com/park-gb/aws-lambda-docker

 

GitHub - park-gb/aws-lambda-docker: AWS Lambda์™€ Docker๋ฅผ ํ™œ์šฉํ•œ ์›น ๊ธฐ๋ฐ˜ ํŒŒ์ผ ์ฝ๊ธฐ/์“ฐ๊ธฐ ๊ตฌํ˜„

AWS Lambda์™€ Docker๋ฅผ ํ™œ์šฉํ•œ ์›น ๊ธฐ๋ฐ˜ ํŒŒ์ผ ์ฝ๊ธฐ/์“ฐ๊ธฐ ๊ตฌํ˜„. Contribute to park-gb/aws-lambda-docker development by creating an account on GitHub.

github.com

zip ํŒŒ์ผ์„ ์ง์ ‘ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์œผ์‹œ๊ฑฐ๋‚˜ clone ํ•˜์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.

git clone https://github.com/park-gb/aws-lambda-docker.git

7.  Docker ์„ค์น˜

Docker ๊ณต์‹ ํ™ˆํŽ˜์ด์ง€๋ฅผ ํ†ตํ•ด Docker๋ฅผ ์„ค์น˜ํ•˜์‹œ๊ณ , docker๋ฅผ ๊ผญ ์‹คํ–‰ํ•ด ์ฃผ์„ธ์š”!

https://docs.docker.com/get-docker/

 

Get Docker

 

docs.docker.com

8.  AWS CLI ์„ค์น˜

ํ„ฐ๋ฏธ๋„์—์„œ ์ปค๋งจ๋“œ ๋ผ์ธ์œผ๋กœ ์ž‘์—…ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ AWS Command Line Interface(CLI)๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ๋งํฌ์— ์ ‘์†ํ•˜์…”์„œ ์šด์˜์ฒด์ œ์— ๋งž๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•ด ์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/getting-started-install.html

 

์ตœ์‹  ๋ฒ„์ „์˜ AWS CLI ์„ค์น˜ ๋˜๋Š” ์—…๋ฐ์ดํŠธ - AWS Command Line Interface

์„ค์น˜ ๊ด€๋ฆฌ์ž์˜ ์•„๋ฌด ์œ„์น˜์—์„œ๋‚˜ Cmd+L์„ ๋ˆŒ๋Ÿฌ ์„ค์น˜์— ๋Œ€ํ•œ ๋””๋ฒ„๊ทธ ๋กœ๊ทธ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋กœ๊ทธ๋ฅผ ํ•„ํ„ฐ๋งํ•˜๊ณ  ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋กœ๊ทธ ์ฐฝ์ด ์—ด๋ฆฝ๋‹ˆ๋‹ค. ๋กœ๊ทธ ํŒŒ์ผ๋„ /var/log/install.log์— ์ž

docs.aws.amazon.com

9.  Docker ์ด๋ฏธ์ง€ ๋นŒ๋“œ

ํ„ฐ๋ฏธ๋„์„ ํ†ตํ•ด ์•ž์„œ ๋‹ค์šด๋กœ๋“œํ•œ ํ”„๋กœ์ ํŠธ ํŒŒ์ผ ํด๋”๋กœ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ , docker ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

docker build -t [์ด๋ฏธ์ง€ ์ด๋ฆ„] .

๋นŒ๋“œ๊ฐ€ ๋ชจ๋‘ ์ง„ํ–‰๋˜์—ˆ๋‹ค๋ฉด ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋กœ ์ด๋ฏธ์ง€์˜ ์กด์žฌ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

docker images

10.  AWS ECR ๋กœ๊ทธ์ธ

ํ„ฐ๋ฏธ๋„์—์„œ ์•ž์„œ ์ƒ์„ฑํ–ˆ๋˜ AWS ECR ๋‚ด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ๋ช…๋ น์–ด๋Š” ์•„๋ž˜์™€ ๊ฐ™์œผ๋ฉฐ 3๊ฐ€์ง€๋ฅผ ์ˆ˜์ •ํ•ด ์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin [ECR ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ID].dkr.ecr.[AWS ์„œ๋น„์Šค ์ง€์—ญ].amazonaws.com/[ECR ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ด๋ฆ„]
  • ECR ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ID: URI ๋งจ ์•ž ์ˆซ์ž12์ž๋ฆฌ(๊ทธ๋ฆผ 11)

๊ทธ๋ฆผ 11.  AWS ECR ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ •๋ณด

  • ์„œ๋น„์Šค ์ง€์—ญ: ์„œ์šธ์ผ ๊ฒฝ์šฐ ap-northeast-2
  • ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ด๋ฆ„: ์ƒ์„ฑ ๋‹น์‹œ ์ž‘์„ฑํ•œ ์ด๋ฆ„

์•„๋ž˜์™€ ๊ฐ™์ด ๋‚˜์™”๋‹ค๋ฉด ์„ฑ๊ณต์ ์œผ๋กœ ๋กœ๊ทธ์ธ๋œ ๊ฒ๋‹ˆ๋‹ค.

Login Succeeded

11.  ๋„์ปค ์ด๋ฏธ์ง€ PUSH

์•ž์„œ ๋นŒ๋“œํ•œ ๋„์ปค ์ด๋ฏธ์ง€๋ฅผ AWS ECR์— ํ‘ธ์‹œํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ์ฝ”๋“œ์—์„œ ๋นŒ๋“œํ•œ ๊ฐ€์ƒ ์ด๋ฏธ์ง€ ์ด๋ฆ„, ECR ์•„์ด๋””์™€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์ˆ˜์ •ํ•ด ์ค๋‹ˆ๋‹ค.

docker tag [๊ฐ€์ƒ ์ด๋ฏธ์ง€ ์ด๋ฆ„]:latest [ECR ์•„์ด๋””].dkr.ecr.ap-northeast-2.amazonaws.com/[ECR ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ด๋ฆ„]:[ํƒœ๊ทธ๋ช…]

์—ฌ๊ธฐ์„œ ํƒœ๊ทธ๋ช…์€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์•ˆ์— ์ €์žฅ๋  ์ด๋ฏธ์ง€์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ์ฆ‰, ๋กœ์ปฌ์—์„œ ๋นŒ๋“œํ–ˆ์„ ๋•Œ์˜ ๊ฐ€์ƒ ์ด๋ฏธ์ง€ ์ด๋ฆ„๊ณผ ๋‹ค๋ฅด๊ฒŒ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋กœ ECR์— ์ด๋ฏธ์ง€๋ฅผ ํ‘ธ์‹œํ•ฉ๋‹ˆ๋‹ค.

docker push [ECR ์•„์ด๋””].dkr.ecr.ap-northeast-2.amazonaws.com/[ECR ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์ด๋ฆ„]:[ํƒœ๊ทธ๋ช…]

์•„๋ž˜์™€ ๊ฐ™์ด push ์ค‘์ธ ๋ชจ์Šต์„ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค.

๊ทธ๋ฆผ 12. ์ด๋ฏธ์ง€ Push ์ค‘

12.  Lambda ํ•จ์ˆ˜ ์ƒ์„ฑ

AWS ๊ฒ€์ƒ‰์ฐฝ์— Lambda๋ฅผ ๊ฒ€์ƒ‰ํ•˜์…”์„œ AWS Lambda ์ฝ˜์†”์— ์ ‘๊ทผํ•˜๊ณ , ํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค(๊ทธ๋ฆผ 13).

๊ทธ๋ฆผ 13. ๋žŒ๋‹ค ํ•จ์ˆ˜ ์ƒ์„ฑ

์•„๋ž˜์˜ ๊ทธ๋ฆผ 14์ฒ˜๋Ÿผ, ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ์„ ํƒํ•˜์‹  ํ›„์—, ํ•จ์ˆ˜ ์ด๋ฆ„์„ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”. ๊ทธ ์•„๋ž˜์— ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ํƒญ์— "์ด๋ฏธ์ง€ ์ฐพ์•„๋ณด๊ธฐ" ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆผ 14. ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ๊ธฐ๋ฐ˜ ๋žŒ๋‹ค ํ•จ์ˆ˜ ์ƒ์„ฑ

์•ž์„œ ์ƒ์„ฑํ–ˆ๋˜ ECR ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์„ ํƒํ•˜์‹œ๊ณ , ๋นŒ๋“œํ•˜๊ณ  push ํ–ˆ๋˜ ์ด๋ฏธ์ง€์˜ ํƒœ๊ทธ๋ช…์„ ์ฐพ์•„ ์„ ํƒํ•ด ์ฃผ์„ธ์š”.

๊ทธ๋ฆผ 15. ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์„ ํƒ

13.  AWS API Gateway ์ƒ์„ฑ

์›น ํŽ˜์ด์ง€์—์„œ AWS Lambda์™€ ์—ฐ๋™ํ•˜๊ธฐ ์œ„ํ•œ API Gateway ์„ธํŒ…์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ํฌ์ŠคํŒ…์„ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”.

https://heytech.tistory.com/407

 

ํŒŒ์ผ ์—…๋กœ๋“œ ์›น ํŽ˜์ด์ง€ ๊ตฌ์ถ•: (5) AWS API Gateway ์ƒ์„ฑ

๐Ÿ“Œ ์‹œ๋ฆฌ์ฆˆ ํฌ์ŠคํŒ… 1.  ํŒŒ์ผ ์—…๋กœ๋“œ ์›น ํŽ˜์ด์ง€ ๊ตฌ์ถ•: (1) React ๊ธฐ๋ฐ˜ Frontend ๊ฐœ๋ฐœ 2.  ํŒŒ์ผ ์—…๋กœ๋“œ ์›น ํŽ˜์ด์ง€ ๊ตฌ์ถ•: (2) AWS IAM ์—ญํ•  ์ƒ์„ฑ 3.  ํŒŒ์ผ ์—…๋กœ๋“œ ์›น ํŽ˜์ด์ง€ ๊ตฌ์ถ•: (3) AWS Lambda ์ƒ์„ฑ 4.  ํŒŒ..

heytech.tistory.com

14.  Axios ๊ธฐ๋ฐ˜ API Call

Axios ํŒจํ‚ค์ง€๋ฅผ ํ™œ์šฉํ•˜์—ฌ API Call ์„ธํŒ…์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ํฌ์ŠคํŒ…์„ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”.

https://heytech.tistory.com/409

 

ํŒŒ์ผ ์—…๋กœ๋“œ ์›น ํŽ˜์ด์ง€ ๊ตฌ์ถ•: (7) Axios ๊ธฐ๋ฐ˜ API Call

๐Ÿ“Œ ์‹œ๋ฆฌ์ฆˆ ํฌ์ŠคํŒ… 1.  ํŒŒ์ผ ์—…๋กœ๋“œ ์›น ํŽ˜์ด์ง€ ๊ตฌ์ถ•: (1) React ๊ธฐ๋ฐ˜ Frontend ๊ฐœ๋ฐœ 2.  ํŒŒ์ผ ์—…๋กœ๋“œ ์›น ํŽ˜์ด์ง€ ๊ตฌ์ถ•: (2) AWS IAM ์—ญํ•  ์ƒ์„ฑ 3.  ํŒŒ์ผ ์—…๋กœ๋“œ ์›น ํŽ˜์ด์ง€ ๊ตฌ์ถ•: (3) AWS Lambda ์ƒ์„ฑ 4.  ํŒŒ..

heytech.tistory.com

15.  S3 ๊ธฐ๋ฐ˜ ์ •์  ์›น ํ˜ธ์ŠคํŒ…

์ด์ œ ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•  ์›น ํŽ˜์ด์ง€๋ฅผ ํ˜ธ์ŠคํŒ…ํ•˜์—ฌ ํŒŒ์ผ ์—…๋กœ๋“œ๋ฅผ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ํฌ์ŠคํŒ…์„ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”.

https://heytech.tistory.com/411?category=559266 

 

ํŒŒ์ผ ์—…๋กœ๋“œ ์›น ํŽ˜์ด์ง€ ๊ตฌ์ถ•: (9) AWS S3 ๊ธฐ๋ฐ˜ ์›น ํ˜ธ์ŠคํŒ…

๐Ÿ“Œ ์‹œ๋ฆฌ์ฆˆ ํฌ์ŠคํŒ… 1.  ํŒŒ์ผ ์—…๋กœ๋“œ ์›น ํŽ˜์ด์ง€ ๊ตฌ์ถ•: (1) React ๊ธฐ๋ฐ˜ Frontend ๊ฐœ๋ฐœ 2.  ํŒŒ์ผ ์—…๋กœ๋“œ ์›น ํŽ˜์ด์ง€ ๊ตฌ์ถ•: (2) AWS IAM ์—ญํ•  ์ƒ์„ฑ 3.  ํŒŒ์ผ ์—…๋กœ๋“œ ์›น ํŽ˜์ด์ง€ ๊ตฌ์ถ•: (3) AWS Lambda ์ƒ์„ฑ 4.  ํŒŒ..

heytech.tistory.com

16.  ํŒŒ์ผ ์ฝ์–ด์˜ค๊ธฐ ํ…Œ์ŠคํŠธ

์ตœ์ข…์ ์œผ๋กœ ์›น์— ํŒŒ์ผ์„ ์—…๋กœ๋“œ ํ•œ ํ›„์— Lambda์˜ cloudwatchlog๋ฅผ ํ†ตํ•ด ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ์ž˜ ์ฝ์–ด์˜ค๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ๊ทธ๋ฆผ 16์ฒ˜๋Ÿผ, ์›น์—์„œ ์—…๋กœ๋“œํ•œ ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ์ž˜ ์ฝ์–ด์˜ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆผ 16. ํ…Œ์ŠคํŠธ ์„ฑ๊ณต


ํฌ์ŠคํŒ… ๋‚ด์šฉ์— ์˜ค๋ฅ˜๊ฐ€ ์žˆ๊ฑฐ๋‚˜ ๋ณด์™„ํ•  ์ ์ด ์žˆ๋‹ค๋ฉด ์•„๋ž˜์— ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š”!

๊ทธ๋Ÿผ ์˜ค๋Š˜๋„ ์ฆ๊ฒ๊ณ  ๊ฑด๊ฐ•ํ•œ ํ•˜๋ฃจ ๋ณด๋‚ด์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค :)

๊ณ ๋ง™์Šต๋‹ˆ๋‹ค๐Ÿ˜Š

728x90
๋ฐ˜์‘ํ˜•
Comments