๐Ÿš€ AWS์—์„œ ALB ๋ฐ Auto Scaling์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ ๊ฐ€์šฉ์„ฑ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ (์ดˆ๋ณด์ž ์นœํ™”์ )

๋ฐœํ–‰: (2026๋…„ 1์›” 20์ผ ์˜ค์ „ 08:51 GMT+9)
6 min read
์›๋ฌธ: Dev.to

Iโ€™m happy to translate the article for you, but Iโ€™ll need the full text youโ€™d like translated. Could you please paste the content of the article (or the portion you want translated) here? Iโ€™ll keep the source link at the top and preserve all formatting, markdown, and code blocks as you requested.

์†Œ๊ฐœ

์ด ์‹ค์Šต ํ”„๋กœ์ ํŠธ์—์„œ๋Š” VPC, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ(ALB), ์ž๋™ ์Šค์ผ€์ผ๋ง ๊ทธ๋ฃน(ASG), EC2, NAT ๊ฒŒ์ดํŠธ์›จ์ด์™€ ๊ฐ™์€ ํ•ต์‹ฌ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ๋•์…˜ ์ˆ˜์ค€์˜ AWS ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค.

์„ค์ •์€ AWS ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค:

  • ๋ณด์•ˆ ๋„คํŠธ์›Œํ‚น
  • ๊ณ ๊ฐ€์šฉ์„ฑ
  • ์ž๋™ ์Šค์ผ€์ผ๋ง
  • EC2 ์ธ์Šคํ„ด์Šค์— ๋Œ€ํ•œ ๊ณต๊ฐœ ์ ‘๊ทผ ์ฐจ๋‹จ

์ด ๊ฐ€์ด๋“œ๋Š” ์ดˆ๋ณด์ž์—๊ฒŒ ์นœ์ˆ™ํ•˜๋ฉด์„œ๋„ ๋ฉด์ ‘ ์ค€๋น„์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

๋ฐฐ์šธ ๋‚ด์šฉ

  • ๋ณด์•ˆ์ด ๊ฐ•ํ™”๋œ AWS VPC ์„ค๊ณ„ ๋ฐฉ๋ฒ•
  • ๊ณต์šฉ ์„œ๋ธŒ๋„ท๊ณผ ์‚ฌ์„ค ์„œ๋ธŒ๋„ท (์‹ค์ œ ์‚ฌ์šฉ ์‚ฌ๋ก€)
  • Application Load Balancer (ALB)
  • Auto Scaling Group (ASG)
  • ์•„์›ƒ๋ฐ”์šด๋“œ ์ธํ„ฐ๋„ท์„ ์œ„ํ•œ NAT Gateway
  • ๊ธฐ์—…์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์‹ค์ œ ์•„ํ‚คํ…์ฒ˜

์•„ํ‚คํ…์ฒ˜ ๊ฐœ์š”

Internet
   |
   โ–ผ
Application Load Balancer (Public Subnets)
   |
   โ–ผ
Target Group
   |
   โ–ผ
Auto Scaling Group
   (EC2 Instances in Private Subnets)
   |
   โ–ผ
NAT Gateway โ†’ Internet (Outbound Only)
  • EC2 ์ธ์Šคํ„ด์Šค๋Š” ๊ณต์ธ IP๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
  • ALB๋งŒ ์ธํ„ฐ๋„ท์— ๋…ธ์ถœ๋ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ๋œ ์„œ๋น„์Šค

  • Amazon VPC
  • EC2 (Ubuntu)
  • Application Load Balancer
  • Auto Scaling Group
  • Target Groups
  • NAT Gateway
  • Elastic IP
  • Security Groups

๋‹จ๊ณ„๋ณ„ ๊ตฌํ˜„

1๏ธโƒฃ ๋งž์ถค VPC ์ƒ์„ฑ

  • CIDR: 10.0.0.0/16
  • DNS Hostnames์™€ DNS Resolution ํ™œ์„ฑํ™”

2๏ธโƒฃ ์„œ๋ธŒ๋„ท ์ƒ์„ฑ

๋„ค ๊ฐœ์˜ ์„œ๋ธŒ๋„ท์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค:

์„œ๋ธŒ๋„ท ์œ ํ˜•์ด๋ฆ„์šฉ๋„
PublicPublicโ€‘Subnetโ€‘1ALB
PublicPublicโ€‘Subnetโ€‘2NAT Gateway
PrivatePrivateโ€‘Subnetโ€‘1EC2
PrivatePrivateโ€‘Subnetโ€‘2EC2

Public ์„œ๋ธŒ๋„ท์—๋งŒ Autoโ€‘assign Public IP = Yes ๋ฅผ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

3๏ธโƒฃ ์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด

  • VPC์— ์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
  • ALB์™€ NAT Gateway์— ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

