AWS 서버리스로 웹 어플리케이션 구축하기 이론

2024. 9. 11. 17:03·클라우드_인프라

9/3 AWS 테크캠프를 통해 아마존 서비스에 대해 알 수 있는 시간이었습니다.

강의 시작하고 2-30분간은 이론 수업을 해주시는데 이해가 잘 안가서

[AWS TechCamp 사이트] 에 들어가 이론 수업을 2번이나 반복해서 들었습니다.

내용이 동일해서 정말 다행이었습니다.

📍 서버리스

서버가 없다는 것이 아니라 서버를 관리할 필요가 없다는 것!

서버 관리 및 운영을 AWS에 맡기고 개발자는 비즈니스(코드작성)에만 집중하면 됨.

1️⃣ 물리적인 인프라 → 2️⃣ 가상머신 → 3️⃣ 컨테이너 → 4️⃣ 서버리스

인프라 기술의 발달이 향상되었어도 관리는 계속 해줘야함. (24시간 모니터링)

서버리스를 사용하면 인프라를 관리하는 부담이 낮아짐.

서버리스 서비스 안에 AWS Lambda, Amazon S3, Amazon DynamoDB, Amazon API Gateway가 다 포함되어 있다

서버리스의 장점

  • 서버 관리 필요 없음
  • 사용한 만큼만 지불
  • 요청에 맞게 오토스케일링
  • 높은 보안 수준

3-Tier 서버리스 아키텍처

Amazon S3 : 정적 WebPage 호스팅

AmazoneAPI Gateway : Lambda를 호출할 수 있는 인터넷 주소를 만듦. Web page의 기능을 호출하는 통로

AWS Lambda : Webpage의 기능을 가지고 있는 Lambda. 작성한 코드가 올라감.

Amazon DynamoDB : 내용을 저장하는 데이터베이스

3-Tier 아키텍처에 대해서도 궁금해진다.

📍 AWS Lambda

AWS Lambda의 특성

  • 불필요한 서버 관리
  • 자동확장(=오토 스케일링)
  • 고가용성 및 보안
  • 사용한 만큼만 지불 (요청횟수+실행시간)

Event Driven Architecture에서 주로 사용한다.

이벤트 소스 →

: 어떻게 실행할지만 방법을 정해주면 된다

함수 →

: 다양한 언어를 사용할 수 있다

서비스

: 이것이 람다.

📍 Amazon API Gateway

API Gateway는 API 기반 아키텍처 관문

사용자 요청을 받으면 다양한 서비스에 요청. 트래픽을 전달한다.

다양한 API 유형을 지원한다 (RESTful: HTTP APIs & REST APIs , WebSocket APIs)

📍 Amazon DynamoDB

대규모 성능에 최적화된 완전 관리형 NoSQL 데이터베이스 서비스

  • 서버리스
    • 유지관리 불필요, 오토 스케일링, 고가용성 및 내결함성
    • 트래픽에 따라서 알아서 늘어나고 줄어듬
  • 높은 성능
    • Known access pattern이 있는 어플리케이션에서 이상적 성능
    • 초당 수백만의 요청 처리 및 짧은 지연시간
    • 자동화된 글로벌 복제 (여러개의 리전이 있음)
    • 다른 AWS 서비스와 통합
    • 많은 트래픽을 받아도 성능이 떨어지지 않음. 무한 퍼포먼스
  • 보안 및 액세스
    • 전송 중 및 저장 시 암호화
    • API/ORM을 통한 세부적인 액세스 제어
    • IAM을 통한 승인

SQL ; 관계형 데이터베이스

  • 수직적 확장 (늘어날 경우 CPU+메모리가 더 필요)
  • 트래픽이 많은 경우 성능 향상 필요
  • 과도한 읽기, 쓰기에 취약해서 한계가 있다.
  • 열: Columns / 행: Rows 로 구성되어 있음

