Auto Scaling Group (ASG)
์คํ ์ค์ผ์ผ๋ง๊ทธ๋ฃน
- ๋ณดํต ํ์ค์์๋ ์น์ฌ์ดํธ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ณ๊ฒฝ๋๊ธฐ ๋ง๋ จ์ด๋ฉฐ, ๋ฐ๋ ๋ถํ๋ ๋ค๋ฅด๋ค.
- ์ฌ์ฉ์๊ฐ ๋ง์์ง๊ณ ์ ๋ช ํด์ง์๋ก ๋ ๋ง์ ๋ถํ๊ฐ ๊ฑธ๋ฆฌ๊ฒ ๋๋ค.
- ํด๋ผ์ฐ๋ ๋ด์์๋ ์๋ฒ๋ฅผ ๋น ๋ฅด๊ฒ ์์ฑ ๋ฐ ์ ๊ฑฐํ ์ ์๋ค.
๐ ASG ์ ๋ชฉํ ๋ฐ ๊ธฐ๋ฅ
- ๋ถํ๊ฐ ์ฆ๊ฐํ๋ฉด EC2 ์ธ์คํด์ค๋ฅผ ์ถ๊ฐํ๋ค. (์ค์ผ์ผ ์์)
- ๋ถํ๊ฐ ๊ฐ์ํ๋ฉด EC2 ์ธ์คํด์ค๋ฅผ ์ ๊ฑฐํ๋ค. (์ค์ผ์ผ ์ธ)
- EC2 ์ธ์คํด์ค๊ฐ ์ผ์ ๋๋งํผ๋ง ์ฆ๊ฐ or ๊ฐ์ ํ๋๋ก ๋ง๋ค ์ ์๋ค.
- ๋จธ์ ์ ์ต์, ์ต๋ ์ซ์๋ฅผ ์ง์ (์ค์ ) ํ ์ ์๋ค.
- ๋ก๋ ๋ฐธ๋ฐ์์ ์๋์ผ๋ก ์ ์ธ์คํด์ค๋ฅผ ๋ฑ๋กํด์ฃผ๋ ๊ธฐ๋ฅ
๐ ASG ์์ฑ
- A launch configuration (์์ ๊ตฌ์ฑ)
- AMI + Instance Type
- EC2 User Data (EC2 ์์ ์ ์คํํ ์คํฌ๋ฆฝํธ)
- EBS Volumes
- Security Groups
- SSH Key Pair
- Min / Max Size, Initial Capacity (์ต์ด ์ฉ๋, ๊ธฐ๋ ์ฉ๋)
- Network + Subnets Information
- Load Balancer information
- Scaling policies (์ค์ผ์ผ๋ง ์ ์ฑ
)
- ๋ฌด์์ด ์ค์ผ์ผ ์์, ์ค์ผ์ผ ์ธ์ ์ด๋ฐํ๋์ง ๋ฑ์ ๋ํ ์ ์ฑ
๐ ASG ์๋
- CloudWatch ์๋์ ๊ธฐ๋ฐ์ผ๋ก ASG์ ์ค์ผ์ผ๋ง ํ๋๊ฒ์ด ๊ฐ๋ฅ
- ์๋ ๋ชจ๋ํฐ๋ง์ ์งํ(metric) ์ด๋ค. (ex. ํ๊ท CPU ์ฌ์ฉ๋)
- ๋งคํธ๋ฆญ์ด ์ฌ๋ผ๊ฐ์ ์๋์ด ์ธ๋ฆฌ๋ฉด ์ธ์คํด์ค ์ถ๊ฐ (์ค์ผ์ผ ์์)
- ๋งคํธ๋ฆญ์ด ๋ด๋ ค๊ฐ์ ์๋์ด ์ธ๋ฆฌ๋ฉด ์ธ์คํด์ค ์ ๊ฑฐ (์ค์ผ์ผ ์ธ)
- ๋งคํธ๋ฆญ์ด ํ์ํ๋ฉด ๋ญ๋ ์๋์ด ๋ ์ ์๋ค. (์ปค์คํ
๋งคํธ๋ฆญ ์์ฑ ๊ฐ๋ฅ)
- ์๋์ ํ๊ท CPU ๊ฐ์ ์งํ๋ฅผ ๋ชจ๋ํฐ๋ง
- ์งํ๋ ์ ๋ฐ์ ์ธ ํ๊ท ์ผ๋ก ๊ณ์ฐ๋๋ค.
- ์ต์๋ ์ต๋๊ฐ ์๋ค. ์งํ์ ํ๊ท ๋ง ๋ณด๋ ๊ฒ
- ์๋์ ๊ธฐ๋ฐ์ผ๋ก ์ค์ผ์ผ์์ ๋ฐ ์ค์ผ์ผ์ธ ์ ์ฑ ์์ฑ ๊ฐ๋ฅ
๐ Auto Scaling ์๋ก์ด ๊ท์น
- ์คํ ์ค์ผ์ผ๋ง ๊ทธ๋ฃน์ ๋์์ ํ๊ท CPU ์ฌ์ฉ๋์ ์ํ๋ ๊ฒ์ผ๋ก ์ง์ ํ๋ฉด
๋์ CPU ์ฌ์ฉ๋์ ์ถฉ์กฑํ๋ ๋ถํ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ค์ผ์ผ ์ธ/์์ ์ ํ ๊ฒ๋๋ค. - ์ธ์คํด์ค๋น ELB ์์ฒญ ๊ฐ์ ๊ธฐ๋ฐ์ผ๋ก ๊ท์น์ ๋ง๋ค ์๋ ์๋ค.
- ํ๊ท ๋คํธ์ํฌ ์ธ/์์ ๋ฑ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋์ฑ ์ ์ ํ๊ฒ์ผ๋ก ํ๋จ๋๋ ์ ์ฑ ์ด ์๋ค๋ฉด ๊ทธ๊ฑธ ์ฌ์ฉํ๋ฉด ๋๋ค.
๐ Auto Scaling Custom Metric
- ์ปค์คํ
์งํ ๊ธฐ๋ฐ์ผ๋ก ์คํ ์ค์ผ์ผ์ ํ ์ ์๋ค.
- ex. ์ ์ ์ ์ฐ๊ฒฐ ์
- ์ ํ๋ฆฌ์ผ์ด์
์์ ์ด ์ปค์คํ
๋ฉํธ๋ฆญ์ ์์ฑํด์ผ ํ๋ค.
- PutMatric API ์ฌ์ฉํด์ CloudWatch์ ๋ณด๋ธ๋ค.
- CloudWatch ์๋์ ์์ฑํด์ ์งํ๊ฐ์ ๋๋ฎ์ด์ ๋ฐ์ํ๋๋ก ๋ง๋ ๋ค.
- ์ปค์คํ ์งํ๋ก ์ธํ CloudWatch ์๋์ ์ฌ์ฉํ์ฌ ASG์ ์คํ ์ค์ผ์ผ๋ง์ ์คํํ๋ค.
๐ ASG Summary (์์ฝ)
- ASG ์ค์ผ์ผ๋ง ์ ์ฑ
์ ์ด๋ค ์ ์ฑ
์ผ๋ก๋ ๋ง๋ค ์ ์๋ค.
- CPU, Network, Customโฆ.. etc..
- ๊ณ ๊ฐ์ด ์ธ์ ๋ฐฉ๋ฌธํ ์ง ๋ฏธ๋ฆฌ ์๊ณ ์๋ค๋ฉด ์ผ์ ์ ๋ฐ๋ผ ์ ํ ์๋ ์๋ค.
- ASG๋ ์์ ๊ตฌ์ฑ(launch configurations) ์ด๋ ์์ ํ ํ๋ฆฟ(launch templates)์ ์ฌ์ฉ ํ ์ ์๋ค.
- ์์ ํ
ํ๋ฆฟ์ ์์ ๊ตฌ์ฑ์ ์ต์ ๋ฒ์ ์
๋๋ค. ์ต์ ๋ฒ์ ์ฌ์ฉ ๊ถ์ฅ
- ์คํ ์ค์ผ์ผ๋ง๊ทธ๋ฃน์ ์ ๋ฐ์ดํธํ๋ ค๋ฉด ์๋ก์ด ๋ฒ์ ์ ์์ ๊ตฌ์ฑ, ๋๋ ์์ ํ ํ๋ฆฟ์ด ํ์ํ๋ค.
- ASG์ IAM ์ญํ ์ ์ฐ๊ฒฐ์ํค๋ฉด IAM ์ญํ ์ ์๋์ ์ผ๋ก ์คํํ EC2 ์ธ์คํด์ค์ ํ ๋น๋๋ค.
- ASG๋ ๋ฌด๋ฃ์ด๋ค. ํ์ง๋ง, ์คํ๋ ๋ฆฌ์์ค, ์ฆ EBS๋ณผ๋ฅจ์ ์ฐ๊ฒฐ๋ EC2 ์ธ์คํด์ค ๋ฑ์ ์ ๋ฃ๋ก ๊ตฌ๋งค ํ์
- ์ฅ์
- ์ธ์คํด์ค๊ฐ ์ข ๋ฃ๋ ๊ฒฝ์ฐ, ASG๊ฐ ๊ทธ ์ฌ์ค์ ํ์ ํ ์๋์ผ๋ก ์ ์ธ์คํด์ค ์์ฑํด์ ๊ต์ฒดํด์ค
- ์ด๋ฌํ ์ถ๊ฐ์ ์ธ ์์ ์ฑ์ ๋ณด์ฅ์ด ASG ์ฌ์ฉ์ ์ฃผ๋ ๋ชฉ์
- ํน์๋ผ๋ ์๋ชป๋์์๋ ์๋์ผ๋ก ์๋ก์ด ์ธ์คํด์ค๊ฐ ์์ฑ๋ ๊ฒ
- ์ธ์คํด์ค๊ฐ ์ข
๋ฃ๋๋ ๊ฒฝ์ฐ๋ ๋ก๋๋ฐธ๋ฐ์๊ฐ ํฌ์ค์ฒดํฌํ ํน์ EC2๊ฐ ๋น์ ์์ด๋ฉด
์ข ๋ฃํ ์ ์ธ์คํด์ค๋ฅผ ์์ฑํด ๊ต์ฒดํ๋ ํ๋จ - ASG ์ฌ์์์ด ํ์์๋ค.
- ์ธ์คํด์ค์ ์ค๋จ๋ ์์ด, ๋ง ๊ทธ๋๋ก ํด๋น ์ธ์คํด์ค ์ข ๋ฃํ ์ ์ธ์คํด์ค ์์ฑํด์ ๊ต์ฒดํ๋ค.
๋๊ธ๋จ๊ธฐ๊ธฐ