๐ ํ๊ฒฝ
Python 3.8
Aws Plattform
๐ ๊ฐ์
Aws์์ elastic beanstalk๋ฅผ ๊ตฌ์ถํด ๋ด ์๋ค
๐ ๋ชฉ์ฐจ
- what is the eb
- how to create eb
- What is the eb
Aws์์ ์ ๊ณตํ๋ ์๋ฒ๋ฅผ ๋ณด๋ค ์ฝ๊ฒ ๊ด๋ฆฌํ๊ธฐ ์ํ ์ค์ผ์คํธ๋ ์ด์
์๋น์ค๊ฐ eb(elastic beanstalk)์
๋๋ค.
์ฃผ์ ๊ธฐ๋ฅ
- eb cli๋ฅผ ํตํ ๋ฐฐํฌ์ค์ ๊ด๋ฆฌ ๋ฐ ์ ์ํ ๋ฐฐํฌ
- ์๋ฒ์ ์ธํ๋ผ, ๋ก๊ทธ, ๋ชจ๋ํฐ๋ง, ์ฉ๋ ํน์ ๋น์ฉ์ ํ๋ก๋น์ ๋ ๋ฑ ๊ด๋ฆฌ ํจ์จ ์ฆ๊ฐ
- How to create eb
aws๋ด์ ๊ฒ์๋์ eb๋ฅผ ๊ฒ์ํฉ๋๋ค
์ข์ธก ์นดํ
๊ณ ๋ฆฌ ์๋จ์ ์ ํ๋ฆฌ์ผ์ด์
๋ชฉ๋ก์ ํด๋ฆญํฉ๋๋ค
์ฐ์ธก ๋ฒํผ์ผ๋ก ์ ์ ํ๋ฆฌ์ผ์ด์
์ ์์ฑํฉ๋๋ค

์ ํ๋ฆฌ์ผ์ด์
์ ํ์์ ํ๊ฒฝ์ ๊ตฌ์ฑํ ์์ ์
๋๋ค
์์ฑํ ํ๋ก์ ํธ๋ช
๊ณผ eb ๊ตฌ์ฑ์ ๊ณ ๋ คํด์ ์ด๋ฆ์ ์์ฑํฉ๋๋ค
์ค๋ช
์ ๊ฐ๋จํ๊ฒ ์ ์ด์ค๋๋ค

๋ง๋ค์ด์ง ์ ํ๋ฆฌ์ผ์ด์
์ ์ ํ๊ฒฝ์ ์์ฑํฉ๋๋ค

์น์๋ฒ ํ๊ฒฝ์ ์ฌ์ฉํฉ๋๋ค

์์ ์ ํ๋ฆฌ์ผ์ด์
์ด๋ฆ์ ๊ณ ๋ คํ์ฌ ํ์ํ๊ฒฝ์ด๋ฆ์ ์์ฑํฉ๋๋ค
๋๋ฉ์ธ์ ํน๋ณํ ์๋ฏธ๋ฅผ ๋ถ์ฌํ ๊ฒฝ์ฐ ์ถ๊ฐ์ ์ผ๋ก ์์ฑํฉ๋๋ค

ํด๋น ๋ธ๋ก๊ทธ์์๋ python์ django server๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ตฌ์ฑํฉ๋๋ค
๋ฐ๋ผ์ ํ๋ซํผ์ python์ผ๋ก ์ ํํฉ๋๋ค
๊ฐ๋ฐ ์ python ๋ฒ์ ๊ณผ ํ๋ซํผ ๋ธ๋์น python ๋ฒ์ ๋ง์ถฐ์ฃผ๋ ๊ฒ์ด ์ข์ต๋๋ค

๊ผญ! ์ถ๊ฐ ์ต์
๊ตฌ์ฑ์ ํด๋ฆญํด์ eb์ ์์ธ ์ค์ ์ ํด์ผ ํฉ๋๋ค

- EB ์ถ๊ฐ ์ต์ ๊ตฌ์ฑ
load balancing, auto scaling ๋ฑ์ ๋์์ ์ฌ์ฉํด์ฃผ๊ธฐ ์ํด ๋จ์ผ ์ธ์คํด์ค๋ ์ง์ํฉ๋๋ค
์ปค์คํ
๊ฐ๋ฅํ ์ฌ์ฉ์ ์ง์ ๊ตฌ์ฑ์ ์ ํํฉ๋๋ค

์ํํธ์จ์ด์์๋ ์ธ์คํด์ค์์ ์ผ์ด๋๋ ์ํฉ์ ๋ก๊ทธ๋ก ๋จ๊ธฐ๋ ์ค์ ์ ํฉ๋๋ค
์๊ธ ์ ์ฉ์ด๊ธฐ ๋๋ฌธ์ ํ์ํ ๊ฒฝ์ฐ๋ง ํฉ๋๋ค


