Cloud & IT Cert Prep · 강의

자동 크기 조정 및 사용자 지정 도메인

CPU 및 HTTP 큐 메트릭을 기반으로 확장 규칙을 구성하고, 사용자 지정 도메인을 웹 앱에 연결하며, 무료 App Service 관리 인증서를 바인딩합니다.

레슨 3/413개 단계

자동 크기 조정 및 사용자 지정 도메인은(는) CoddyKit의 무료 Cloud & IT Cert Prep 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cloud & IT Cert Prep 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cloud & IT Cert Prep 강의에는 총 4개의 강의가 포함되어 있습니다.

자동 크기 조정이 중요한 이유

자동 크기 조정은 실시간 수요에 따라 애플리케이션을 실행하는 App Service 인스턴스 수를 자동으로 조정합니다. 자동 크기 조정이 없으면 최대 부하를 기준으로 리소스를 프로비저닝해야 하므로 사용량이 적은 시간에도 유휴 용량에 대한 비용을 지불하게 됩니다. 자동 크기 조정을 사용하면 부하가 증가할 때 Azure가 인스턴스를 추가하고 부하가 감소할 때 인스턴스를 제거하여 성능과 비용을 모두 최적화합니다. 자동 크기 조정에는 Standard 계층 이상이 필요합니다.

스케일 아웃과 스케일 업

Azure는 두 가지 확장 차원을 제공합니다. 스케일 아웃(수평 확장)은 부하를 나누어 처리하도록 앱의 동일한 인스턴스를 추가하는 방식이며, 자동 크기 조정이 주로 수행하는 작업입니다. 스케일 업(수직 확장)은 App Service 플랜 SKU를 변경하여 CPU와 RAM이 더 많은 큰 VM 크기로 전환하는 방식입니다. 여러 인스턴스가 개별 장애를 견딜 수 있으므로 복원력 측면에서는 스케일 아웃이 선호되지만, 스케일 업에는 하드웨어 한계가 있습니다.

# Scale out to 5 instances manually
az appservice plan update \
  --name MyAppServicePlan \
  --resource-group MyRG \
  --number-of-workers 5

# Scale up: change the SKU tier
az appservice plan update \
  --name MyAppServicePlan \
  --resource-group MyRG \
  --sku P2V3

자동 크기 조정 규칙과 프로필

Azure의 자동 크기 조정은 App Service 플랜에 연결된 자동 크기 조정 설정을 통해 구성합니다. 자동 크기 조정 설정에는 하나 이상의 프로필(일반, 고정 날짜, 반복)이 포함되며, 각 프로필에는 규칙이 포함됩니다. 메트릭이 임계값을 초과하면 스케일 아웃 규칙이 실행됩니다(예: CPU > 70%). 메트릭이 더 낮은 임계값 아래로 떨어지면 스케일 인 규칙이 실행됩니다(예: CPU < 30%). 과도한 증가나 불필요한 비용을 방지하려면 항상 스케일 아웃 규칙과 스케일 인 규칙을 모두 정의하십시오.

# Create an autoscale setting with CPU-based rules
az monitor autoscale create \
  --name MyAutoscale \
  --resource-group MyRG \
  --resource MyAppServicePlan \
  --resource-type Microsoft.Web/serverfarms \
  --min-count 2 \
  --max-count 10 \
  --count 2

# Add scale-out rule: CPU > 70% for 5 minutes
az monitor autoscale rule create \
  --autoscale-name MyAutoscale \
  --resource-group MyRG \
  --scale out 2 \
  --condition 'CpuPercentage > 70 avg 5m'

일정 기반 자동 크기 조정

일정 기반 자동 크기 조정(반복 프로필)을 사용하면 예측 가능한 트래픽 패턴에 맞춰 미리 확장할 수 있습니다. 예를 들어 평일마다 08:00에 인스턴스를 10개로 늘리고 18:00에 2개로 줄일 수 있습니다. 일정 기반 프로필과 메트릭 기반 프로필을 함께 사용하면 알려진 피크에 대비한 용량을 미리 확보하면서 예상하지 못한 급증에도 탄력적으로 대응할 수 있습니다.

# Add a recurrence profile for weekday peak hours
az monitor autoscale profile create \
  --autoscale-name MyAutoscale \
  --resource-group MyRG \
  --name 'WeekdayPeak' \
  --min-count 5 \
  --max-count 15 \
  --count 5 \
  --recurrence week mon tue wed thu fri \
  --start 08:00 \
  --end 18:00 \
  --timezone 'UTC'

