[CloudClub 4주차/AWS] 6. Lambda ~ 8. DynamoDB

이지연·2021년 5월 18일
0
post-thumbnail

1. AWS Lambda

  • Serverless의 주축을 담당 -> 클라우드를 통해 자동 실행 시켜 간섭 적음
  • Events 를 통하여 Lamda를 실행시킴 -> 주어 + 동사 = 이벤트
  • NodeJS, Python, Java, Go 등 다양한 언어 지원
  • Lamda Function
  • 비용: Lambda Function이 실행될 때만 지불
  • 기타: Lambda 함수는 최대 300초 런타임 시간 허용, 512MB의 일시적인 디스크
    공간 제공, 최대 50MB Deployment Package 허용 / 50MB 초과시 S3 버킷 사용 가능
  • myLambdaFunction-role-gqew121z

1)Lambda 함수 생성

2)함수 테스트

3)에러 테스트

4)high_temperature_detect_lambda 실습

2. AWS CloudFront

  • 정적, 동적, 실시간 웹사이트 컨텐츠를 유저들에게 전달

  • Edge Location을 사용

  • 컨텐츠 딜리버리 네트워크 Content Delivery Network(CDN)

  • 분산 네트워크 (Distributed Network)
    -> CDN은 Edge Location을 통해 컨텐츠 전달

  • Edge Location(엣지 지역): 컨텐츠들이 캐시에 보관되어지는 장소

  • Origin(오리진): 원래 컨텐츠들이 들어있는 곳, 웹서버 호스팅이 되어지는 곳. S3, EC2 인스턴스가 오리진이 될 수 있음

  • Distribution(분산): CDN에서 사용되어지며 Edge Location들을 묶고 있다는 개념

1) Origin 생성

2) CloudFront 도메인으로 접속 성공

3. AWS DynamoDB

  • NoSQL(Not Only SQL)데이터 베이스

  • 매우 빠른 쿼리 속도

  • Auto-Scaling 기능 탑재

  • Key-Value 데이터 모델 지원

  • 테이블 생성시 스키마 생성 필요 없음

  • 모바일, 웹, IOT데이터 사용시 추천됨

  • SSD 스토리지 사용

  • 테이블(Table)

  • 아이템 -> 행 개념과 비슷

  • 특징 -> 열 개념과 비슷

  • Key-Value

  • 예시) JSON, XML

  • Primary Keys (PK):

    • PK를 사용하여 데이터 쿼리
    • DynamoDB에는 두 가지의 PK 유형이 있음:
      파티션키->고유특징, 복합키->파티션키 + 정렬키
  • AWS IAM으로 관리할 수 있음

    • 테이블 생성과 접근 권한을 부여할 수 있음
    • 특정 테이블만, 특정 데이터만 접근 가능케 해주는 특별한 IAM 역할 존재

1) Index: 특정 컬럼만을 사용하여 쿼리, 테이블 전체가 아닌 기준점 사용해 쿼리 이루어짐

  • Local Secondary Index (LSI)
    • 테이블 생성시에만 정의해줄 수 있음
    • 따라서 테이블 생성 후 변경, 삭제가 불가능
    • 똑같은 파티션키 사용, 그러나 다른 정렬키 사용
  • Global Secondary Index (GSI)
    - 테이블 생성후에도 추가, 변경, 삭제 가능
    - 다른 파티션키, 정렬키 사용2) Query, Scan
  • Query: Primary Key를 사용하여 데이터 검색
    • Query 사용시 모든 데이터(컬럼)변환
    • ProgectionExpression 파라미터
  • Scan: 모든 데이터를 불러옴 (primary key 사용 x)
    • ProjectionExpression 파라미터
  • Query vs Scan: Query가 Scan보다 효율적
profile
안녕하쇼!

0개의 댓글