์ธ์คํด์ค์์๋ ๋ณด์๊ทธ๋ฃน์ ์ ์ฉํฉ๋๋ค

๊ธฐ๋ณธ์ค์ ์ ์ ์งํ ์ฑ๋ก ๋ณด์ ๊ทธ๋ฃน๋ง ๋ฐ๋ก ๋ง๋ค์ด์ ์ฌ์ฉํ์ต๋๋ค
๋ณด์๊ทธ๋ฃน ๋ง๋ค๊ธฐ
๋ณด์ ๊ทธ๋ฃน์ EC2 ์นดํ
๊ณ ๋ฆฌ์ ๋คํธ์ํฌ ๋ฐ ๋ณด์์์ ์์ฑ ๊ฐ๋ฅํฉ๋๋ค
์์ฑํ ๋ณด์๊ทธ๋ฃน์ ์ ํํด ์ค๋๋ค


์คํ ์ค์ผ์ผ๋ง์ ๊ท๋ชจ์ ๋ง๊ฒ ์ค์ ํด์ค๋๋ค ์ ๋ 2๊ฐ ๋ก์ง ํํ์ต๋๋ค
ํ์ต์ฉ์ผ๋ก ๋น์ฉ์ ๊ณ ๋ คํ๋ค๋ฉด ์ธ์คํด์ค๋ 1๊ฐ๋ก ์ธํ
ํ๋ฉด ๋ฉ๋๋ค

์ธ์คํด์ค์ฌ์์ ์์ธํ ์์๋ณด๊ธฐ๋ก ์ฑ๋ฅ ํ์
๊ฐ๋ฅํฉ๋๋ค
์ ๋ 2 ์ฝ์ด 2๊ธฐ๊ฐ ๋ฉ๋ชจ๋ฆฌ์ธ t4g.small ์ธ์คํด์ค๋ก ์งํํ์ต๋๋ค
AwsEc2 ์ฌ์๋งํฌ

์กฐ์ ํธ๋ฆฌ๊ฑฐ์์๋ ํ๊ฒฝ์ ์ํ๋ฅผ ์์๋ณผ ์ ์์ต๋๋ค.
CPU๋ก ์ธก์ ํ๊ณ ๋จ์๋ %๋ก ์ค์ ํฉ๋๋ค
์, ํ์ ์๊ณ๊ฐ์ ๋จ์์ ๋ง๊ฒ ์ค์ ํฉ๋๋ค

๋ก๋๋ฐธ๋ฐ์ค๋ฅผ ์ด์ฉํ ํธ๋ํฝ ๋ถ์ฐ ์ ์ฌ์ฉ๋ https ๋ฆฌ์ค๋๊ฐ ํ์ํฉ๋๋ค.
ssl์ด aws์ ์์ ๊ฒฝ์ฐ ๋ฆฌ์ค๋์ ์ถ๊ฐํด ์ค๋๋ค.
์์ ๊ฒฝ์ฐ ๋์ด๊ฐ๋๋ค


๋ฐฐํฌ ์ ๋ต์ธ ๋ธ๋ฃจ๊ทธ๋ฆฐ, ๋กค๋ง๋ฑ ์ํ๋ ๋๋ก ๋ฐฐํฌ๋ฐฉ์์ ์ค์ ํ ์ ์์ต๋๋ค
์ ๋ ํ ๋ฒ์ ๋ฐฐํฌ๋ก ์งํํ์ง๋ง ๋ฐฐํฌ ์ ๋ต์ ํ์ฉํด๋ณด์ค ๋ถ๋ค์ ๋กค๋ง๊ณผ ๋น์จ์ ๊ณ ๋ คํ์ฌ ์ ํํ๋ฉด ๋ฉ๋๋ค

๋ณด์์์๋ EC2 ํคํ์ด๋ฅผ ๋ง๋ค์ด์ ์ ์ฉํด ์ค๋๋ค.
EC2ํคํ์ด ๋ง๋ค๊ธฐ