대기 시간

대기 시간은 확장 작업 후 추가 확장이 수행되지 않는 지연 시간입니다. 이 기간은 일시적인 메트릭 급증으로 인해 스케일 아웃 또는 스케일 인이 빠르게 반복되는 현상을 방지합니다. 기본 대기 시간은 스케일 아웃과 스케일 인 모두 5분입니다. 스케일 인에는 더 긴 대기 시간(예: 10~15분)을 설정하여 제거하기 전에 인스턴스가 활성 연결을 정리할 시간을 주십시오.

# Scale-in rule with 10-minute cooldown
az monitor autoscale rule create \
  --autoscale-name MyAutoscale \
  --resource-group MyRG \
  --scale in 1 \
  --condition 'CpuPercentage < 30 avg 10m' \
  --cooldown 10

사용자 지정 도메인 구성

App Service 앱에는 기본 azurewebsites.net 호스트 이름이 제공됩니다. 고유한 도메인(예: www.contoso.com)을 사용하려면 App Service 설정에서 사용자 지정 도메인을 추가하고 도메인 등록 기관에서 해당 DNS 레코드를 만드십시오. DNS 영역에 CNAME 또는 TXT 레코드(확인 레코드라고 함)를 만들어 소유권을 증명한 다음, 실제 라우팅 CNAME 또는 A 레코드를 만들어야 합니다.

# DNS records at your registrar:
# CNAME  www           MyUniqueWebApp.azurewebsites.net
# TXT    asuid.www     <verification_id from Azure portal>

# After DNS propagation, add the custom domain in Azure
az webapp config hostname add \
  --webapp-name MyUniqueWebApp \
  --resource-group MyRG \
  --hostname www.contoso.com

사용자 지정 도메인의 TLS 인증서