4๏ธโƒฃ NAT ๊ฒŒ์ดํŠธ์›จ์ด (ํ•ต์‹ฌ)

  • Public ์„œ๋ธŒ๋„ท์— NAT ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • Elastic IP๋ฅผ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
  • Private EC2 ์ธ์Šคํ„ด์Šค๊ฐ€ ์•ˆ์ „ํ•˜๊ฒŒ ์ธํ„ฐ๋„ท์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

5๏ธโƒฃ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”

  • Public ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”: 0.0.0.0/0 โ†’ Internet Gateway
  • Private ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”: 0.0.0/0 โ†’ NAT Gateway

๊ฐ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์„ ํ•ด๋‹น ์„œ๋ธŒ๋„ท์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

6๏ธโƒฃ ๋ณด์•ˆ ๊ทธ๋ฃน

  • ALB ๋ณด์•ˆ ๊ทธ๋ฃน:

    • ์ธ๋ฐ”์šด๋“œ: HTTP (80) 0.0.0.0/0 ์—์„œ ํ—ˆ์šฉ
  • EC2 ๋ณด์•ˆ ๊ทธ๋ฃน:

    • ์ธ๋ฐ”์šด๋“œ: HTTP (80) ALB ๋ณด์•ˆ ๊ทธ๋ฃน์—์„œ ํ—ˆ์šฉ
    • ์ธ๋ฐ”์šด๋“œ (์˜ต์…˜): SSH (22) ์ž์‹ ์˜ IP์—์„œ ํ—ˆ์šฉ

EC2 ์ธ์Šคํ„ด์Šค๋Š” ALB๋ฅผ ํ†ตํ•ด์„œ๋งŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

7๏ธโƒฃ ๋Ÿฐ์น˜ ํ…œํ”Œ๋ฆฟ (EC2)

  • AMI: Ubuntu 22.04
  • ์ธ์Šคํ„ด์Šค ์œ ํ˜•: t2.micro

์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ ์Šคํฌ๋ฆฝํŠธ

#!/bin/bash
apt update -y
apt install apache2 -y
systemctl start apache2
systemctl enable apache2
cat  /var/www/html/index.html

ALB + Auto Scaling์—์„œ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค

Source: โ€ฆ

ํ˜ธ์ŠคํŠธ๋ช…: $(hostname)

EOF


### 8๏ธโƒฃ ๋Œ€์ƒ ๊ทธ๋ฃน  

- **๋Œ€์ƒ ์œ ํ˜•:** ์ธ์Šคํ„ด์Šค  
- **ํ”„๋กœํ† ์ฝœ:** HTTP  
- **ํฌํŠธ:** 80  
- **ํ—ฌ์Šค ์ฒดํฌ ๊ฒฝ๋กœ:** `/`  

### 9๏ธโƒฃ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ  

- **์œ ํ˜•:** ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐํ˜•  
- **์„œ๋ธŒ๋„ท:** ํผ๋ธ”๋ฆญ ์„œ๋ธŒ๋„ท  
- **๋ฆฌ์Šค๋„ˆ:** HTTP 80 โ†’ ๋Œ€์ƒ ๊ทธ๋ฃน์œผ๋กœ ํฌ์›Œ๋“œ  

### ๐Ÿ”Ÿ ์ž๋™ ์Šค์ผ€์ผ๋ง ๊ทธ๋ฃน  

- ์œ„์—์„œ ๋งŒ๋“  ๋Ÿฐ์น˜ ํ…œํ”Œ๋ฆฟ ์‚ฌ์šฉ.  
- **์„œ๋ธŒ๋„ท:** ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท  
- **์›ํ•˜๋Š” ์šฉ๋Ÿ‰:** 2  
- **์ตœ์†Œ:** 1  
- **์ตœ๋Œ€:** 3  
- ALB ๋Œ€์ƒ ๊ทธ๋ฃน์— ์—ฐ๊ฒฐ.  

*์„ ํƒ ์‚ฌํ•ญ:* CPU ๊ธฐ๋ฐ˜ ์Šค์ผ€์ผ๋ง ์ •์ฑ… ์ถ”๊ฐ€.

## ์ตœ์ข… ๊ฒ€์ฆ  

1. ALB DNS ์ด๋ฆ„์„ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค.  
2. ๋ธŒ๋ผ์šฐ์ €์— ๋ถ™์—ฌ๋„ฃ๊ณ  ์—ฌ๋Ÿฌ ๋ฒˆ ์ƒˆ๋กœ๊ณ ์นจํ•ฉ๋‹ˆ๋‹ค.  

๋‹ค์–‘ํ•œ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์ด ํ‘œ์‹œ๋˜์–ด ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ, ์ž๋™ ์Šค์ผ€์ผ๋ง ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ์ด ํ™•์ธ๋ฉ๋‹ˆ๋‹ค.

