๐ฉ Autoscaling์ด๋?
- Autoscaling์ ์ ํ๋ฆฌ์ผ์ด์
๋๋ ์๋น์ค์ ํธ๋ํฝ ๋ณํ์ ๋ฐ๋ผ ์๋์ผ๋ก ๋ฆฌ์์ค๋ฅผ ์กฐ์ ํ๋ ๊ธฐ์ ์
๋๋ค. ์๋ฅผ ๋ค์ด, ์น ์ ํ๋ฆฌ์ผ์ด์
์ ์ฌ์ฉ์ ์๊ฐ ์ฆ๊ฐํ๋ฉด ์๋ฒ ์๋ฅผ ์๋์ผ๋ก ๋๋ฆฌ๊ณ , ์ฌ์ฉ์ ์๊ฐ ๊ฐ์ํ๋ฉด ์๋ฒ ์๋ฅผ ์ค์ด๋ ๊ฒ์ด Autoscaling์ ํต์ฌ ์์ด๋์ด์
๋๋ค. ์ด๋ฅผ ํตํด ์๋น์ค์ ๊ฐ์ฉ์ฑ๊ณผ ์ฑ๋ฅ์ ์ต์ ํํ๊ณ , ์ธํ๋ผ ๋ฆฌ์์ค๋ฅผ ํจ์จ์ ์ผ๋ก ํ์ฉํ ์ ์์ต๋๋ค. ํนํ ํด๋ผ์ฐ๋ ์ปดํจํ
ํ๊ฒฝ์์ ์ ์ฉํ๋ฉฐ, ์ฌ์ฉ์์ ์์์ ์ ์ํ๊ฒ ๋์ํ์ฌ ๋น์ฉ์ ์ ๊ฐํ ์ ์๋ ์ฅ์ ์ด ์์ต๋๋ค.
๐ Autoscaling์๋ ๋๊ฐ์ง ํ์ฅ ๋ฐฉ์์ด์์ต๋๋ค. ๋ฐ๋ก ์์ง์ ํ์ฅ(Scale-up), ์ํ์ ํ์ฅ(Scale-out)์
๋๋ค.
- Scale out (์ํ ํ์ฅ):
- Scale out์ ์์คํ
์ ์ฑ๋ฅ์ ํฅ์์ํค๊ธฐ ์ํด ์ฌ๋ฌ ๊ฐ์ ์ธ์คํด์ค ๋๋ ์๋ฒ๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
- ์๋ฅผ ๋ค์ด, ์น ์ ํ๋ฆฌ์ผ์ด์
์ ๋ถํ๊ฐ ์ฆ๊ฐํ๋ฉด ์๋ก์ด ์๋ฒ ์ธ์คํด์ค๋ฅผ ์ถ๊ฐํ์ฌ ํธ๋ํฝ์ ๋ถ์ฐ์ํค๋ ๊ฒ์ด Scale out์
๋๋ค.
- Scale out์ ์ฃผ๋ก ๋ถ์ฐ ์์คํ
์์ ์ฌ์ฉ๋๋ฉฐ, ํ์ฅ์ฑ์ด ๋์ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ตฌํํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค.
- Scale up (์์ง ํ์ฅ):
- Scale up์ ๋จ์ผ ์๋ฒ ๋๋ ์ธ์คํด์ค์ ๋ฆฌ์์ค(์: CPU, ๋ฉ๋ชจ๋ฆฌ, ๋์คํฌ ๊ณต๊ฐ ๋ฑ)๋ฅผ ์ฆ๊ฐ์ํค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
- ์๋ฅผ ๋ค์ด, ๊ธฐ์กด ์๋ฒ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋๋ฆฌ๊ฑฐ๋ CPU๋ฅผ ์
๊ทธ๋ ์ด๋ํ์ฌ ๋ ๋ง์ ์์
์ ์ฒ๋ฆฌํ ์ ์๋ ๋ ๊ฐ๋ ฅํ ์๋ฒ๋ก ์ค์ผ์ผ ์
ํ ์ ์์ต๋๋ค.
- Scale up์ ์ฃผ๋ก ๋จ์ผ ์๋ฒ ํ๊ฒฝ์์ ์ฌ์ฉ๋๋ฉฐ, ํ์ ๋ ๋ฆฌ์์ค๋ฅผ ๊ฐ์ง ์ ํ๋ฆฌ์ผ์ด์
์ ์ฑ๋ฅ์ ํฅ์์ํค๋ ๋ฐ ์ ์ฉํฉ๋๋ค.
์์ฝํ๋ฉด, Scale out์ ์๋ฒ ์ธ์คํด์ค๋ฅผ ์ถ๊ฐํ์ฌ ํ์ฅ์ฑ์ ํฅ์์ํค๋ ๋ฐ๋ฉด, Scale up์ ๊ธฐ์กด ์๋ฒ์ ์ฑ๋ฅ์ ๊ฐํํ์ฌ ์ฑ๋ฅ์ ํฅ์์ํค๋ ๊ฒ์
๋๋ค.
๊ฐ๋จํ๊ฒ ์ด๋ก ์ ๋ดค์ผ๋ ๋ค์ด๋ฒํด๋ผ์ฐ๋ ํ๋ซํผ์์ ์ค์ ๋ก ๊ตฌ์ถํด๋ณด๊ณ ํ
์คํธํด๋ณด๋ฉด์ ๋ค์ ํ๋ฒ ์ดํด ํด๋ณด๋ ์๊ฐ์ ๊ฐ๋๋ก ํ๊ฒ ์ต๋๋ค. ๐ค
๐ฃ ์ํคํ
์ฒ ๊ตฌ์ถ ์์
- Server ์์ฑ
- Application Load Balancer ์์ฑ(Target Group ํฌํจ)
- Auto Scaling Launch Configuration ์ค์
- Auto Scaling Group ์ค์
- Cloud Insight Monitoring Event Rule ์ค์
1. ํ
์คํธ๋ฅผ ์งํํ Server๋ฅผ ํ๋ ์์ฑํด์ค์๋ค.

