AWS Lambda์ AWS DevOps ํตํฉํ์ฌ ์๋ฒ๋ฆฌ์ค ๋ฐฐํฌ
๐ฃ AWS Lambda์ AWS DevOps ํตํฉํ์ฌ ์๋ฒ๋ฆฌ์ค ๋ฐฐํฌ
๐งญ ์ AWS Lambda์ DevOps ํตํฉ์ด ์ค์ํ๊ฐ?
AWS Lambda์ AWS DevOps์ ํตํฉ์ ์๋ฒ๋ฆฌ์ค ์ํคํ
์ฒ๋ฅผ ๋ฐฐํฌํ ๋ ๋งค์ฐ ์ ์ฉํฉ๋๋ค. ์๋ฒ๋ฆฌ์ค๋ฅผ ํ์ฉํ๋ฉด ์๋ฒ ๊ด๋ฆฌ์ ๋ณต์กํจ ์์ด ์ฝ๋ ์คํ์ ํ ์ ์์ต๋๋ค. ํ์ง๋ง, ์ฝ๋ ์
๋ฐ์ดํธ๋ ๋ฐฐํฌ ๊ณผ์ ์์๋ ์๋ํ์ ์ง์์ ์ธ ํตํฉ(CI) ๋ฐ ์ง์์ ์ธ ๋ฐฐํฌ(CD)์ด ํ์ํฉ๋๋ค. AWS DevOps์ Lambda๋ฅผ ํตํฉํ๋ฉด ์๋ฒ๋ฆฌ์ค๋ฅผ ์ํ ์๋ํ๋ ๋ฐฐํฌ ํ๋ก์ธ์ค๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค.
โ 1. AWS Lambda๋?
AWS Lambda๋ ์๋ฒ๋ฆฌ์ค ์ปดํจํ ์๋น์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ฆ, ์๋ฒ๋ฅผ ๊ด๋ฆฌํ ํ์ ์์ด ์ฝ๋๋ฅผ ์คํํ ์ ์์ต๋๋ค. AWS Lambda๋ ํน์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋ ์๋์ผ๋ก ์ฝ๋๋ฅผ ์คํํ๋ฉฐ, ์ฌ์ฉ์๋ ์๋ฒ๋ ์ธํ๋ผ๋ฅผ ์ง์ ๊ด๋ฆฌํ ํ์๊ฐ ์์ต๋๋ค.
- ์ฃผ์ ํน์ง:
- ์ด๋ฒคํธ ๊ธฐ๋ฐ ์คํ
- ์๋ ํ์ฅ ๋ฐ ์๋ ๊ด๋ฆฌ
- ์ฌ์ฉํ ๋งํผ๋ง ์๊ธ ์ง๋ถ
๐ฉ 2. AWS Lambda์ DevOps ํ์ดํ๋ผ์ธ ํตํฉํ๊ธฐ
โถ ๋ฐฉ๋ฒ: AWS Lambda์ AWS DevOps(CodePipeline, CodeBuild ๋ฑ)๋ฅผ ๊ฒฐํฉํ์ฌ ์๋ฒ๋ฆฌ์ค ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ํ๋ ๋ฐฐํฌ ํ์ดํ๋ผ์ธ์ ์ค์ ํฉ๋๋ค.
๋ฐฐํฌ ๊ณผ์ ์ค์
- ์์ค ์ฝ๋ ๊ด๋ฆฌ: GitHub ๋๋ AWS CodeCommit์์ ์์ค ์ฝ๋๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
- CI (์ง์์ ํตํฉ): AWS CodeBuild๋ฅผ ์ฌ์ฉํ์ฌ Lambda ํจ์๋ฅผ ๋น๋ํฉ๋๋ค.
- CD (์ง์์ ๋ฐฐํฌ): AWS CodePipeline์ ์ฌ์ฉํ์ฌ Lambda ํจ์์ ์๋ ๋ฐฐํฌ๋ฅผ ์ค์ ํฉ๋๋ค.
Lambda ๋ฐฐํฌ ์์:
[yaml]
version: 0.2
phases:
build:
commands:
- echo "Building the Lambda Function"
- npm install
- zip -r function.zip .
artifacts:
files:
- function.zip
์ ์์์์๋ Lambda ํจ์๋ฅผ ๋น๋ํ๊ณ .zip ํ์ผ๋ก ์์ถํ์ฌ AWS์ ๋ฐฐํฌํฉ๋๋ค.
๐ฌ 3. CI/CD ํ์ดํ๋ผ์ธ์ ํตํ ์๋ํ๋ ๋ฐฐํฌ
โถ ๋ฐฉ๋ฒ: AWS CodePipeline์ ์ฌ์ฉํ์ฌ ์๋ฒ๋ฆฌ์ค ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ํ๋ ๋ฐฐํฌ ํ์ดํ๋ผ์ธ์ ๊ตฌํํฉ๋๋ค.
์๋ํ๋ ๋ฐฐํฌ ํ๋ฆ:
- GitHub์ ์ฝ๋ ํธ์: ์๋ก์ด ์ฝ๋๊ฐ GitHub์ ํธ์๋ฉ๋๋ค.
- AWS CodeBuild: CodeBuild๋ ์์ค ์ฝ๋๋ฅผ ๋น๋ํ์ฌ Lambda ํจ์๋ฅผ ์ค๋นํฉ๋๋ค.
- AWS CodeDeploy: CodeDeploy๋ฅผ ์ฌ์ฉํ์ฌ Lambda ํจ์๋ฅผ AWS์์ ์๋์ผ๋ก ๋ฐฐํฌํฉ๋๋ค.
- AWS Lambda: ์ ๋ฒ์ ์ Lambda ํจ์๊ฐ ๋ฐฐํฌ๋์ด ์คํ๋ฉ๋๋ค.
โจ ์ค์ ์: AWS Lambda์ DevOps๋ฅผ ์ด์ฉํ ์๋ฒ๋ฆฌ์ค ๋ฐฐํฌ
- GitHub์ ์ฝ๋ ์ปค๋ฐ
- AWS CodePipeline์์ ์๋์ผ๋ก ๋น๋ ๋ฐ ๋ฐฐํฌ ์์
- Lambda์ ์ ๋ฒ์ ์ ํจ์ ์๋ ๋ฐฐํฌ
- ์๋ ํ์ฅ์ผ๋ก ์์์ ๋ง์ถฐ Lambda ์ธ์คํด์ค ์๋ ํ์ฅ
โ ์ด ๊ณผ์ ์ ํตํด ์๋ฒ๋ฆฌ์ค๋ฅผ ์ํ ๋ฐฐํฌ ์๋ํ๊ฐ ์ด๋ฃจ์ด์ง๊ณ , ์ ๋ฐ์ดํธ ๋ฐ ๋กค๋ฐฑ๋ ์์ํ๊ฒ ์งํ๋ฉ๋๋ค.
๐ ๋ง๋ฌด๋ฆฌ
AWS Lambda์ AWS DevOps์ ํตํฉ์ ์๋ฒ๋ฆฌ์ค๋ฅผ ์ํ ํจ์จ์ ์ธ ๋ฐฐํฌ์ ์๋ํ๋ฅผ ๊ฐ๋ฅํ๊ฒ ๋ง๋ญ๋๋ค.
โ๏ธ ์๋ฒ ๊ด๋ฆฌ์์ ๋ฒ์ด๋ ์ฝ๋์ ์ง์คํ ์ ์์ผ๋ฉฐ,
โ๏ธ CI/CD ํ์ดํ๋ผ์ธ์ ํตํด ๋ฐฐํฌ ์ฃผ๊ธฐ๋ฅผ ๋จ์ถ์ํฌ ์ ์์ต๋๋ค.
โ๏ธ Lambda์ ์๋ ํ์ฅ์ ํตํด ํธ๋ํฝ ๋ณํ์ ์ ์ฐํ๊ฒ ๋์ํ ์ ์์ต๋๋ค.
DevOps์ ์๋ฒ๋ฆฌ์ค์ ๊ฒฐํฉ์ผ๋ก ๊ฐ๋ฐ ์๋๋ฅผ ๋์ด๊ณ , ๋ฐฐํฌ์ ํจ์จ์ฑ์ ๊ทน๋ํํ ์ ์์ต๋๋ค. ๐