[TIL/Coin Site Project] 2024/02/11

์›๋ฏผ๊ด€ยท2024๋…„ 2์›” 11์ผ

Coin Site Project

๋ชฉ๋ก ๋ณด๊ธฐ
30/31
post-thumbnail

Reference: https://inpa.tistory.com/entry/AWS-๐Ÿ“š-AWS-CLI-์„ค์น˜-์‚ฌ์šฉ๋ฒ•-์‰ฝ๊ณ -๋น ๋ฅด๊ฒŒ#aws_cli_์‚ฌ์šฉ๋ฒ•

โœ… Trouble Shooting

AWS Lambda ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋А๋‚€ ๋ฌธ์ œ์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

1. AWS Lmabda์˜ '์ฝ”๋“œ ์†Œ์Šค ํƒญ'์—์„œ ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ๋ถˆํŽธํ–ˆ๋‹ค.
2. ๊ทธ๋ ‡๋‹ค๊ณ , local์—์„œ ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๋ฉด ๋งค๋ฒˆ archive.zip ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด์•ผ ํ–ˆ๋‹ค.
3. ์ƒ์„ฑํ•œ archive.zip ํŒŒ์ผ์„ ๋งค๋ฒˆ AWS Lmabda์˜ ์ฝ”๋“œ ์†Œ์Šค ํƒญ์—์„œ ์—…๋กœ๋“œํ•ด์•ผ ํ–ˆ๋‹ค.

์ ์ ˆํ•œ ๋น„์œ ๋ฅผ ๋„์ถœํ•˜๋Š” ์ž‘์—…์€, ๋ฌธ์ œ๋ฅผ ์ •ํ™•ํžˆ ์ธ์ง€ํ•˜๋Š” ๊ณผ์ •์— ๊ฝค๋‚˜ ํฐ ๋„์›€์„ ์ค€๋‹ค. github์— ํ”„๋กœ์ ํŠธ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ์ƒํ™ฉ์œผ๋กœ ๋น„์œ ํ•  ์ˆ˜ ์žˆ๊ฒ ๋‹ค.

1. ํ”„๋กœ์ ํŠธ์—์„œ 'git branch', 'git push' ๋“ฑ์˜ command line์„ ์‚ฌ์šฉํ•˜๋ฉด ์†์‰ฝ๊ฒŒ ํ”„๋กœ์ ํŠธ ๋‚ด์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ github์— ๋ฐ˜์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
2. command line์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด github repository์—, ์ง์ ‘ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์žˆ๋Š” ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•ด์•ผ ํ•œ๋‹ค.

์ฆ‰ ์ด๋ฒˆ Trouble Shooting์˜ ๋ณธ์งˆ์€, CLI(Command Line Interface)๋ฅผ ํ™œ์šฉํ•˜์ง€ ์•Š๊ธฐ์— ๋ฐœ์ƒํ•˜๋Š” ๋น„ํšจ์œจ์— ์žˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜ํ•  ์ˆ˜ ์žˆ๊ฒ ๋‹ค.

How to automatically deploy the archive.zip file worked on locally to AWS Lambda using the CLI(Command Line Interface)

โœ… Divide Problems

How to 3)automatically deploy 1)the archive.zip file worked on locally 2)to AWS Lambda using the CLI(Command Line Interface)

1. Find 'Command Lines' that compress files worked on local
: ๋กœ์ปฌ์—์„œ ์ž‘์—…ํ•œ Lambda ๋กœ์ง์— ์‚ฌ์šฉ๋˜๋Š” ๋ชจ๋“  ํŒŒ์ผ์„ ์••์ถ•ํ•˜๋Š” ์ปค๋งจ๋“œ ๋ผ์ธ์„ ์•Œ์•„์•ผ ํ•œ๋‹ค.

2. Find 'Command Lines' to send compressed files to AWS Lambda Fn
: ์ปค๋งจ๋“œ ๋ผ์ธ์„ ํ†ตํ•ด ์••์ถ•ํ•œ archive.zip ํŒŒ์ผ์„, Lambda ํ•จ์ˆ˜๋กœ ๋ณด๋‚ด๋Š” ์ปค๋งจ๋“œ ๋ผ์ธ์„ ์ฐพ์•„์•ผ ํ•œ๋‹ค.

3. Find 'Command Lines' to automatically deploy compressed files sent to AWS Lambda Fn
: Lambda ํ•จ์ˆ˜๋กœ ๋ณด๋‚ธ ํŒŒ์ผ์„ ์ž๋™์ ์œผ๋กœ ๋ฐฐํฌํ•˜๋Š” ์ปค๋งจ๋“œ ๋ผ์ธ์„ ์•Œ์•„์•ผ ํ•œ๋‹ค.( + ๋ณด๋‚ด๊ธฐ๋งŒ ํ•˜๋ฉด ์ž๋™์œผ๋กœ ๋ฐฐํฌ๋˜๋Š” ์ง€๋Š” ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค. ์ž๋™ ๋ฐฐํฌ๊ฐ€ ๋œ๋‹ค๋ฉด ์ƒ๋žตํ•ด๋„ ๋˜๋Š” ๊ณผ์ •์ด๋‹ค.)

