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

송현아·2021년 9월 20일
0

Computer Science

목록 보기
3/5
post-thumbnail

📌 가용성

가용성이란, 시스템이 중단없이 계속 서비스가 가능함을 의미합니다.

  • 시스템을 구성하는 각 구성요소들을 Compute, Storage, Network 레이어 별로 살펴보고 단일 지점(single point)를 이중화하여 가용성을 유지하는 것이 일반적입니다.
  • 가용성을 유지하기 위한 인프라 구성은 Active-Active 구성이나, Active-Standby 형식으로 이중화를 구성할 수 있습니다.

💡 서버 이중화 구조

서버 인프라 설계 및 운영시 서비스의 안정적인 운영을 위해 서버 이중화를 구성합니다. 서버 이중화는 물리적 또는 논리적인 서버 등을 구성하여 하나의 서비스에 장애가 발생하는 경우 다른 서버를 통해 서비스를 지속 가능하게 합니다.

[Active-Active 구성이란?]

Active-Active 구조는 다중화 장비가 두 대 모두 활성화되어 동작하는 구성입니다. 두 대가 모두 처리를 하기 때문에 Active-Standby에 비하여 처리율이 높습니다. 하지만 설정 및 구성이 복잡해지며 한 대의 동작이 멈추는 경우, 두 대의 처리량을 한 대로 처리하기 때문에 리소스가 높아져 리소스에 대한 계획도 필요합니다.

[Active-Standby 구성이란?]

Active-Standby 구조는 서버를 이중화하여 구성하지만, 동시에 부하분산을 통해 모든 기기에 서비스하는 것이 아니라 장애시에 서비스를 이전하여 운영하는 형태로 구성된 것입니다.

📌 성능

성능이란, 시스템상의 요구사항을 충족하고, 서비스에 대한 수요 증가 혹은 감소에 발맞춰 인프라를 효율적으로 운영할 수 있음을 의미합니다.

  • 적절한 용량 산정

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

    • nGrinder, Apache bench와 같은 툴을 사용하여 웹 서비스에 부하를 발생하고 서비스가 안정적으로 제공되는지 사전테스트가 가능합니다.
  • 지속적인 모니터링

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

📌 신뢰성

신뢰성은 크게 백업과 보안 안정성으로 나누어서 볼 수 있습니다.

  • 백업

    서비스 장애 및 오류, 잘못된 조작 등으로 인한 데이터나 정보의 손상에 대비하여, 인프라 운영 관리담당자는 주기적으로 백업을 할 수 있도록 백업을 수행해야 합니다.

    • 백업 대상을 선정하고, 그에 맞는 백업 주기와 방법, 보관 주기, 소산 백업 여부 등에 대한 백업 계획을 수립하고 이를 수행합니다.
    • DB 백업 / 파일 백업
  • 보안 안정성

    고객이 인스턴스에 설치한 모든 애플리케이션 소프트웨어, 유틸리티의 관리, 고객의 데이터 등이 보안 측면에서 안정적으로 구축함으로써 보안 안정성을 유지합니다.

    • 다양한 보안 카테고리

      → 침입 탐지&대응, 접근제어, 인증&권한 관리, 암호화, 로깅 및 모니터링, 취약점 관리, Compliance

📌 확장성

확장성이란, 서비스 사용자 요청에 맞춰서 인프라가 확장될 수 있도록 구성이 가능함을 의미합니다.

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

📌 관리성

관리성이란, 클라우드 인프라에 대한 운영 상태를 확인할 수 있는 모니터링 체계를 구축함을 의미합니다.

📌 비용

비용측면에서는 사용한 만큼 과금되는 구조 및 유연한 인프라 확장이 가능한 클라우드의 특성을 활용하여 구성하였는지를 확인합니다.

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



📚 Reference

https://www.youtube.com/watch?v=Br2Z5wCk98o
https://travislife.tistory.com/47

0개의 댓글