VPC์ Subnet์ ์์ฑํ๋ค๋ ๊ฐ์ ํ์ ์งํํ๋๋ก ํ๊ฒ ์ต๋๋ค!
2. Application Load Balancer, Taget Group ์์ฑ

ํ๊ฒ ๊ทธ๋ฃน์๋ HTTPํ๋กํ ์ฝ 80ํฌํธ๋ฅผ ํ๊ฒ์ผ๋ก ํด์ฃผ๋ฉด ๋ฉ๋๋ค!
3. Server image ์์ฑ

Auto Scaling Launch Configuration์์ ์ฌ์ฉํ Server Image๋ฅผ ์์ฑํด์ค๋๋ค!
4. Launch Configuration ์์ฑ
#! /bin/bash
yum install -y httpd
systemctl start httpd
cd /var/www/html
echo hostname : $HOSTNAME > index.html
systemctl restart httpd
- Launch Configuration ์์ฑ์๋ฃ

5. Auto Scaling Group ์์ฑ
-
์ข ์ ์ ๋ง๋ Launch Configuration ์ ํํด์ค๋๋ค.

-
๊ผญ ํฌ์ค ์ฒดํฌ ์ ํ์ ๋ก๋๋ฐธ๋ฐ์๋ฅผ ์ ํํด์ค๋๋ค.

์ต์ ์ฉ๋: ํญ์ ์ ์งํด์ผ ํ๋ ์ต์ ์๋ฒ ์. ๋ณดํต์ ๊ธฐ๋ณธ ์ฉ๋์ ์ถฉ์กฑํ๊ธฐ ์ํด ์ค์ ๋ผ์!
์ต๋ ์ฉ๋: ์์คํ
์์ ํ์ฉ๋๋ ์ต๋ ์๋ฒ ์. ํ์ฅ ๊ฐ๋ฅํ ํ๋๋ฅผ ๋ํ๋ด์!
๊ธฐ๋ ์ฉ๋: ์ ์งํ๊ณ ์ถ์ ํ๊ท ์๋ฒ ์. ํธ๋ํฝ ์์ธก๊ณผ ๋ฆฌ์์ค ์๊ตฌ์ ๋ฐ๋ผ ์กฐ์ ๋ผ์!
-
์ ์ฑ
์ค์