์ •์˜ํ•œ ๋ฌธ์ œ๋ฅผ ์œ„์™€ ๊ฐ™์ด ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ๋‚˜๋ˆ„๋ฉด์„œ ์•Œ๊ฒŒ ๋œ ์‚ฌ์‹ค์€, ์‚ฌ์ „ ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

โœ… Prerequisite

1. AWS CLI Install(Mac OS)
: AWS ๋ฆฌ์†Œ์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” 'AWS CLI'๋ฅผ Mac OS ๊ธฐ์ค€์œผ๋กœ ์„ค์น˜ํ•ด์•ผ ํ•œ๋‹ค.

2. AWS IAM Setup
: AWS CLI๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด, AWS IAM์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ์ด ํ•„์š”ํ•˜๋‹ค. AWS CLI๋ฅผ ๊ตฌ์„ฑํ•˜์—ฌ AWS Access Key ID์™€ AWS Secret Access Key๋ฅผ ์ „๋‹ฌํ•ด์•ผ ํ•œ๋‹ค๋Š” ๋œป์ด๋‹ค.

โœ… ์ค‘๊ฐ„ ์ •๋ฆฌ

  1. ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ… ์ „์— -> ๋ฌธ์ œ ์ •์˜
  2. ๋ฌธ์ œ ์ •์˜ ํ›„์— -> ๋ฌธ์ œ ๋ถ„ํ• 
  3. ๋ฌธ์ œ ๋ถ„ํ•  ์ „์— -> ์‚ฌ์ „ ์ž‘์—…
  4. ์‚ฌ์ „ ์ž‘์—… ์ „์— -> ์‚ฌ์ „ ์ž‘์—… ๋ถ„ํ• 

๋ฌธ์ œ ํ•ด๊ฒฐ ๋‹จ๊ณ„(์•„๋งˆ๋„) โคต๏ธ

  1. ๋ถ„ํ• ๋œ ์‚ฌ์ „ ์ž‘์—… ์ˆ˜ํ–‰ -> ์‚ฌ์ „ ์ž‘์—… ์™„๋ฃŒ
  2. ๋ถ„ํ• ๋œ ๋ฌธ์ œ ํ•ด๊ฒฐ -> ๊ฐœ๋ณ„ ๋ฌธ์ œ ํ•ด๊ฒฐ
  3. ๊ฐœ๋ณ„ ๋ฌธ์ œ ํ•ด๊ฒฐ -> ์ •์˜ํ•œ ์ „์ฒด ๋ฌธ์ œ ํ•ด๊ฒฐ
  4. ์ •์˜ํ•œ ์ „์ฒด ๋ฌธ์ œ ํ•ด๊ฒฐ = ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…

โœ… What is AWS CLI?

AWS CLI(Command Line Interface)๋Š” ์‰˜ ์ปค๋งจ๋“œ๋ฅผ ํ™œ์šฉํ•˜์—ฌ AWS ์„œ๋น„์Šค์™€ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š”, ๋ง ๊ทธ๋Œ€๋กœ AWS ์ „์šฉ Command Line Interface์ด๋‹ค.

์‰˜ ์ปค๋งจ๋“œ๋ฅผ ํ™œ์šฉํ•œ๋‹ค๋Š” CLI์˜ ๋ณธ์งˆ ์ž์ฒด๊ฐ€, ๋งˆ์šฐ์Šค ํด๋ฆญ ๋…ธ๊ฐ€๋‹ค๋ฅผ ํ•˜๊ธฐ ์‹ซ๋‹ค๋Š” ์˜๋„๋ฅผ ๋‚ดํฌํ•œ๋‹ค. ๋”์šฑ์ด Infra Service์˜ ๊ทœ๋ชจ๊ฐ€ ์ปค์งˆ์ˆ˜๋ก ๋งˆ์šฐ์Šค ํด๋ฆญ ๋…ธ๊ฐ€๋‹ค๋Š” ๊ณจ์น˜์•„ํ”„๋‹ค.

Infra์˜ ํ™•์žฅ์„ฑ์„ ๊ณ ๋ คํ•˜์—ฌ ๋งˆ์šฐ์Šค ๋…ธ๊ฐ€๋‹ค๋ฅผ ๊ทธ๋งŒํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๊ณต๋ถ€ํ•ด์•ผ ํ•˜๋Š” ๋‚ด์šฉ์ด AWS CLI๋ผ๋Š” ๊ฒƒ์ด๋‹ค.

โœ… Install AWS CLI(Mac OS with Homebrew)

Homebrew๋Š” Mac OS ์šด์˜ ์ฒด์ œ์˜ ์†Œํ”„ํŠธ์›จ์–ด ์„ค์น˜๋ฅผ ๋‹จ์ˆœํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” 'ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ์†Œํ”„ํŠธ์›จ์–ด'์ด๋‹ค. Homebrew๋ฅผ ํ†ตํ•ด AWS CLI๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

