NakedFlower 님의 블로그

클라우드 컴퓨팅 기초(4) 본문

클라우드/클라우드 컴퓨팅 기초

클라우드 컴퓨팅 기초(4)

nakedflower 2025. 10. 3. 13:58

클라우드 아키텍처란

클라우드 아키텍처란 클라우드 기반 서비스의 가용성 향상을 위해 설계된 구조

  • 표준화 기술 최적화를 통해 서비스 안정성 향상. 일부 기술은 온프레미스 환경에서 사용 가능

핵심 구성요소 (기본적인 구조 이해)

클라우드 아키텍처는 보통 다음과 같은 구성요소로 이뤄짐:

  • 1️⃣ 프론트엔드 (Front-end)
    • 사용자가 접근하는 인터페이스 (웹, 모바일 앱, CLI 등)
    • 웹브라우저, REST API, 클라이언트 등이 여기에 해당
    • 클라우드 서비스와 인터랙션하는 입구
  • 2️⃣ 백엔드 (Back-end)
    • 실제로 클라우드 자원이 배치되는 공간
    • 서버, 데이터베이스, 스토리지, 네트워크, 보안 등 포함
  • 3️⃣ 클라우드 자원 (Resources)
    • 컴퓨팅: 가상 서버(EC2), 컨테이너(ECS/EKS), 서버리스(Lambda)
    • 스토리지: 객체 스토리지(S3), 블록 스토리지(EBS)
    • 네트워크: VPC, 서브넷, 라우팅, 로드 밸런서
    • 데이터베이스: RDS, DynamoDB
    • 보안: IAM, KMS, 보안그룹, WAF 등
  • 4️⃣ 관리/운영 도구
    • CloudWatch, CloudTrail, Auto Scaling, Terraform, CI/CD 파이프라인 등
    • 모니터링, 로깅, 자동화를 통해 안정적인 운영 가능

서비스 오케스트레이션

  • IT 리소스를 관리하고 배치하는 자동화 기술
  • 복잡한 클라우드 리소스와 워크플로우를 쉽게 관리

서비스 고가용성(HA)

클라우드 아키텍처는 서비스 **고가용성(HA)**을 위한 기술로 이해될 수 있음

  • 주요 전략 3가지
    • -> 다중 어플리케이션 서버와 부하 분산
    • -> 데이터 베이스 또는 스토리지의 이중화
    • -> 지리적 위치에 따른 서비스 배치 고려

로드 밸런싱

  • 부하 분산이라고도 하며, 사용 가능한 서버가 여러 대 있을 때 사용자의 요청을 여러 대의 서버로 분산하는 것을 말함
  • 로드밸런서를 사용하여 클라이언트의 요청을 백엔드의 여러 서버로 적절히 분산하여, 시스템의 용량과 성능을 확장 가능

클라우드 스케일링 유형

  • 수직 스케일링
    • IT 리소스를 더 높은 사양으로 교체하는 상향 스케일링과 더 낮은 사양으로 교체하는 하향 스케일링 방식이 있음
    • 고성능 리소스를 구매하는 데 많은 비용이 소요되며, 하드웨어 용량에 제약이 있음
  • 수평 스케일링
    • 유사한 유형의 IT 리소스를 추가하고 클러스터링 기술을 활용하여 단일 리소스로 운영하는 방식
    • 상대적으로 저비용이며, 하드웨어 용량에 제약이 없어 클라우드 환경에 적합함

클라우드 버스팅

  • 기업 내부의 클라우드가 요청 처리량을 감당할 수 없을 때, 일시적으로 퍼블릭 클라우드에 작업을 이관하여 전체 시스템의 처리능력을 향상시키는 기술
    • 클라우드 버스팅의 단계
      1. 프라이빗 클라우드와 동일한 구성을 퍼블릭 클라우드에 구축
      2. 클라우드 버스팅 조건 설정 및 이관 데이터와 어플리케이션 지정
      3. 프라이빗 클라우드의 데이터 및 어플리케이션을 퍼블릭 클라우드로 전송

클라우드 버스팅 동작 단계 예시

클라우드 다중화 방식

  • 액티브-액티브
    • -> 두 서버 모두 가동되어, 한쪽 서버에 장애가 발생해도 다른 서버가 지속적으로 서비스를 제공
  • 액티브-스탠바이
    • -> 백업 서버가 대기하는 방식으로, 핫, 웜, 콜드 스탠바이로 구분
    • -> 핫 스탠바이: 백업 장비가 즉시 이용 가능한 상태를 유지하는 방식
    • -> 웜 스탠바이: 백업 장비가 가동 후 준비 상태로 전환되는 방식
    • -> 콜드 스탠바이: 백업 장비가 전원을 끄고(off) 대기하는 방식