TIL 39. Cloud Computing과 AWS

문승준·2021년 10월 17일
0
post-thumbnail

1. 전통적인 IT 운영 방식

  • 온프레미스 방식
    온프레미스(On-premise)란 소프트웨어 등 솔루션을 클라우드 같이 원격 환경이 아닌 자체적으로 보유한 전산실 서버에 직접 설치해 운영하는 방식이다.

    • IT 서비스를 위한 서버를 물리적으로 구축해야한다.

    • 이용자가 많아지면 서버를 물리적으로 확장한다.

      (여러개를 설치하는 scale out, 성능을 높이는 scale up)

    • Datacenter를 렌트해서 사용한다.

  • 문제점

    • Datacenter 렌트 비용 (기간 단위가 크다)

    • Power supply, cooling, maintenance 비용

    • 서버(하드웨어)를 추가하거나 교체할때 시간과 비용

    • 확장에 제한이 많다

    • 인프라 모니터링을 위한 인력이 필요

    • 천재지변에 대응이 어렵다

  • 온프레미스와 클라우드 비교

관리권한과 보안을 위해 온프레미스 방식을 유지하기도 한다.
또는 두가지 방식을 합한 하이브리드 클라우드 인프라 스트럭처를 도입하기도 한다.


2. Cloud Computing

클라우드 컴퓨팅이란?

  • 인터넷 기반 컴퓨팅의 일종으로 정보를 자신의 컴퓨터가 아닌 클라우드에 연결된 다른 컴퓨터로 처리하는 기술

  • IT 리소스를 인터넷을 통해 on-demand로 제공해주는 서비스

  • 인터넷이 연결되어있다면 어디서든 접근할 수 있는 서버

  • 이용량 만큼 지불하면 되는 pay-as-you-go pricing

  • 필요한 타입과 크기의 리소스를 지정하여 사용할 수 있다. (cpu, 메모리 등)

  • 간편하게 확장이 가능하다.

클라우드 컴퓨팅의 장점

  • Flexibility : 유동적으로 리소스의 타입과 서비스 변경

  • Cost-Effectiveness : pay-as-you-go

  • Scalability : 쉽게 리소스 추가해서 확장 용이

  • High-availability and fault-tolerance : 글로벌하게 확장되어있는 인프라

  • Agility : 빠르게 개발하고 테스트할 수 있는 소프트웨어 어플리케이션


3. AWS

Amazon Web Services

  • Cloud market 10년간 리더

  • 2019년 글로벌 47% 점유

  • 백만명 이상 실시간 사용 유저

무엇이 좋은가?

  • Cloud Computing의 장점

  • 간단한 가입

  • Amazon의 Brand Value

  • Stability - 규모가 크지만 안정적이다.

  • 다양한 서비스 (백업, 스토리지, 빅데이터, 머신러닝, 호스팅, 게이밍)

    인프라 전체를 옮겨주는 서비스까지 있다...

  • 리전 : 데이터 센터로 수천개의 컴퓨터로 이루어짐
    전세계 주요 거점에 위치하여 요청-응답 레이턴시를 최소화한다.

AWS - Key Services

AWS가 제공하는 기능들은 굉장히 방대하고 다양하다.
그 중 일반적으로 많이 사용되는 개념과 기능에는
EC2, Security Group, RDS, Load Balancer (ALB), Route 53, S3
등이 있다.

EC2

  • Elastic Compute Cloud

  • AWS 상에서 사용하는 서버이며 EC2 서버에 API를 배포하게 된다.

  • EC2는 다양한 사양 옵션을 제공한다.
    t2.nano (CPU 1, 0.5 GB memory) 부터 x1.32xlarge (CPI 128, 1952 GB) 까지 다양하게 제공함으로 필요한 사양의 EC2 인스턴스(instance)를 선택해서 사용하면 된다 (물론 사양이 좋을 수록 비싸다).

VPC

  • Virtual Private Cloud

  • AWS 네트워크 안에서 있는 사용자 전용 사설 네트워크

  • 사용자의 리소스를 격리된 네트워크에서 생성하여 외부에서 접근이 불가능하다.

AWS S3

  • AWS S3(Simple Storage Service)는 이름 그대로 파일을 쉽게 저장할 수 있는 공간을 제공하는 서비스.

  • 파일을 저장 할 수 있을 뿐만이 아니라 파일마다 고유 주소를 부여해주기 때문에 S3에 저장한 파일을 웹상에서 쉽게 읽어들일수 있다.

  • 주로 사이트상의 이미지들을 저장하고 사이트에서 읽어들여 렌더링 해주는데 사용한다.

CloudFront

  • CDN 서비스로 다른 지역에서도 빠르게 접속 가능하게 해준다.

Route 53

  • AWS의 DNS 서비스

  • API 시스템을 실제 도메인과 연결 시키주는 기능을 제공한다.

RDS (Relational Database Service)

  • AWS의 database 서비스

  • RDS를 사용하면 사용자가 직접 서버를 생성해서 데이터 베이스를 설치하고 설정하고 관리 하지 않아도 된다.

  • 비용도 더 저렴하다. 사용자가 직접 데이터 베이스를 설치하고 운영하는 것보다 RDS를 사용하는것이 더 저렴함.
    즉, RDS를 사용 하지 않을 이유가 거의 없다.

ELB (Elastic Load Balancer)

  • 로드발란서는 HTTP 요청들을 여러 서버에 분산할때 사용된다.

  • HTTP 요청이 많을때는 서버 하나만으로 모두 처리 하기 힘들기 때문에 서버 수를 늘리는것이 일반적이다. 그럼으로 여러 서버를 실행하고 로드발런서가 HTTP 요청들을 서버들에 분산 해주는 형태로 시스템이 구성된다.

Secuirty Group

  • EC2 인스턴스에 대한 네트워크 트래픽을 제어하는 가상 방화벽 역활을 한다.

  • 즉 security group 설정을 해줘야 EC2 인스턴스에 HTTP와 SSH 접속이 가능하다.


profile
개발자가 될 팔자

0개의 댓글