1. Homebrew๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ๋Š”์ง€ ๋ฒ„์ „ ํ™•์ธ

2. Homebrew๋ฅผ ํ†ตํ•ด awscli ์„ค์น˜

์–ด์ฉŒ๊ตฌ์ €์ฉŒ๊ตฌ๊ฐ€ ์‹œ์ž‘๋จ

3. ์„ค์น˜ ์ƒํƒœ ๋ฐ ๋ฒ„์ „ ํ™•์ธ

โœ… AWS CLI Usage(with IAM)

AWS CLI๋ฅผ ํ†ตํ•ด ๋‹ค์–‘ํ•œ AWS ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ธฐ์—, ์ž๊ฒฉ ์ฆ๋ช…์— ๋Œ€ํ•œ ๋…ผ์˜๊ฐ€ ํ•„์ˆ˜๋ถˆ๊ฐ€๊ฒฐํ•˜๋‹ค. IAM์€ Identity and Access Management์ด๋‹ค.

์ผ๋ฐ˜์ ์ธ ๋กœ๊ทธ์ธ ๊ณผ์ •์—์„œ ID์™€ Password์˜ ์ž…๋ ฅ์ด ์š”๊ตฌ๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ, AWS CLI๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” IAM์œผ๋กœ๋ถ€ํ„ฐ ์ œ๊ณต๋˜๋Š” 'AWS Access key ID'์™€ 'AWS Access key'๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

ํ„ฐ๋ฏธ๋„์— aws configure๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ํ•ด๋‹น ID์™€ Key๋ฅผ ์ž…๋ ฅํ•˜๋ผ๋Š” format์ด ๋“ฑ์žฅํ•˜๊ฒŒ ๋œ๋‹ค.

๋‹ค์Œ์— ์ง„ํ–‰ํ•ด์•ผ ํ•  ์ž‘์—…์€, ์„ค์ •ํ•œ ์ธ์ฆ ์ •๋ณด๋ฅผ ๋ฐ›์•„๋ณด๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ฒ˜์Œ์— ๋ถ„ํ• ํ–ˆ๋˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด, ์‹ค์งˆ์ ์ธ Command Line์„ ์ฐพ์•„๋ด์•ผ ํ•œ๋‹ค.

โœ… ํšŒ๊ณ 

๋ฏธ๋กœ๋ฅผ ์‰ฝ๊ฒŒ ๋น ์ ธ๋‚˜์˜ค๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”๋ฐ, ์ž…๊ตฌ์˜ ์–‘์ชฝ ๋ฒฝ์„ ์„œ๋กœ ๋‹ค๋ฅธ ์ƒ‰์œผ๋กœ ์น ํ•˜๊ณ , ๊ทธ ์‚ฌ์ด๋ฅผ ์ถœ๊ตฌ๊ฐ€ ๋‚˜ํƒ€๋‚ผ ๋•Œ๊นŒ์ง€ ์ง€๋‚˜์น˜๋Š” ๊ฒƒ์ด๋‹ค.

๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ๋•Œ ์—ผ๋‘์— ๋‘์–ด์•ผ ํ•  ์‚ฌํ•ญ์€ ํฌ๊ฒŒ ๋‹ค์„ฏ ๊ฐ€์ง€์ด๋‹ค.

  1. ๋‚ด๊ฐ€ ํ’€๊ณ ์ž ํ•˜๋Š” ๋ฌธ์ œ์˜ ์ถœ๊ตฌ๋Š” ๋ฐ˜๋“œ์‹œ ์žˆ๋‹ค๊ณ  ๋ฏฟ๋Š” ํƒœ๋„.
  2. ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•œ ๋‚˜๋งŒ์˜ ์ „๋žต์ด ์žˆ์–ด์•ผ ํ•œ๋‹ค๋Š” ์ .(ํŒŒ๋ž€์ƒ‰ ๋ผ์ธ)
  3. ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•œ ๊ฐ๊ด€์ ์ธ ์ž๋ฃŒ๋ฅผ ์ฐพ์•„์•ผ ํ•œ๋‹ค๋Š” ์ .(๋นจ๊ฐ„์ƒ‰ ๋ผ์ธ)
  4. ํŒŒ๋ž€์ƒ‰ ๋ผ์ธ๊ณผ ๋นจ๊ฐ„์ƒ‰ ๋ผ์ธ ๊ฐ„์˜ ์บ˜๋ฆฌ๋ธŒ๋ ˆ์ด์…˜์„ ์œ„ํ•ด ๋ถ€๋‹จํžˆ ๋…ธ๋ ฅํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ.
  5. ์ถœ๊ตฌ๊ฐ€ ๋‚˜์˜ฌ ๋•Œ๊นŒ์ง€๋Š” ์œ„์˜ ์ง€๋‚œํ•œ ๊ณผ์ •์„ ๊ทธ์ € ๋ฐ˜๋ณตํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ.

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

profile
Write a little every day, without hope, without despair โœ๏ธ

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