
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๋ฅผ ์ ๋ฌํด์ผ ํ๋ค๋ ๋ป์ด๋ค.
โ ์ค๊ฐ ์ ๋ฆฌ
๋ฌธ์ ํด๊ฒฐ ๋จ๊ณ(์๋ง๋) โคต๏ธ
โ 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์ ์ฐพ์๋ด์ผ ํ๋ค.
โ ํ๊ณ
๋ฏธ๋ก๋ฅผ ์ฝ๊ฒ ๋น ์ ธ๋์ค๋ ๋ฐฉ๋ฒ์ด ์๋๋ฐ, ์ ๊ตฌ์ ์์ชฝ ๋ฒฝ์ ์๋ก ๋ค๋ฅธ ์์ผ๋ก ์น ํ๊ณ , ๊ทธ ์ฌ์ด๋ฅผ ์ถ๊ตฌ๊ฐ ๋ํ๋ผ ๋๊น์ง ์ง๋์น๋ ๊ฒ์ด๋ค.

๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๋ ์ผ๋์ ๋์ด์ผ ํ ์ฌํญ์ ํฌ๊ฒ ๋ค์ฏ ๊ฐ์ง์ด๋ค.
๋จ๋ค์๊ฒ ๋งํ๊ธฐ ๋ถ๋๋ฌ์ธ ์ ๋์ ๋ชฉํ๋ฅผ ๊ฐ์ ธ์ผ ํ๊ณ , ๊ทธ ๋ชฉํ์ ์ถ๊ตฌ๋ ๋ฐ๋์ ์๋ค๊ณ ๋ฏฟ์ด์ผ ํ๊ณ , ๋ด ์๋์ ๊ฐ๊ด์ ์ธ ์๋ฃ์ ์บ๋ฆฌ๋ธ๋ ์ด์ ์ ์ํด ๋ถ๋จํ ์ ์จ์ผ ํ๊ณ , ๋ง์ง๋ง์ผ๋ก ๋ชจ๋ ์บ๋ฆฌ๋ธ๋ ์ด์ ์ ๊ณผ์ ์์ฒด๋ฅผ ์ฆ๊ฒจ์ผ ํ๋ค๋ ๊ฒ. ์ค๋๊ฐ๋ง์ ๊ฐ๋ฐ ์ ๋๋ก ํ๋ค!