AWS 간단히 이해하기 - S3, EC2 Cloud Front

noopy·2022년 4월 11일
4

🔁 배포와 자동화

목록 보기
3/4

작은 프로젝트 단위에선 Netlify나 Vercel과 같은 Faas를 사용했었다. 프로젝트 규모가 커질 수록 직접 인프라를 설정할 일이 많을텐데 전반적인 네트워크와 인프라 지식들을 학습해보고자 AWS를 이해하는 시간을 가지려 한다.

📝 Iaas VS Faas

AWS에 대해 공부하기 전에 우선 IaasFaas 두 모델의 차이점에 대해 알아보자.

Iaas (Intrastructure as a Service)

Iaas는 서버의 물리적인 부분은 기업에 돈을 내고 이용하며 소프트웨어를 직접 관리하는 방식이다. 대표적으로 아마존 AWS의 EC2 / S3 + CloudFront 나 구글의 GCP 등이 있다.

장점

트래픽에 따라 서버의 가용량을 직접 증감시킬 수 있으므로 자유도가 높으며 호스팅 지식이 높아지면 다른 툴과의 전환이 쉽다는 장점이 있다.

단점

사용자를 예상하고 그에 맞는 용량의 서비스를 사전에 구매하여 지불해야 하므로 손실이 날 수도 있다.

Faas (Function as a Service)

Faas는 함수를 서비스로 제공한다.
업로드한 코드를 함수 단위로 쪼개어 대기시키다가 요청이 발생하면 함수를 실행시키고 작업이 끝나거나 일정 시간이 경과되면 대기상태로 돌아간다.

장점

함수 호출 횟수(실제 사용량)에 따라 비용이 청구되기 때문에 경제적이다.
Iaas 보다 상대적으로 서버에 신경을 쓸 필요가 없다.

단점

코드가 대기상태에 있다 보니 Iaas 등의 모델보다 속도가 느리다.
프로젝트 규모가 커질 경우 비용이 많이 청구될 수 있다.



📝 AWS

AWS(Amazon Web Service)는 Amazon에서 제공하는 클라우드 서비스이다. 즉 서버나 네트워크, 스토리지 등의 인프라 자원을 가상으로 제공해준다.

S3 VS EC2

S3(Simple Storage Service)

S3는 데이터를 저장하거나 추출할 수 있는 온라인 스토리지 웹 서비스이다.

  • 웹 인터페이스인 AWS 콘솔을 통해 파일 업로드, 다운로드가 가능하다.
  • http 프로토콜로 파일에 접근할 수 있다.
  • 데이터는 버킷 내에 객체로 저장한다.
    • 버킷은 S3에서 생성할 수 있는 최상위 디렉토리로, 각 Region 별로 생성이 가능하다. 계정별로 100개까지 생성할 수 있다.
    • 객체는 파일과 해당 파일을 설명하는 메타데이터(option)로 구성된다.

EC2 (Elastic Compute Cloud)

EC2는 아마존에서 크기 조정이 가능한 컴퓨팅 용량을 제공하는 웹 서비스이다.

  • 가상 서버를 구축하여 트래픽 증감을 용이하게 관리할 수 있다.
    • 즉 기업의 물리적 컴퓨터를 인터넷을 통해 대여하고 거기에 운영체제, 운영 프로그램 등을 설치하여 URL을 제공해준다.
    • 이때의 설치된 상태를 그대로 저장하고 이것을 이미지라 한다.
      이미지로 새 인스턴스를 생성하면 저장된 상태 그대로 다시 컴퓨터를 생성할 수 있다.

Cloud Front

Cloud Front란 직접 만들 수 있는 CDN (Content Delivery Network)이다.
Client에게 빠른 전송 속도를 제공하기 위해 세계 이곳저곳에 중계서버(Edge Location)를 두고 Client에게 가장 가까운 서버에서 웹 자원을 대신 전달하여 빠르게 데이터를 제공한다.
CDN은 세계에 널리 퍼진 중계 서버들의 집합이라고 생각하면 된다.

핵심 개념

  • Origin
    원본 데이터를 갖고 있는 서버. 보통 AWS에서 S3, EC2 인스턴스를 의미한다.
  • Edge Location(Server)
    세계에 퍼져있는 중계서버.
    요청받은 데이터에 대해 빠르게 응답해주기 위해 Cache 기능을 제공한다.

데이터 전송 과정

  1. Client로부터 Edge Location 요청 발생
  2. Edge Location이 데이터 캐싱 여부 확인
    캐싱되어 있다면 Client 요청에 응답 전송
  3. 캐싱되어 있지 않다면 Origin으로 요청 포워딩(건네줌)
    Origin은 포워딩된 데이터를 받아 Edge Location에 데이터를 캐싱 후 Client로 응답 전송.


참고

서버리스의 개념
AWS의 기본 서비스 S3, EC2, RDS에 대하여

profile
💪🏻 아는 걸 설명할 줄 아는 개발자 되기

0개의 댓글