[section 4] Cloud - AWS

수경·2023년 1월 31일
0

코드스테이츠

목록 보기
51/57

AWS

Amazon Web Service


Cloud Computing

기존 서버 방식

전산실에 컴퓨터 놓고 서비스 제공, 필요하면 추가

➡️ 유지 관리 문제 + 공간의 한계 발생
➡️ 데이터 센터 등장🔥 유휴자원 대여 서비스 시작

현대의 클라우드 방식

가상 컴퓨터를 대여

  • 장점

    1. 필요할 때마다 컴퓨팅 능력 조절
    2. 사용한 만큼의 요금만 지불
    3. 다른 컴퓨터로 즉시 이주 가능
  • 단점

    1. 클라우드 서비스에 종속 -> 서비스에 영향을 미침
  • 클라우드 서비스의 형태
    1. SaaS(Software as a Service) : 당장 사용 가능한 소프트웨어 제공
    2. PaaS(Platform as a Service) : 클라우드 제공자가 DB, 개발 플랫폼까지 제공
    3. IaaS(Instructure as a Service) : 클라우드 제공자가 가상 컴퓨터까지 제공

Deploy 배포

개발한 서비스를 사용자가 이용 가능하게 하는 과정

  • Development : 로컬에서 개발
  • Intergration : 취합
  • Staging : Production 단계와 유사한 환경에서 테스트, 검증
  • Production : 실제 서비스가 제공되는 단계(실제 데이터 이용)

여러명이 개발하는 프로젝트 -> 개발환경이 모두 다름
➡️ 배포 위해서 환경 설정을 코드와 분리해야 함
❗️절대경로 대신 상대경로 사용
❗️환경에 따라 포트를 분기할 수 있도록 환경변수 설정
❗️Docker 사용 (개발환경 일치)


EC2

Elastic Compute Cloud : AWS에서 원격으로 제어할 수 있는 한 대의 가상 컴퓨터를 빌리는 것

빌린 한 대의 가상 컴퓨터 ➡️ 인스턴스 (네트워크로 접근)

장점

  1. PC 구성 시간 짧음

  2. 다양한 OS, CPU, RAM, 용량 선택 가능

AMI(Amazon Machine Image)

소프트웨어 구성이 기재된 템플릿

용도에 맞게 OS, 런타임이 구성된 Setting을 선택할 수 있음
인스턴스 ➡️ AMI을 기반으로 구성


RDS

Relational Database Service : AWS에서 제공하는 관계형 데이터베이스 서비스

직접 DB를 설치 ➡️ 사용자가 직접 관리해야 함 🥺
RDS를 사용 ➡️ 자동으로 관리해줌! 😊 다양한 DB엔진 제공


S3

Simple Storage Service (클라우드)

장점

  1. 접근성 : 웹에 접근할 수 있으면 어떤 전자기기로도 접근 가능!

  2. 확장성 : 무한히 확장 가능

  3. 내구성

  4. 가용성 보장 : 한 곳의 데이터 센터가 가동을 멈추더라도 다른 곳의 데이터 센터에 백업시킨 데이터를 활용할 수 있음

    • region : AWS 클라우드 서비스 제공을 위해 운영하는 물리적인 서버의 위치
    • 가용 영역 : 데이터 센터
  5. 다양한 storage 클래스 제공

    • standard(단기에 적합, 접근 빠르지만 비용 큼)
    • glacier(장기에 적합, 접근 느리지만 비용 적음)
  6. 정적 웹 호스팅 가능 : 정적 파일을 버킷에 담아 넘켜서 호스팅

    • 버킷 : 파일을 저장하는 최상위 디렉토리. 무한히 많은 파일 저장 가능
    • 객체 : 버킷에 담긴느 파일. 파일과 메타 데이터로 구성

3 Tier-Architecture 배포 전략

클라이언트 배포 : 3S

사용자들에게 Client Application 제공 ➡️ 정적파일로 빌드해서 배포

❗️CloudFront : AWS에서 제공하는 CDN 서비스, 사용자에게 컨텐츠 빠르게 배포

서버 배포 : EC2

client의 요청/응답을 주고받을 서버 배포 ➡️ 가상의 PC를 빌려서 배포

DB 배포 : RDS

DNS : Route53 service (AWS 제공)

profile
어쩌다보니 tmi뿐인 블로그😎

0개의 댓글