본문 바로가기
개발/클라우드

클라우드 인프라 구축 - 이론

by 컴쏘 2023. 5. 27.

클라우드 기본 개념

region

  • 국가
  • 인프라를 생성할 국가를 선택

zone

  • region안에 있는 data center
  • region안에는 여러개의 zone이 있다.

multi zone

제시된 그림은 하나의 region안에 2개의 zone으로 구성되어 있어, multi zone 이다.

  • multi zone을 활용하면 하나의 zone이 무너지더라도 지속적으로 서비스가 제공될 수 있도록 하는 서비스를 설계할 수 있다.

Availability-zone

  • region내 물리적으로 분리되어 있는 데이터 센터 및 네트워크로 구성되어 있는 지점
  • 각 zone들은 전용회선 베이스의 사설 통신 가능
  • 사용자는 서비스 가용성 및 연속성을 위해 복수 개의 zone에 걸쳐 서비스를 설계하고 배포 필요
  • 서로 다른 가용 영역 내 리소스 배포를 통해 zone 자체 이슈로부터 고가용 서비스 설계 가능

네이버 클라우드에서 제공하는 서비스

멀티존 서비스 제공 내역 및 특징

  • Load Balancer는 하나의 zone에 종속되는 것이 아닌, 어떤 zone에 종속되는 개념은 아니다.
    • Load Balancer는 서로 다른 zone에 배치되어 있는 서버와 바인딩이 가능하기 때문에 외부의 traffic을 서로 다른 zone에 배치되어 있는 서버로 traffic을 마운팅 해줄 수 있는 기능을 기본적으로 제공
  • multi zone이 고려되어 있는 설계를 할 때는, 각각의 서비스들이 zone에 종속적인지 아님 region에 종속적인지를 알면 인프라를 설계할 때 도움이 된다.

클라우드에서 인프라 구축 시 고려사항 6가지

클라우드에서 인프라 구성 시 고려해야할 사항들

가용성

가용성

  • 가용성이란, 시스템이 중단없이 계속 서비스가 가능함을 의미
  • 시스템을 구성하는 각 구성요소들을 Compute, Storage, Network 레이어 별로 살펴보고 단일 지점(single-point)를 이중화하여 가용성을 유지하는 것이 일반적임
  • 가용성을 유지하기 위한 인프라 구성은 Active-Active 구성이나, Active-Standby 형식으로 이중화를 구성할 수 있음

성능

  • 성능적인 측면은 시스템 상의 요구사항을 충족하고 서비스에 대한 수요 증가 혹은 감소에 발맞춰 인프라를 효율적으로 운영할 수 있는지를 의미함

STEP 1. 적절한 용량 산정

  • 서비스 설계 시, 적절한 용량을 산정하기 위해서는 시스템의 요구사항을 파악하고 이에 맞춰 인프라를 구성하는 것이 중요
  • 특히 On-prem 환경에서 클라우드 환경으로의 이관일 경우, 기존 On-prem 환경과 동일한 구성이 아닌 오토스케일링 기능을 통해서 트래픽이 많을 때 인프라를 확장하여 대응할 수 있도록 구성하는 것이 효율적임

STEP 2. 사전 테스트

  • nGrinder, Apache bench와 같은 툴을 사용하여 웹서비스에 부하를 발생하고 서비스가 안정적으로 제공되는 지 사전 테스트가 가능함

STEP 3. 지속적인 모니터링

  • 지속적인 모니터링을 수행하면, 예상했던 성능과 실제 성능의 차이를 인식할 수 있으며 리소스의 변화를 감지하여 Sale-out 혹은 Scale-up 정책을 통해 리소스를 확충할 수 있음

신뢰성

1) 백업

  • 서비스 장애 및 오류, 잘못된 조작 등으로 인한 데이터나 정보의 손상에 대비하여, 인프라 운영 관리 담당자는 주기적(일/주/월 등) 으로 백업을 할 수 있도록 백업을 수행
  • 백업 대상을 선정하고 그에 맞는 백업 주기와 방법, 보관 주기, 소산 백업 여부 등에 대한 백업 계획을 수립하고 이를 수행

네이버 클라우드에서 지원하는 클라우드 플랫폼 백업

2) 보안

  • 책임 공유 모델에 따라 클라우드 제공업체는 ‘클라우드의 보안’을 책임지고, 고객은 ‘클라우드에서의 보안’을 책임진다.
    • 클라우드 제공업체 : 모든 서비스를 실행하는 인프라를 보호할 책임
      • 여기서의 인프라는 클라우드 서비스를 구성하는 하드웨어, 네트워크 및 시설을 의미
    • 고객 : 게스트 운영 체제의 관리(업데이트, 보안 패치 등), 고객이 인스턴스에 설치한 모든 애플리케이션 소프트웨어, 유틸리티의 관리, 고객의 데이터, 인스턴스 별로 클라우드 제공업체에서 제공한 방화벽(ACG, NACL)의 구성 관리에 대한 책임

