AWS (Amazon Web Service)

귀찮Lee·2022년 8월 2일
0

Deploy

목록 보기
2/4
post-custom-banner

◎ EC2 (Elastic Compute Cloud)

  • EC2

    • 아마존 웹 서비스에서 제공하는 클라우드 컴퓨팅 서비스
      • 클라우드 컴퓨팅 : 인터넷(클라우드)을 통해 서버, 스토리지, 데이터베이스 등의 컴퓨팅 서비스를 제공
    • AWS에서 원격으로 제어할 수 있는 가상의 컴퓨터 한대를 빌리는 것
  • EC2 장점

    • Elastic : 탄력적인, 사용한 만큼만 비용을 지불, 성능과 용량을 자유롭게 조절 가능
    • 구성하는 데 필요한 시간이 짧다
    • AMI(다양한 템플릿)를 통해서 필요한 용도에 따라 다양한 운영체제에 대한 선택이 가능
    • (인터넷으로 제어해야 할 뿐) 컴퓨터로 할 수 있는 모든일을 할 수 있다.
    • 높은 가용성, 높은 내구성

◎ EC2 관련 용어

  • Instance (인스턴스) : 1대의 컴퓨터를 의미하는 단위
    • 인스턴스를 생성 : AWS에서 컴퓨터를 빌리는 것을 의미
  • AMI(Amazon Machine Image) : 소프트웨어 구성이 기재된 템플릿
    • 이미지 종류로는 단순히 운영체제(윈도우, 우분투 리눅스 등)만 깔려있는 템플릿을 선택할 수도 있고, 아예 특정 런타임이 설치되어 있는 템플릿이 제공되는 경우도 있다. (우분투 + node.js, 윈도우 + JVM 등)
    • Instance는 선택한 AMI를 토대로 구성

◎ RDS (Relational Database Service)

  • RDS

    • AWS에서 제공하는 관계형 데이터베이스 서비스
  • EC2 인스턴스에 관계형 DB 엔진을 설치하여 사용할 수 있지만,

    • 사용자가 일일이 시간을 투자하여 데이터베이스 엔진의 설치와 버전 관리, 데이터 백업 해야함
    • 가용성과 내구성이 확보되지 않기 때문에 데이터베이스에 저장된 데이터가 유실되거나 정상적으로 사용하지 못할 확률이 커짐
    • 후에 필요에 따라 데이터베이스의 규모를 확장하기 어려움
  • RDS 장점

    • 데이터베이스 유지 보수와 관련된 일들을 전적으로 자동 관리
      • 초기 설정, DB Data 관리 외에 일을 자동으로 처리해줌
    • 다양한 데이터베이스 엔진 선택지를 제공
      • 필요와 목적에 맞게 DB엔진을 취사선택 할 수 있다.
    • 높은 가용성, 높은 내구성
  • Spring 설정 방법

◎ S3 (Simple Storage Service)

  • Cloud Storage

    • 인터넷 공간에 데이터를 저장하는 저장소 (온라인 HDD)
      • 구글의 Google Drive, 네이버의 MYBOX, 마이크로소프트의 Onedrive
    • 접근성이 뛰어남 : 웹 접속이 가능한 다른 전자기기를 활용하여 클라우드 스토리지에 저장된 데이터에 접속 가능
  • S3

    • AWS에서 제공하는 클라우드 스토리지 서비스
  • S3의 장점

    • 높은 확장성 : 많은 시간과 수고를 들이지 않고 스토리지 규모를 확장/축소 가능
    • 무한한 확장 가능
    • 사용한 만큼만 비용을 지불 (비용적인 측면 용이)
    • 스토리지 내구성이 높음 : 저장된 파일을 유실할 가능성이 적어짐
    • 가용성이 높음 : 스토리지에 저장된 파일들을 정상적으로 사용할 수 있는 시간이 긺
  • S3 사용시 이점

    • 버킷을 통해 정적 웹 사이트 호스칭이 가능
      • 정적 웹 사이트 : 서버의 개입 없이 생성된 파일
      • 웹 호스팅 : 서버의 한 공간을 빌려주어 웹 사이트의 배포, 운영이 가능하게 만들어주는 서비스
  • S3의 대표적인 클래스 종류

    • S3 Standard
      • 데이터에 빠른 속도로 접근할 수 있거, 데이터 엑세스 요청에 대한 처리 속도가 빠름
      • 데이터가 오래 보관하는 목적으로는 좋지 않음 (보관 비용이 높음)
    • S3 Glacier
      • 데이터를 보관하는 비용이 매우 저렴
      • 데이터를 액세스하는 속도가 느림
    • Standard-IA, One Zone-IA, S3 Glacier Deep Archive 등등 여러 가지 스토리지 클래스가 존재

◎ S3 관련 용어

  • 버킷

    • 파일을 담는 최상위 디렉토리
    • 무한히 많은 파일(객체)을 저장 가능
    • 버킷의 이름은 각 리전에서 고유해야 함
    • 버킷의 정책을 생성하여 액세스 권한을 부여 가능
  • 객체

    • 버킷에 담기는 파일을 의미함
    • 객체는 파일과 메타데이터로 구성
      • 파일 (키-값 형태) : 키 - 식별자 역할, 값 - 실제 데이터 저장
      • 메타데이터 : 객체의 정보가 담김 (객체의 생성일, 크기, 유형)
    • 모든 객체는 고유한 URL 주소를 가지고, 주소를 통해 접근 가능
      • http:// [버킷의 이름].S3.amazonaws.com/[객체의 키]
    • 객체 하나의 크기는 1Byte ~ 5TB

◎ AWS 특징

  • 높은 가용성, 높은 내구성

    • 가용 영역이 각각 개별적인 위치에 떨어져서 존재
    • 한 곳의 가용 영역이 재난이나 사고로 인해 가동이 불가능해지더라도 다른 가용 영역에 백업을 해놓은 데이터를 활용하여 문제없이 서버가 가동되게 한다.

◎ Deploy Strategy

  • 3-tier Architecture

    • S3를 이용해서 client applicaion을 제공

      • 클라이언트를 정적파일로 빌드하여 배포
      • AWS에서 제공하는 CDN 서비스인 CloudFront를 통해 빠르게 전달 가능
        • CloudFront : 데이터 센터에 데이터를 분산시켜 저장해 두었다가 가까운 지역에서 데이터를 주는 방식
    • EC2 서비스를 이용해 손쉽게 서버를 제공함

    • RDS를 통해 DB를 배포

    • AWS Route 53을 이용하여, 도메인 주소를 통해 접근하도록 할 수 있다.

profile
배운 것은 기록하자! / 오류 지적은 언제나 환영!
post-custom-banner

0개의 댓글