[ECR]ECR ์์ฑ, Docker๋ฅผ ํ์ฉํ ์ปจํ ์ด๋ ์ฒ๋ฆฌ์ AWS ์๋ํ ๋ฐฐํฌ
Docker๋ฅผ ํ์ฉํ ์ปจํ ์ด๋ ์ฒ๋ฆฌ์ AWS์ ์๋ ๋ฐฐํฌ๋ฅผ ํด๋ณด์.
๋ณธ์ธ์ ์๋ฒ๋ฆฌ์ค๋ก ์๋ฒ์ ๋ฐฐํฌํ๊ณ ์์๊ธฐ์ ์์ ๋ธ๋ก๊ทธ๋ฅผ ์ฐธ๊ณ ํ๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค.
https://ruriruriya.tistory.com/category/%F0%9F%93%8CServerless
'๐Serverless' ์นดํ ๊ณ ๋ฆฌ์ ๊ธ ๋ชฉ๋ก
while(true){keep going studing();}
ruriruriya.tistory.com
๊ทธ๋ฆฌ๊ณ ๋์ปค๊ฐ ์ค์น๋๊ณ ํ๊ฒฝ์ค์ ์ด ๋์ด ์์ด์ผ ํ๋ค.
https://ruriruriya.tistory.com/201
[Docker] ๋์ปค ์ค์น ๋ฐฉ๋ฒ ๋ฐ ํ๊ฒฝ์ค์ ํ๊ธฐ
1. Docker๋ฅผ ํ์ฉํ ์ปจํ ์ด๋ ์ฒ๋ฆฌ 1.1 ์ฐ์ ๋์ปค ํํ์ด์ง์์ ๋์ปค๋ฅผ ์ค์น ํ๋ค. https://www.docker.com/ Docker: Accelerated Container Application Development Docker is a platform designed to help developers build, share, and run co
ruriruriya.tistory.com
1. Docker๋ฅผ ํ์ฉํ ์ปจํ ์ด๋ ์ฒ๋ฆฌ
1.1. AWS ECR ์์ฑ (์ ์ฅ์ ๋ง๋ค๊ธฐ)
1.1.1. AWS ECR ์ฝ์ ์ ์
https://aws.amazon.com/ko/ecr/
์์ ๊ด๋ฆฌํ ์ปจํ ์ด๋ ๋ ์ง์คํธ๋ฆฌ – Amazon Elastic Container Registry - Amazon Web Services
aws.amazon.com
1.1.2. Lambda์ ๊ฐ์ ์ด๋ฆ์ผ๋ก ์ง๊ธฐ
Lambda ์ ๊ฐ์ ์ด๋ฆ์ผ๋ก ์ง์ด์ผ ๊ด๋ฆฌํ๊ธฐ ์ข๋ค.
ex ) aws-photo-sns-app-dev // ๋ค์ -dev.
1.1.3. ์ ์ ์์ฑ
์ ์ : serverless ์ ํ
์ ์ฑ : ๋ชจ๋ ํ๊ณ ๋ค์์
์ ์ฑ
JSON ํธ์ง์ผ๋ก ์๋ ์ ์ฑ
ํ๋ ๋ ์ถ๊ฐํ๊ธฐ
ecr:GetAuthorizationToken
- ํ ๋ฒ ์์ฑํ ์๋ฒ๋ฆฌ์ค ์ ์ ๋ ๊ณ์ ์ธ ์ ์์
1.2. ๋์ปค ์๋ฒ ๋ฐฐํฌ ํ ํ ์คํธ
1.2.1. ๋์ปค ๋ฐ์คํฌํ ์คํ ํ sls deploy ๋ช ๋ น์ด๋ก ์๋ฒ ๋ฐฐํฌ
1.2.2. ์๋ํฌ์ธํธ url๋ก ํฌ์คํธ๋งจ ํ ์คํธ
1.2.3. AWS ECR repository ํ์ธ
- serverless [repository name] ์์ฑ๋์๋์ง ํ์ธ
2. ๋์ปค AWS ์๋ฒ ๋ฐฐํฌ ์๋ํ
2.1. Docker AWS Git ์๋ํ yml ํ์ผ ์์ .
.github\workflows\main.yml ์์
name: Deploy sls app
on:
push:
branches:
- master
jobs:
deploy:
runs-on: ubuntu-latest
env:
SERVERLESS_ACCESS_KEY: ${{ secrets.SERVERLESS_ACCESS_KEY }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
steps:
- uses: actions/checkout@v3
- name: install-python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: install serverless
run: npm i -g serverless
- name: severless deploy
run: sls deploy --verbose --force
2.2. GitHub Desktop ์์ commit/push