네이버 클라우드의 업체와 고객의 보안 영역
보안 영역

확장성

확장성

클라우드 인프라를 유연하게 관리할 수 있는 기능이 오토스케일링이다.

  • 오토스케일링은 기능을 통해, 미리 등록한 설정에 따라 서버 수를 자동으로 증가 또는 감소시켜 안정적인 서비스를 유지할 수 있다.
    • 오토 스케일링 : 외부에서 트래픽이 몰릴 때는 서버를 늘리고, 트래픽이 줄어들 때는 서버를 줄이는 방식으로 인프라를 유연하게 관리하게 할 수 있도록 함
  • Alarm 방식 : 운영 중인 서버를 모니터링해 서버가 투입되기를 원하는 자원 조건에 도달하면 자동으로 서버를 증가시키고 조건이 해소되면 자동으로 서버를 반납할 수 있음
  • On-demand 방식 : 미리 트래픽 예측이 가능한 경우, 트래픽이 많이 발생할 시간에 서버를 증가시켰다가 줄어드는 시간에는 서버를 반납할 수 있다. 서버 운용 기준을 최대 트래픽이 발생하는 순간으로 두는 것이 아닌, 필요할 때만 증가시켜 서버 운영 비용을 효율적으로 관리할 수 있음

관리성

  • 관리성은 클라우드 서비스에 대한 지속 상태를 확인하기 위해 모니터링 체계를 구축하는 것
    • 이를 통해 잠재적인 문제나 장애 발생 시 예방 혹은 빠르게 조취를 취할 수 있으며, 서비스 가용성을 유지 혹은 개선할 수 있음
    • 또한, 서비스되고 있는 웹사이트에 대한 지속적인 모니터링 체계를 추가 구축한다면 더욱더 안정적인 서비스 운영이 가능할 것

data로 수집해야 하는 항목들 예시

data를 수집하고 통보 알람을 받아야 되는 항목들

data를 수집하고 통보 알람을 받아야 되는 항목들

  • 디스크 사용량과 inode 사용량 : 누군가 데이터를 대량으로 업로드하거나 로그를 정기적으로 압축하지 않으면 두 가지 모두 사용량이 100% 도달할 수 있음
    • 이렇게 되면, 더 이상 파일을 생성할 수 없기 때문에, 메일 송수신 오류가 발생하거나 로그를 추가 저장할 수 없기 때문에 통보 알람 설정을 통해 디스크 사용량과 inode 사용량을 모니터링 하는 것이 좋음
  • 읽기 평균 : 읽기 평균은 서버 스펙과 애플리케이션에 따라 적절한 값이 변경됨
  • 따라서 스왑 영역에 읽고 쓰는 횟수가 많으면 서비스 전체 성능에 영향을 줄 수 있기 때문에 메모리의 스왑 사용량에 대해 지속적으로 모니터링 하는 것이 좋음

비용

비용

  • 클라우드는 사용한 만큼 과금 되는 구조로서 시간 당 혹은 월 단위 비용이 청구되며 짧은 시간 동안 서버를 사용할 시에는 편리하지만 ‘얼마만큼 과금될 지 알기 어렵다’ 라는 특징이 있음
  • 클라우드 서비스 제공업체마다 과금 구조가 다르기 때문에 각 과금 구조를 정확하게 파악하고 장기 할인 플랜 등 요금을 절약할 수 있는 방안을 살펴보는 것이 중요
  • 대규모 웹 서비스 운영 시에는 트래픽이 늘었을 시에는 서버를 확장했다가, 트래픽이 줄었을 시에는 불필요한 서버를 반납처리 함으로써 인프라를 비용 효율적으로 운영할 수 있음

본 글은 [웨비나] Follow me! 클라우드 인프라 구축하기 기본편을 정리하고 공부한 내용입니다. 
[영상링크] : https://www.youtube.com/watch?v=Br2Z5wCk98o

'개발 > 클라우드' 카테고리의 다른 글

클라우드 보안 - Zero Trust 모델  (0) 2023.07.09
도커와 쿠버네티스  (0) 2023.07.07
클라우드 네이티브 애플리케이션 개발  (0) 2023.07.07
IT 서비스와 클라우드  (0) 2023.07.06
클라우드 서비스 AWS (1)  (0) 2023.05.29