NoSQL

  • 다수의 샤드로 수평 확장
  • key-value 형태의 데이터 저장
  • 무한 퍼포먼스 가능
  • 열 : Attributes / 행 : Items 로 구성되어 있음
  • 서버리스이므로 인스턴스는 없고 테이블이 생성된다.
  • Attributes는 데이터가 넣는대로 넣어져서 DynanoDB는 설계 부담이 적다
  • Partition Key를 넣는다 (Unique key)
  • 정렬이 필요한 경우 Sort Key를 생성한다
  • Partition Key + Sort Key = Primary Key

📍 Amazon S3

Amazon Simple Storage Service는 어디서나 원하는 양의 데이터를 저장하고 검색할 수 있도록 구축된 ; 업계 최고의 확장성, 데이터 가용성, 보안 및 성능을 제공하는 객체 스토리지 서비스 이다

파일을 S3에 올리면 객체로 올라간다.

한 번 파일을 올리고나서 많은 사람들이 다운받을 때 성능이 좋다.

그 이유는 2개의 가용영역이 있어서 복제되서 총 6개의 데이터가 생성된다(?) (→ 고가용성, 내구성이 좋음)

S3 : 버킷+오브젝트로 이루어짐

버킷 이란 ? Amazon S3에 저장된 객체에 대한 컨테이너이다. 버킷에 저장할 수 있는 객체 수에는 제한이 없다. 또한 계정에 버킷을 최대 100개까지 포함할 수 있다. 즉, 하나의 폴더와 같은 개념

오브젝트 란? Amazon S3에 저장된 기본 개체 유형으로 하나의 데이터와 메타데이터로 구성되어 있다. 즉, 하나의 파일과 같은 개념

정적 웹 사이트 호스팅

차단되는 퍼블릭 액세스의 유형

  • 새 ACL을 통해 부여된 버킷 및 객체에 대한 액세스
  • 모든 ACL을 통해 부여된 버킷과 객체에 대한 액세스
  • 새 퍼블릭 버킷이나 액세스 제어 정책을 통해 부여된 버킷과 객체에 대한 액세스
  • 모든 퍼블릭 버킷이나 액세스 포인트 정책을 통해 적용되는 버킷과 객체에 대한 교차 계정 액세스

S3에 데이터를 올리면 다 막혀있다. (default가 차단)

외부 액세스가 가능하게 퍼블릭 액세스를 허용한다 (차단 해제)

ACL 이란 ? A network access Control List 의 약자로 네트워크 액세스 제어 목록이다. 서브넷 수준에서 특정 인바운드 또는 아웃바운드 트래픽을 허용하거나 거부한다.

📎 참고

https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html

https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/UsingBucket.html

[AWS TechCamp 사이트]

'클라우드_인프라' 카테고리의 다른 글

개인 프로젝트 Swimcolor에서 AWS 아키텍처가 바뀌게 된 이유  (0) 2026.03.06
AWS 핵심 서비스로 웹 어플리케이션 구축하기  (1) 2024.09.25
MSA :: Micro Service Architecture 알아보기  (1) 2024.09.04
'클라우드_인프라' 카테고리의 다른 글
  • 개인 프로젝트 Swimcolor에서 AWS 아키텍처가 바뀌게 된 이유
  • AWS 핵심 서비스로 웹 어플리케이션 구축하기
  • MSA :: Micro Service Architecture 알아보기
꾸준히 기록하는 지수
꾸준히 기록하는 지수
서비스 백엔드 개발자가 되기 위해 제 경험들을 하나씩 기록해봅니다
  • 꾸준히 기록하는 지수
    지수블로그
    꾸준히 기록하는 지수
  • 전체
    오늘
    어제
    • 분류 전체보기 (37)
      • Spring (15)
      • JAVA (9)
      • 클라우드_인프라 (4)
      • Data (5)
      • CS (3)
      • 돌아보기 (0)
      • 취업준비 (1)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    SCG
    DAsP
    Spring
    트랜잭션전파
    AWS
    트랜잭션
    트러블슈팅
    SpringCloudGateway
    스프링부트
    스프링
    스프링클라우드
    DASP합격후기
    MSA
    DASP후기
    스프링트랜잭션
    자격증
    DASP합격
    데이터아키텍처준전문가
    스프링테스트
    궁금증
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
꾸준히 기록하는 지수
AWS 서버리스로 웹 어플리케이션 구축하기 이론
상단으로

티스토리툴바