์ดํ ์ค์ ๋ค์ ๋ฐ๋ก ์ฌ์ฉํ์ง ์์ผ๋ฏ๋ก eb๋ฅผ ์์ฑํด ์ค๋๋ค.
๐ ๊ทผ๊ฑฐ ์๋ ์กฐ์ธ์ ์ธ์ ๋ ํ์ํฉ๋๋ค. ์ฑ์คํ ์ฝ๋ฉ ํ์ธ์.
๐ ํ๊ฒฝ
Python 3.8
Aws Plattform
๐ ๊ฐ์
Aws์์ elastic beanstalk๋ฅผ ๊ตฌ์ถํด ๋ด ์๋ค
๐ ๋ชฉ์ฐจ
- what is the eb
- how to create eb
- What is the eb
Aws์์ ์ ๊ณตํ๋ ์๋ฒ๋ฅผ ๋ณด๋ค ์ฝ๊ฒ ๊ด๋ฆฌํ๊ธฐ ์ํ ์ค์ผ์คํธ๋ ์ด์
์๋น์ค๊ฐ eb(elastic beanstalk)์
๋๋ค.
์ฃผ์ ๊ธฐ๋ฅ
- eb cli๋ฅผ ํตํ ๋ฐฐํฌ์ค์ ๊ด๋ฆฌ ๋ฐ ์ ์ํ ๋ฐฐํฌ
- ์๋ฒ์ ์ธํ๋ผ, ๋ก๊ทธ, ๋ชจ๋ํฐ๋ง, ์ฉ๋ ํน์ ๋น์ฉ์ ํ๋ก๋น์ ๋ ๋ฑ ๊ด๋ฆฌ ํจ์จ ์ฆ๊ฐ
- How to create eb
aws๋ด์ ๊ฒ์๋์ eb๋ฅผ ๊ฒ์ํฉ๋๋ค
์ข์ธก ์นดํ
๊ณ ๋ฆฌ ์๋จ์ ์ ํ๋ฆฌ์ผ์ด์
๋ชฉ๋ก์ ํด๋ฆญํฉ๋๋ค
์ฐ์ธก ๋ฒํผ์ผ๋ก ์ ์ ํ๋ฆฌ์ผ์ด์
์ ์์ฑํฉ๋๋ค

์ ํ๋ฆฌ์ผ์ด์
์ ํ์์ ํ๊ฒฝ์ ๊ตฌ์ฑํ ์์ ์
๋๋ค
์์ฑํ ํ๋ก์ ํธ๋ช
๊ณผ eb ๊ตฌ์ฑ์ ๊ณ ๋ คํด์ ์ด๋ฆ์ ์์ฑํฉ๋๋ค
์ค๋ช
์ ๊ฐ๋จํ๊ฒ ์ ์ด์ค๋๋ค

๋ง๋ค์ด์ง ์ ํ๋ฆฌ์ผ์ด์
์ ์ ํ๊ฒฝ์ ์์ฑํฉ๋๋ค

์น์๋ฒ ํ๊ฒฝ์ ์ฌ์ฉํฉ๋๋ค

์์ ์ ํ๋ฆฌ์ผ์ด์
์ด๋ฆ์ ๊ณ ๋ คํ์ฌ ํ์ํ๊ฒฝ์ด๋ฆ์ ์์ฑํฉ๋๋ค
๋๋ฉ์ธ์ ํน๋ณํ ์๋ฏธ๋ฅผ ๋ถ์ฌํ ๊ฒฝ์ฐ ์ถ๊ฐ์ ์ผ๋ก ์์ฑํฉ๋๋ค

ํด๋น ๋ธ๋ก๊ทธ์์๋ python์ django server๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ตฌ์ฑํฉ๋๋ค
๋ฐ๋ผ์ ํ๋ซํผ์ python์ผ๋ก ์ ํํฉ๋๋ค
๊ฐ๋ฐ ์ python ๋ฒ์ ๊ณผ ํ๋ซํผ ๋ธ๋์น python ๋ฒ์ ๋ง์ถฐ์ฃผ๋ ๊ฒ์ด ์ข์ต๋๋ค

๊ผญ! ์ถ๊ฐ ์ต์
๊ตฌ์ฑ์ ํด๋ฆญํด์ eb์ ์์ธ ์ค์ ์ ํด์ผ ํฉ๋๋ค

- EB ์ถ๊ฐ ์ต์ ๊ตฌ์ฑ
load balancing, auto scaling ๋ฑ์ ๋์์ ์ฌ์ฉํด์ฃผ๊ธฐ ์ํด ๋จ์ผ ์ธ์คํด์ค๋ ์ง์ํฉ๋๋ค
์ปค์คํ
๊ฐ๋ฅํ ์ฌ์ฉ์ ์ง์ ๊ตฌ์ฑ์ ์ ํํฉ๋๋ค

์ํํธ์จ์ด์์๋ ์ธ์คํด์ค์์ ์ผ์ด๋๋ ์ํฉ์ ๋ก๊ทธ๋ก ๋จ๊ธฐ๋ ์ค์ ์ ํฉ๋๋ค
์๊ธ ์ ์ฉ์ด๊ธฐ ๋๋ฌธ์ ํ์ํ ๊ฒฝ์ฐ๋ง ํฉ๋๋ค


