-
[๊ฐ์] ๋ฐ๋ผํ๋ฉฐ ๋ฐฐ์ฐ๋ ๋์ปค์ CIํ๊ฒฝ -7STUDY/CLOUD 2022. 7. 5. 20:24
Docker Hub๋ฅผ ์ด์ฉํจ์ผ๋ก์จ Elastic Bean Stalk์์๋ ๋น๋ํ์ง ์์๋ ๋๊ฒ ํ๋ค.
๐ฌ MySQL ๋ถ๋ถ ์ ๋ฆฌ
์ด์ ์ฝ๋์ MySQL ๋ถ๋ถ์ ์ฃผ์์ฒ๋ฆฌํด์ค๋ค.
๐ค Triavis CI
์งํ ๊ณผ์
๊น ํ๋ธ์ ์ฝ๋๋ฅผ ํธ์
-> Travis CI๊ฐ ์ฝ๋๋ฅผ ์๋์ผ๋ก ๊ฐ์ ธ์ด
-> ํ ์คํธ ์ฝ๋ ์คํ ํ ๋น๋
-> ๋น๋๋ ์ด๋ฏธ์ง๋ฅผ ๋์ปค ํ๋ธ๋ก ์ ์ก
(์ ๋ช ํ ์ด๋ฏธ์ง๋ ๊ทธ๋ฅ ๋ค์ด๋ก๋ ํ ์ ์์)
-> AWS EB์ ์ด๋ฏธ์ง๋ฅผ ๋ณด๋๋ค๊ณ ์๋ฆผ
(๋์ปค ํ๋ธ๋ฅผ ์ด์ฉํ์๊ธฐ์ EB์์ ๋น๋ ๋ค์ ์ํด๋ ๋จ)travis.yml ํ์ผ ์์ฑ
๐ Dockerrun.aws.json
์ด ํ์ผ์ด ์์ด์ผ๋ง ํ๋ค. ์์ผ๊น?
Dockerfile -> EB -> Container ์์์ App ๋๋ ค์ค
Dockerfile ์ฌ๋ฌ๊ฐ -> EB : ๋ญ ์ด์ฉ๋ผ๋๊ฑฐ์;;
EB๊ฐ ์ด๋ค ํ์ผ์ ๋จผ์ ์คํํ๊ณ ์ด๋ค ํ๋์ ์ทจํด์ผ ํ๋์ง ์๋ ค์ฃผ๋ ํ์ผ(EB ๊ณ ์ )์ด Dockerrun.aws.json ํ์ผ์ด๋ค.
essential = true
์ด ์ปจํ ์ด๋๋ ์ค์ํ๋ฏ๋ก ์ฃฝ์ผ๋ฉด ๋ฌด์กฐ๊ฑด ์์ ์ ์ค์งํด์ผ ํ๋ค.
โบ Elastic Beanstalk ์ค์
- ์์ฑ
- VPC Security Group ์ค์
VPC๋, AWS ํด๋ผ์ฐ๋์์ ๋ ผ๋ฆฌ์ ์ผ๋ก ๊ฒฉ๋ฆฌ๋ ๊ณต๊ฐ์ ์ ๊ณตํ๋ค. ๋ณธ์ธ ์์ด๋์์๋ง, ์ค์ ํ ๋๋ผ์์๋ง ์ ๊ทผ์ด ๊ฐ๋ฅํ๋๋ก ๊ฒฉ๋ฆฌ๋ ๋คํธ์ํฌ๋ฅผ ์์ฑํด์ค๋ค.
AP-Northeast-2๋ ๊ธฐ๋ณธ์ ์ผ๋ก EB ์ธ์คํด์ค์ RDS๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ํ์ง๋ง ๋์ด ์ฐ๊ฒฐ์ ๋์ง ์๊ณ ์๋ค.
inbound๋ ์ธ๋ถ์์ ์์ฒญ์ ๋ณด๋ด๋ ํธ๋ํฝ ex) http, https, ssh
outbound๋ ์ธ๋ถ์์ ๋๊ฐ๋ ํธ๋ํฝ
๊ฐ์ VPC์์ ์ค๋ ํธ๋ํฝ์ ๋ชจ๋ ํ์ฉํ๋ฉด ๋์ ์ฐ๊ฒฐํ ์ ์๋ค.๐ฌ MySQL AWS RDS ์์ฑ
- ์์ฑ
- Security Group ์์ฑ mysql 3360 ์ถ๊ฐ,
์์ฑํ RDS ์ ์์ฑํ ๋ณด์๊ทธ๋ฃน ์ถ๊ฐ, EB์์ ์์ฑํ ๋ณด์๊ทธ๋ฃน ์ถ๊ฐ - ํ๊ฒฝ๋ณ์ ์ค์ (EB->๊ตฌ์ฑ->์ํํธ์จ์ด ํธ์ง)
๐ค Travis CI์ AWS ์ ๊ทผ์ ์ํ API key ์์ฑ
- IAM USER ์์ฑ
- API ํค Travis.yml ํ์ผ์ ์ ์ด์ฃผ๊ธฐ
- deploy ๋ฌธ์ ์๋ + iam user aws_access_key, aws_secret_access_key ์ถ๊ฐ, ๋น๋
๊ฒฐ๋ก ์ ์ผ๋ก ์คํจํ๋ค. ์๋ฌด๋ฆฌ ๋ค์ ธ๋ด๋ ๋ฌธ์ ๋ฅผ ์ฐพ์ ์ ์์๋ค.
'STUDY > CLOUD' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋๊ท๋ชจ์์คํ ์ค๊ณ๊ธฐ์ด] 1์ฅ ์ฌ์ฉ์ ์์ ๋ฐ๋ฅธ ๊ท๋ชจ ํ์ฅ์ฑ (0) 2024.01.22 [์์ํ์ธ์ ๋์ปค/์ฟ ๋ฒ๋คํฐ์ค] 01. ๋์ปค๋? (1) 2023.09.26 [๊ฐ์] ๋ฐ๋ผํ๋ฉฐ ๋ฐฐ์ฐ๋ ๋์ปค์ CIํ๊ฒฝ -6 (0) 2022.06.28 [๊ฐ์] ๋ฐ๋ผํ๋ฉฐ ๋ฐฐ์ฐ๋ ๋์ปค์ CIํ๊ฒฝ -5 (0) 2022.06.21 [๊ฐ์] ๋ฐ๋ผํ๋ฉฐ ๋ฐฐ์ฐ๋ ๋์ปค์ CIํ๊ฒฝ -4 (0) 2022.05.31