사용자 지정 도메인을 매핑한 후 HTTPS를 사용하려면 TLS 인증서가 필요합니다. App Service는 세 가지 옵션을 제공합니다. App Service Managed Certificate(무료이며 자동으로 갱신되고 표준 도메인으로 제한됨), App Service Certificate(Azure를 통해 구매하며 Key Vault에 저장됨), 타사 인증서 업로드(Let's Encrypt 또는 CA에서 발급받은 자체 인증서)입니다. HTTPS 전용 모드는 모든 HTTP 트래픽을 HTTPS로 자동 리디렉션합니다.

# Create a free App Service Managed Certificate
az webapp config ssl create \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --hostname www.contoso.com

# Bind the certificate to enforce HTTPS
az webapp config ssl bind \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --certificate-thumbprint <THUMBPRINT> \
  --ssl-type SNI

# Enforce HTTPS only
az webapp update \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --https-only true

자동 크기 조정을 위한 HTTP 큐 메트릭

CPU가 일반적인 자동 크기 조정 메트릭인 반면, HTTP 큐 길이는 웹 애플리케이션에 더 나은 신호인 경우가 많습니다. 큐 길이가 길다는 것은 인스턴스가 완전히 사용 중이어서 새 요청이 대기하고 있다는 뜻입니다. HttpQueueLength를 기준으로 확장하면 CPU보다 과부하를 더 빠르게 감지할 수 있습니다. CPU는 사용자에게 보이는 지연 시간을 반드시 나타내지 않은 채 변동할 수 있기 때문입니다. 안정적인 자동 크기 조정을 위해 두 메트릭을 함께 사용하십시오.

# Scale out when HTTP queue length exceeds 100
az monitor autoscale rule create \
  --autoscale-name MyAutoscale \
  --resource-group MyRG \
  --scale out 2 \
  --condition 'HttpQueueLength > 100 avg 1m' \
  --cooldown 5

# Scale in when queue drops below 10
az monitor autoscale rule create \
  --autoscale-name MyAutoscale \
  --resource-group MyRG \
  --scale in 1 \
  --condition 'HttpQueueLength < 10 avg 10m' \
  --cooldown 10

자동 크기 조정 알림

확장 이벤트가 발생할 때 이메일 또는 웹훅 경고를 받도록 자동 크기 조정 알림을 구성하십시오. 이를 통해 팀은 트래픽 패턴을 파악하고 자동 크기 조정이 예상대로 작동하는지 확인할 수 있습니다. 알림은 자동 크기 조정 설정의 알림 섹션에서 구성하며, 여러 이메일 주소와 웹훅 엔드포인트를 대상으로 지정할 수 있습니다(Slack, PagerDuty 또는 사용자 지정 도구와 통합할 수 있음).

# Add email notification to autoscale setting
az monitor autoscale update \
  --name MyAutoscale \
  --resource-group MyRG \
  --add-condition '{"email": {"sendToSubscriptionAdministrator": true, "customEmails": ["ops@contoso.com"]}, "webhooks": []}'

에이펙스 도메인과 Traffic Manager

에이펙스 도메인(예: www가 없는 contoso.com)을 App Service에 매핑하려면 App Service IP 주소를 가리키는 A 레코드와 TXT 확인 레코드가 필요합니다. App Service IP는 변경될 수 있으므로 Microsoft는 중간 계층으로 Azure 트래픽 Manager 또는 Azure Front Door를 사용할 것을 권장합니다. 에이펙스 도메인의 CNAME과 동등한 ALIAS/ANAME 레코드가 Traffic Manager 프로필을 가리키고, 이 프로필이 App Service로 라우팅합니다.

# Get the App Service inbound IP (for A record)
az webapp show \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --query 'inboundIpAddress' -o tsv

# DNS at registrar (apex domain with A record approach)
# A      contoso.com     <inboundIpAddress>
# TXT    asuid           <verification_id>

자동 크기 조정 동작 테스트

자동 크기 조정을 구성한 후 인위적인 부하를 생성하여 제대로 작동하는지 테스트합니다. Apache JMeter, k6 또는 Azure 부하 테스트와 같은 도구를 사용하여 동시 사용자를 시뮬레이션합니다. Azure Monitor에서 App Service 계획의 인스턴스 수 메트릭을 관찰하여 부하가 증가할 때 인스턴스가 늘어나고 부하가 줄어들 때 감소하는지 확인합니다. 크기 조정 임계값을 검증할 수 있도록 관찰된 인스턴스당 RPS(초당 요청 수)를 기록합니다.

# Run a quick load test with curl (basic)
for i in {1..100}; do curl -o /dev/null -s https://www.contoso.com/health & done
wait

# Monitor current instance count
az monitor metrics list \
  --resource '/subscriptions/.../providers/Microsoft.Web/serverfarms/MyAppServicePlan' \
  --metric 'InstanceCount' \
  --interval PT1M

빠른 확인

이 단원에서 다룬 Microsoft Azure Fundamentals (AZ-900) 개념을 제대로 이해했는지 테스트합니다.

단원 요약

이 단원에서는 다음을 배웠습니다. App Service 계획의 자동 크기 조정 규칙은 CPU, HTTP 큐 또는 일정 트리거를 기준으로 인스턴스를 추가하거나 제거합니다. 사용자 지정 도메인에는 DNS CNAME/A 레코드와 DNS 영역의 TXT 확인 레코드가 필요하며, TLS 인증서(무료 관리형 인증서 포함)를 사용하면 사용자 지정 도메인에서 HTTPS를 활성화할 수 있습니다. 다음으로 App Service 인증 및 네트워킹을 살펴봅니다.

무료로 시작

AI 튜터와 함께 Cloud & IT Cert Prep을(를) 배우세요 — 무료

브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.

코스
150
레슨
600

자주 묻는 질문

“자동 크기 조정 및 사용자 지정 도메인” 강의는 무료인가요?

네 — “자동 크기 조정 및 사용자 지정 도메인” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cloud & IT Cert Prep 강의 전체를 잠금 해제할 수 있습니다. Cloud & IT Cert Prep 강의에는 총 4개의 강의가 포함되어 있습니다.

“자동 크기 조정 및 사용자 지정 도메인”에서 뭘 배우나요?

CPU 및 HTTP 큐 메트릭을 기반으로 확장 규칙을 구성하고, 사용자 지정 도메인을 웹 앱에 연결하며, 무료 App Service 관리 인증서를 바인딩합니다. 브라우저에서 직접 실행하는 실습 코드로 Cloud & IT Cert Prep을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Cloud & IT Cert Prep을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Cloud & IT Cert Prep은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“자동 크기 조정 및 사용자 지정 도메인” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Cloud & IT Cert Prep 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Cloud & IT Cert Prep 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. App Service 계획 및 웹 앱 만들기
  2. 배포 슬롯 및 교체
  3. 자동 크기 조정 및 사용자 지정 도메인
  4. App Service 인증 및 네트워킹
← Cloud & IT Cert Prep(으)로 돌아가기