본문 바로가기

Infrastructure/Cloud Computing

[AWS] 클라우드 컴퓨팅이란?

클라우드 컴퓨팅이란?

인터넷을 활용한 컴퓨팅 서비스의 하나로 PC(Personal Computer)가 아닌 인터넷을 통해 연결된 원격지의 컴퓨터를 활용하는 기술이다.
한마디로 "나의 컴퓨터가 아닌 원격지의 컴퓨터와 저장소를 빌려 사용할 수 있는 IT 서비스"다.

클라우드 컴퓨팅 유형

클라우드 서비스는 형태에 따라 크게 세 가지로 분류할 수 있다.

[그림 1]
  • IaaS(Infrastructure as a Service): 클라우드 IT의 기본 빌딩 블록을 포함하고 일반적으로 네트워킹 기능, 컴퓨터(가상 또는 전용 하드웨어) 및 데이터 스토리지 공간을 제공한다. IaaS는 IT 리소스에 대해 가장 높은 수준의 유연성과 관리 제어를 제공한다. 요약하면 물리적 서버 및 저장소 등을 가상화하여 다수의 고객을 대상으로 유연하게 제공하는 서비스.

  • PaaS(Platform as a Service): Web기반의 서비스 또는 애플리케이션 등의 개발 및 실행을 위한 환경을 제공하는 서비스. 애플리케이션 실행과 관련된 리소스 구매, 용량 계획, 소프트웨어 유지 관리, 패치 또는 다른 모든 획일적인 작업에 대한 부담을 덜어주는 서비스.

  • SaaS(Software as a Service): 서비스 제공업체에 의해 실행되고 관리되는 완전한 서비스. 대부분의 경우 SaaS라고 하면 최종 사용자 애플리케이션을 칭한다. 대표적으로 구글의 Gmail과 Office 365가 있다.

아래의 그림은 각 유형별로 제공사와 제공받은 자가 관리해야하는 범위를 그려주고 있다.

[그림 2]

아래의 그림은 IaaS & PaaS & SaaS를 피자 제조 과정에 비유하여 설명하고 있다.

[그림 3]

AWS의 경우 모든 유형의 서비스를 제공하고 있다.

[그림 4]

클라우드 컴퓨팅의 장점

  • 초기 투자 비용이 직접 서버를 구축하는 것에 비해 상당히 저렴하며 내가 사용한 만큼의 비용만 지불하면 된다.

[그림 5]
  • 규모의 경제를 통해 지속적으로 가격 인하를 실현한다.
    종량 요금제 요금이 더욱 낮아진다.

  • 서비스의 성공을 대비하여 미리 비싼 비용을 지불하고 서버를 구축할 필요가 없다.
    필요하면 언제든지 사용량을 늘리고 사용한 만큼만 요금을 지불하면 된다.

  • 속도와 유연성이 향상된다.
    개발자가 직접 서버를 구축해야할 필요가 없으며 클릭 몇 번으로 대부분의 설정이 가능하다.

  • 데이터 센터 운영 및 유지보수가 편하다.
    개발자가 더 이상 직접 데이터를 관리(백업 등)하지 않아도 된다.

  • 전세계에 서비스를 배포하기 편하다.
    이미 AWS는 전세계에 Region들이 분포되어 있다. 우리는 마치 나의 서버가 전세계에 퍼져있는 것처럼 사용하면 된다.

AWS 주요 서비스

  • Amazon EC2(Elastic Compute Cloud) (링크): AWS에서 대표적으로 사용하게 되는 가상화 서버.

  • Amazon Auto Scaling (링크): 트래픽이 높아지면 동적으로 EC2 Instance를 생성하고 다시 트래픽이 낮아지면 생성한 EC2 Instance를 제거해주는 서비스. 애플리케이션의 고가용성을 효율적으로 유지시켜준다.

  • Amazon Route 53 (링크): AWS에서 제공하는 DNS(Domain Name System) 웹 서비스. 최종 사용자를 애플리케이션으로 안전하게 라우팅할 수 있는 가용성과 확장성이 우수한 서비스다.

  • Amazon VPC(Virtual Private Cloud) (링크): 가상 사설 네트워크이며 논리적으로 격리되어 있다. 네트워크를 이용한 접근 제어(Security Group, NACL), DHCP 및 VPN 연결, 인터넷 게이트웨이(Internet Gateway)등의 서비스를 제공한다.

[그림 6]
  • Amazon ELB(Elastic Load Balancer) (링크): 하나 이상의 가용 영역(AZ)에 있는 여러 대상으로 들어오는 트래픽을 자동으로 분산한다. 대표적으로 트랙픽이 높아지면 Auto Scaling되어 새로운 Instance가 생성되는데 이때 기존의 Instance와 새로운 Instance에 트래팩을 자동으로 분산시켜준다.

[그림 7. ALB(Application Load Balancing)]
  • Amazon S3(Simple Storage Services) (링크): 원하는 양의 데ㅔ이터를 저장하고 보호하는 서비스. 데이터 레이크, 클라우드 네이티브 애플리케이션 및 모바일 앱과 같이 데이터를 저장하려는 모든 경우에 사용이 가능하다.

  • Amazon Glacier (링크): 저렴하고 느린 S3. 보통 법적으로 저장해야하는 데이터(조회가 많지 않은 데이터)를 저장하는데 사용된다. 데이터 조회없이 저장만 한다면 AWS에서 제공하는 Storage에서 가장 저렴한 비용에 사용 가능하다.

  • Amazon EBS(Elastic Block Storage) (링크): EC2를 사용하면 기본적으로 사용하게 되는 데이터 저장소이다(PC의 하드디스크와 SSD와 비슷한 역할을 한다.). 직접 EC2에 RDBMS와 NoSQL을 설치하여 사용할 수 있을만큼의 빠른 입출력 속도가 빠르다.

  • Amazon RDS(Relational Database Services) (링크): 클라우드 환경에서 관계형 데이터베이스를 간편하게 설정, 운영 및 확장할 수 있는 서비스다. 운영에는 대표적으로 백업이 포함되며 필요한 경우 여러 Replica(DB Instance)를 두어 많은 트래픽을 처리할 수 있도록 한다.

  • Amazon ElastiCache (링크): RDS의 In-Memory DB 버전으로 보면된다. In-Memory DB의 운영 및 확장을 쉽게 할 수 있도록 제공하는 서비스.

이외에도 수없이 많은 서비스들이 있지만 대표적으로 사용되고 있으며 필자 또한 사용하고 있는 서비스들을 위주로 정리하였다.


이 글은 아마존 웹 서비스 AWS Discovery Book 도서와 AWS 공식문서를 참고하여 작성하였다.

이미지 출처:

'Infrastructure > Cloud Computing' 카테고리의 다른 글

[AWS] Route53  (0) 2022.02.16
[AWS] RDS  (0) 2022.02.16
[AWS] Network  (0) 2022.02.14
[AWS] S3  (0) 2022.02.14
[AWS] EC2  (0) 2022.02.13