AWS

AWS는 왜 필요할까? 클라우드 컴퓨팅의 탄생 배경과 핵심 개념

heesoohi 2025. 2. 13. 18:37

💡 이 글에서 다루는 개념들

✔️ 서버의 기본 구조 – CPU, RAM, 스토리지, 데이터베이스, 네트워크
✔️ 클라우드 도입 이전의 IT 환경 – 데이터센터의 한계와 유지보수 비용
✔️ 클라우드 컴퓨팅이란? – 언제든 원하는 만큼 사용하는 IT 리소스
✔️ 클라우드의 3가지 서비스 모델 – IaaS, PaaS, SaaS
✔️ AWS 리전과 가용 영역(AZ) – 데이터 보호와 지연 시간 최소화 전략
✔️ 공동 책임 모델(Shared Responsibility Model) – AWS와 사용자의 보안 역할


AWS는 어느 날 갑자기 하늘에서 떨어진 기술이 아니다. 필요에 의해 만들어진 기술이다.

그럼 도대체 왜 AWS가 생겨난걸까? 🤔

본격적으로 AWS를 알아보기 전에, 기본적인 서버의 구조와 기존의 IT는 어떤 모습이었을지 한 번 훑어보고 가자!

1. 서버의 구성

서버는 크게 5가지로 이루어져 있다.

  1. Compute: CPU (계산을 담당)
  2. Memory: RAM
    -> CPU와 RAM이 합쳐지면 마치 두뇌와 같다.
    연산한 결과를 기억하고, 기억한 정보로 또 다른 연산을 해내니까!
  3. Storage: 데이터가 저장되는 곳
  4. Database: 구조적으로 데이터를 저장하는 곳. like 컴퓨터의 파일.
    데이터베이스에 저장된 데이터는 검색하여 쉽게 찾을 수 있고, 쿼리가 가능하다.
  5. Network: 라우터(Routers), 스위치(Switch), DNS 서버 등
    라우터: 컴퓨터 네트워크 간의 데이터 패킷을 전달하는 기기. like 배달 서비스. 어디로 정보를 보낼지 파악하고, 실제로 전송까지
    스위치: 라우터로 부터 받은 패킷을 네트워크 내의 정확한 서버 or 클라이언트에게 전송

2. 클라우드가 도입되기 전 IT는 어땠을까?

서비스가 사랑을 받고 유저가 많아질수록, 저장해야 하는 데이터의 양이 늘어난다.

 

-> 데이터 센터와 서버 구매 비용 증가
-> 쿨링, 고장 등 유지 보수 비용 증가
-> 데이터 센터 확장이 어려움 (서버 추가 구매하고, 기존 서버와 연결해야 함. 늘어난 만큼 유지보수도 추가로!)
-> 최악의 상황으로 재난이라도 일어난다면? .. 감당 불가..

 

이런 문제들의 해결책으로 나타난 것이 바로 👉 클라우드 👈 이다!

3. 클라우드 컴퓨팅이란?

컴퓨팅 성능, 데이터베이스 스토리지, 애플리케이션, 기타 IT 리소스들을 원할 때 원하는 만큼 (= on-demand) 제공하는 서비스

-> 이메일, iCould같은 클라우드 스토리지 서비스, 넷플릭스 등이 클라우드 컴퓨팅을 바탕으로 설계되었다.