Autoscaling์ด ์๋ํ๋ฉด ํ๋ฒ์ ๋ช๊ฐ์ ์๋ฒ๋ฅผ ๋๋ฆด์ง ์ค์ผ์ง ์ ํ๋ ์ค์ ์
๋๋ค.
-
Auto Scaling Group ์์ฑ์๋ฃ

๋ชจ๋ํฐ๋ง ๊ธฐ๋ฅ๋ ์์ง๋ง ์ด๋ฒ ์ค์ด์์ ์๋ตํ๋๋ก ํ๊ฒ ์ต๋๋ค!
6. Cloud Insight Monitoring Event Rule ์ค์
- Server(VPC)๋ก Rule์ ์์ฑํฉ๋๋ค.

- ๋ง๋ค์ด๋์๋ ์ธ์คํด์ค๋ฅผ ๋์์ผ๋ก ๊ทธ๋ฃน์ ๋ง๋ค์ด์ค๋๋ค.

- CPU๋ฅผ ๋์์ผ๋ก ํ ํ
ํ๋ฆฟ์ ๋ง๋ค์ด์ค๋๋ค.

- Autoscaling ์ ์ฑ
์ ์ค์ ํด์ค๋๋ค.

- ๋ฐฉ๊ธ๊น์ง ๋ง๋ Rule์ ์๋ฒ CPU๊ฐ 50%์ด์ ๋ถํ์ Autoscaling์ผ๋ก ์ธํด ์๋ฒ๊ฐ ์๊ธฐ๋ ๋ฃฐ๋ง ๋ง๋ ๊ฒ์
๋๋ค.
- ์์ ๊ฐ์๋ฐฉ๋ฒ์ผ๋ก CPU๋ถํ๊ฐ ์์ ๋์์์ ์๋ฒ๊ฐ ์ค์ด๋๋ ์ ์ฑ
๋ํ ๋ง๋ค์ด ์ฃผ์๋ฉด ๋ฉ๋๋ค.
7. Server Stress ๋ถํ ํ
์คํธ
- SSH๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฒ์ ์ ์ํด์ค์๋ค.
- ๋จผ์ ๋ถํํ
์คํธ๋ฅผ ์งํํ๊ธฐ์ Apache์ค์น๋ฅผ ํด์ค์๋ค.
- Autoscaling ์๋ฒ๋ init script๋ฅผ ์ค์ ํด๋จ๊ธฐ ๋๋ฌธ์ ์๋์ผ๋ก ์ค์น๊ฐ ๋ ๊ฒ์
๋๋ค.
- init script ์ฝ๋๋ฅผ ์ง์ ์
๋ ฅํ์ฌ ์ค์ ํด์ฃผ์๋ฉด ๋ฉ๋๋ค.
- ๊ณต์ธip๋ก ์ ์ํ์ฌ ์ค์ ์ด ์๋์๋์ง ํ์ธ์ ํด๋ด
์๋ค.

- ์ค์ ์ด ์๋ฃ๋์์ผ๋ Stress๋ก CPU๊ณผ๋ถํ๋ฅผ ์ฃผ์ด Autoscaling์ ํ
์คํธ ํด๋ด
์๋ค.
- yum -y install epel-release
- yum -y install stress
- ์ ๋ช
๋ น์ด๋ก Stressํด์ ๊น์์ค์๋ค.

- stress --cpu -2 --timeout 400s(stressํด์ ํตํด CPU์ ๋ถํ๋ฅผ ์ฃผ๋ ๋ช
๋ น์ด ์
๋๋ค.

8. Autoscaling ์๋ฒ ํ์ธ


์ง๊ธ๊น์ง Autoscalingํ
์คํธ๋ฅผ ์งํํด ๋ณด์์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค!๐