์ธ์คํด์ค์์๋ ๋ณด์๊ทธ๋ฃน์ ์ ์ฉํฉ๋๋ค

๊ธฐ๋ณธ์ค์ ์ ์ ์งํ ์ฑ๋ก ๋ณด์ ๊ทธ๋ฃน๋ง ๋ฐ๋ก ๋ง๋ค์ด์ ์ฌ์ฉํ์ต๋๋ค
๋ณด์๊ทธ๋ฃน ๋ง๋ค๊ธฐ
๋ณด์ ๊ทธ๋ฃน์ EC2 ์นดํ
๊ณ ๋ฆฌ์ ๋คํธ์ํฌ ๋ฐ ๋ณด์์์ ์์ฑ ๊ฐ๋ฅํฉ๋๋ค
์์ฑํ ๋ณด์๊ทธ๋ฃน์ ์ ํํด ์ค๋๋ค


์คํ ์ค์ผ์ผ๋ง์ ๊ท๋ชจ์ ๋ง๊ฒ ์ค์ ํด์ค๋๋ค ์ ๋ 2๊ฐ ๋ก์ง ํํ์ต๋๋ค
ํ์ต์ฉ์ผ๋ก ๋น์ฉ์ ๊ณ ๋ คํ๋ค๋ฉด ์ธ์คํด์ค๋ 1๊ฐ๋ก ์ธํ
ํ๋ฉด ๋ฉ๋๋ค

์ธ์คํด์ค์ฌ์์ ์์ธํ ์์๋ณด๊ธฐ๋ก ์ฑ๋ฅ ํ์
๊ฐ๋ฅํฉ๋๋ค
์ ๋ 2 ์ฝ์ด 2๊ธฐ๊ฐ ๋ฉ๋ชจ๋ฆฌ์ธ t4g.small ์ธ์คํด์ค๋ก ์งํํ์ต๋๋ค
AwsEc2 ์ฌ์๋งํฌ

์กฐ์ ํธ๋ฆฌ๊ฑฐ์์๋ ํ๊ฒฝ์ ์ํ๋ฅผ ์์๋ณผ ์ ์์ต๋๋ค.
CPU๋ก ์ธก์ ํ๊ณ ๋จ์๋ %๋ก ์ค์ ํฉ๋๋ค
์, ํ์ ์๊ณ๊ฐ์ ๋จ์์ ๋ง๊ฒ ์ค์ ํฉ๋๋ค

๋ก๋๋ฐธ๋ฐ์ค๋ฅผ ์ด์ฉํ ํธ๋ํฝ ๋ถ์ฐ ์ ์ฌ์ฉ๋ https ๋ฆฌ์ค๋๊ฐ ํ์ํฉ๋๋ค.
ssl์ด aws์ ์์ ๊ฒฝ์ฐ ๋ฆฌ์ค๋์ ์ถ๊ฐํด ์ค๋๋ค.
์์ ๊ฒฝ์ฐ ๋์ด๊ฐ๋๋ค


๋ฐฐํฌ ์ ๋ต์ธ ๋ธ๋ฃจ๊ทธ๋ฆฐ, ๋กค๋ง๋ฑ ์ํ๋ ๋๋ก ๋ฐฐํฌ๋ฐฉ์์ ์ค์ ํ ์ ์์ต๋๋ค
์ ๋ ํ ๋ฒ์ ๋ฐฐํฌ๋ก ์งํํ์ง๋ง ๋ฐฐํฌ ์ ๋ต์ ํ์ฉํด๋ณด์ค ๋ถ๋ค์ ๋กค๋ง๊ณผ ๋น์จ์ ๊ณ ๋ คํ์ฌ ์ ํํ๋ฉด ๋ฉ๋๋ค

๋ณด์์์๋ EC2 ํคํ์ด๋ฅผ ๋ง๋ค์ด์ ์ ์ฉํด ์ค๋๋ค.
EC2ํคํ์ด ๋ง๋ค๊ธฐ

์ดํ ์ค์ ๋ค์ ๋ฐ๋ก ์ฌ์ฉํ์ง ์์ผ๋ฏ๋ก eb๋ฅผ ์์ฑํด ์ค๋๋ค.
๐ ๊ทผ๊ฑฐ ์๋ ์กฐ์ธ์ ์ธ์ ๋ ํ์ํฉ๋๋ค. ์ฑ์คํ ์ฝ๋ฉ ํ์ธ์.