## GitHub ์ €์žฅ์†Œ  

**ํ”„๋กœ์ ํŠธ ์†Œ์Šค ์ฝ”๋“œ ๋ฐ ๋ฌธ์„œ:**  
[https://github.com/IrfanPasha05/aws-alb-autoscaling-project](https://github.com/IrfanPasha05/aws-alb-autoscaling-project)

์ด ์ €์žฅ์†Œ์—๋Š” ๋‹ค์Œ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค:

- ํด๋” ๊ตฌ์กฐ  
- ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ ์Šคํฌ๋ฆฝํŠธ  
- ์„ค์ • ๋‹จ๊ณ„  
- ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ฐ€์ด๋“œ

## ์™œ ์ด ํ”„๋กœ์ ํŠธ๊ฐ€ ์ค‘์š”ํ•œ๊ฐ€  

์•„ํ‚คํ…์ฒ˜๋Š” ์‹ค์ œ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์„ ๋ฐ˜์˜ํ•˜๋ฉฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ถ„์•ผ์—์„œ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค:

- ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜  
- DevOps ๋ฐ ํด๋ผ์šฐ๋“œ ์—”์ง€๋‹ˆ์–ด ์—ญํ•   

๋‹ค์Œ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค:

- ์ด๋ ฅ์„œ  
- ๋ฉด์ ‘  
- ํฌํŠธํด๋ฆฌ์˜ค (LinkedIn, DEV ๋“ฑ)

## ํ–ฅํ›„ ๊ฐœ์„  ์‚ฌํ•ญ  

- ACM์„ ์‚ฌ์šฉํ•œ HTTPS  
- Routeย 53์„ ํ†ตํ•œ ๋งž์ถค ๋„๋ฉ”์ธ  
- CloudFront CDN  
- CloudWatch๋ฅผ ์‚ฌ์šฉํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง

## ์ตœ์ข… ์ƒ๊ฐ  

์ด ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌ์ถ•ํ•˜๋ฉด AWS ๋„คํŠธ์›Œํ‚น, ๋ณด์•ˆ ๋ฐ ํ™•์žฅ์„ฑ์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ๊นŠ์–ด์ง‘๋‹ˆ๋‹ค. AWS๋ฅผ ๋ฐฐ์šฐ๊ณ  ์žˆ๊ฑฐ๋‚˜ ํด๋ผ์šฐ๋“œ ์—ญํ• ์„ ์ค€๋น„ ์ค‘์ด๋ผ๋ฉด, ํ•œ ๋ฒˆ ๊ตฌํ˜„ํ•ด ๋ณด์„ธ์š”โ€”ํ‰์ƒ ๊ธฐ์–ต์— ๋‚จ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.  

ํด๋ผ์šฐ๋“œ ์ฆ๊ธฐ์„ธ์š”! โ˜๏ธ๐Ÿš€
Back to Blog

๊ด€๋ จ ๊ธ€

๋” ๋ณด๊ธฐ ยป

AWS ๋น„์šฉ์„ ์ ˆ๊ฐํ•˜๋Š” 10๊ฐ€์ง€ ๊ฒ€์ฆ๋œ ๋ฐฉ๋ฒ•

EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ์ ์ • ๊ทœ๋ชจ๋กœ ๋งž์ถ”์„ธ์š”. ๋†’์€ AWS ๋น„์šฉ์˜ ๊ฐ€์žฅ ํ”ํ•œ ์›์ธ ์ค‘ ํ•˜๋‚˜๋Š” ๊ณผ๋‹ค ํ”„๋กœ๋น„์ €๋‹๋œ EC2 ์ธ์Šคํ„ด์Šค์ž…๋‹ˆ๋‹ค. ๋งŽ์€ ์‹œ์Šคํ…œ์ด ๊ทธ๋“ค์˜ ์ผ๋ถ€๋งŒ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹คโ€ฆ

ClickOps์—์„œ DevOps๋กœ: Terraform์„ ์‚ฌ์šฉํ•œ ๋‚˜์˜ ์ฒซ ๋ฒˆ์งธ Infrastructure as Code ํ”„๋กœ์ ํŠธ

์†Œ๊ฐœ ์•„ํ‚คํ…์ฒ˜ - VPC: ๋งž์ถคํ˜• Virtual Private Cloud. - Subnet: ์ธ์Šคํ„ด์Šค๋ฅผ ์œ„ํ•œ ํผ๋ธ”๋ฆญ ์„œ๋ธŒ๋„ท. - Internet Gateway IGW: ์ธํ„ฐ๋„ท ์ ‘๊ทผ์„ ํ—ˆ์šฉํ•˜๊ธฐ ์œ„ํ•ด.