4. 클라우드 컴퓨팅의 종류

  1. IaaS(Infrastructure as a Service) - 서비스형 인프라
    • 네트워킹, 컴퓨터, 데이터 스토리지 공간 등 클라우드 IT의 구성 요소를 원시 형태로 제공
      -> 이 블록들을 사용해 자유롭게 조립할 수 있음 (like 레고)
      -> 유연성이 높아짐 (기존 IT(on-premise)에서 클라우드로 이동하며 생긴 변화와 유사)
    • 클라우드에서 가상화, 서버, 스토리지, 네트워킹을 관리해줌.
    • 사용자는 애플리케이션, 데이터, 런타임, 미들웨어, 운영체제를 관리
  2. PaaS(Platform as a Service) - 서비스형 플랫폼
    • 기본 인프라를 관리하지 않아도 됨
    • 배포와 애플리케이션 관리에만 집중할 수 있음
    • 사용자는 애플리케이션, 데이터만 관리
  3. SaaS(Service as a Service) - 서비스형 소프트웨어
    • 서비스 제공 업체가 온전히 운영하고 관리하는, 완성된 제품.
    • 사용자가 관리해야 하는 것이 없음! (like 메일, 아이클라우드, 줌 등..)

5. AWS Regions

AWS 서비스를 사용할 때 대부분의 서비스들은 특정 region에 연결 및 국한된다.
따라서 한 region에서 사용되던 서비스를 다른 region에서 사용하려고 하면, 그 서비스를 처음 사용하는 셈!

🧐 How to choose an AWS Region?

새로운 애플리케이션을 출시할 때, 어떤 AWS 리전을 선택해야 할까?
-> 아래의 4가지 요인들을 고려해 결정할 수 있다.

  1. 법률 준수(Compliance with data governance and legal requirements)
    애플리케이션이 출시될 나라의 법률을 준수해야 한다.
    ex) 정부가 관련 데이터가 대상 국가 내에 보관되기를 원한다면, 해당 region에서 출시해야 함.
  2. 지연 시간(Proximity to customers)
    만약 미국 사용자들을 위한 애플리케이션을 호주에서 출시한다면? -> 사용자들이 랙을 경험하게 될 것
    사용자들이 많은 지역과 가까운 region에서 출시해야 지연 시간이 줄어듦.

  3. region에서 사용 가능한 서비스인지 (Available services within a Region)
    region마다 사용 가능한 서비스에 차이가 있음.
    특정 서비스를 활용하여 개발된 애플리케이션을 출시하려면, 해당 서비스를 가지고 있는 region인지 확인해야 함.

  4. 요금(Pricing)
    Region 마다 요금이 다르기 때문에 서비스 요금 페이지를 참고하여 결정해야 함.

🌐 AWS Availability Zones - 가용 영역

재난 상황 같이 혹시 모를 상황에 대비하여 가용 영역(AZ)들이 분리 되어 있다.

각각의 region은 일반적으로 3개의 AZ를 가지고 있다. (최소 2개/최대 6개)
각각의 가용 영역(AZ)은 여분의 전원, 네트워킹, 통신 기능을 갖춘 1-2개의 개별적인 데이터 센터로 이루어져 있다.

가용 영역들은 서로 단절되어 있기 때문에, 하나의 AZ에 문제가 발생해도, 다른 AZ에 영향을 미치지 않는다.

⬆️ 이러한 데이터 센터들과 AZ들은 높은 대역폭의 초저지연 네트워킹으로 서로 연결되어 region을 형성한다.

🌐 AWS Points of Presence (Edge Locations) - 전송 지점

AWS는 전세계에 200개 이상의 전송지점을 가지고 있다.
-> 최소 지연 시간으로 최종 사용자에게 컨텐츠를 전달!

6. 공동 책임 모델 - Shared Responsibility Model

클라우드를 사용할 때, 사용자와 AWS가 책임져야 하는 부분이 따로 존재한다.
결국 공동으로 책임 지는 것!

 

  • 사용자의 책임
    "Responsibility for the security in the cloud"

    -> 클라우드에서 무엇을 사용할지, 어떻게 구성할지
    -> 보안, 데이터, 운영체제, 네트워크, 방화벽 구성 등에 대한 책임이 있음. (= 클라우드 내의 보안 책임)

  • AWS의 책임
    "Responsibility for the security of the cloud"

    -> 모든 인프라, 하드웨어, 소프트웨어, 자체 내부 보안에 대한 책임이 있음. (= 클라우드에 관한 보안 책임)