Ch03 서버리스 어플리케이션 개발
10. CloudFront 소개 및 구축
11. DynamoDB 소개 및 구축
12. SNS로 관리형 메세지 만들기
Cloud Front
origin domain name : 사용할 s3 버킷 이름
origin path : 버킷에서 특정 디렉토리부터 캐시를 적용 가능하다.
restrict bucket access : s3 접근은 모두 제한하고 cloud front로만 접근 할 수 있도록 설정 비용 과금을 막으려면 설정하는 것을 추천.
viewer protocol policy : https only를 사용하기 보다는 첫번째 옵션을 선택
cache and origin request settings : header의 특정 값에 대해서만 캐싱이 가능한 기능. 성능은 좋지 않음
compress objects automactically : 압축 기능으로 꼭 사용하는 것이 좋다.
lambda function associations : 사용자가 요청, cf에서 s3로 요청, s3에서 cf로 응답, cf에서 사용자에게 응답할때 lambda를 적요할 수 있다.
cloud front 생성 후 invalidation메뉴를 주로 사용 할 텐데 파일 수정후 반영에 대한 기능이다. 비용이 발생하니 남용하면 안된다.
cloude front의 domain 주소를 확인 할수 있다.
Dynamo
nosql, 비관계형 데이터베이스 서비스로 필드의 정의 없이도 데이터 저장이 가능한 형태의 데이터베이스
먼저 aws에서 dynamo를 살펴본다. 테이블을 생성하고 데이터를 입력한다. 첫번째 데이터는 value : 1, 두번째 데이터는 value2 : 2 로 입력했을때 아래와 같은 화면을 볼 수 있다. 관계형 데이터 베이스라면 먼저 테이블에 대한 필드 정의 한뒤 정의한 필드에 대한 데이터만 입력이 가능할 것이다. 그러나 dynamo는 필드 구분없이 데이터 저장이 가능하다.
이제 예제에 사용할 컨퍼런스 테이블을 생성한다. 성능을 위해 인덱스를 추가하는 것을 잊지 말자.
dynamo 용어 정리
강력한 일관된 읽기 : 가용영역에 데이터가 모두 복제된 상태에서 데이터를 반환하는 기능
stringSet : 중복이 없는 문자열 리스트
map : 딕셔너리 형태의 데이터
SNS (amazon simple notification service)
사용자 : publisher / subscripber 통신에 대한 정책을 지정하여 주제를 선정하고 액세스를 제어한다.
주제(topic) : publisher는 메세지를 등록하고 subscriber는 메세지를 받을 수 있다.
publicsher : 특정 행동이나 서비스에 대해 topic에 메세지를 등록
subscirber : 구독하고 있는 topic에 메세지가 등록되면 메세지를 수신하여 처리한다.
위 개념이 sns이며 이를 사용하여 람다에서 람다로 데이터를 전달할때 sns를 통해서 상태를 공유 할 수 있다.
17일 차 마무리
cloud front를 사용하여 s3 웹서버에 대한 비용을 절감 하는 방법과 dynamo를 사용한 유동적인 데이터 저장방법 sns를 사용한 서비스 간 통신방법을 학습했다. aws 서버리스 서비스에 대한 개념과 가까워 질 수 있도록 공식 문서의 중요성을 다시한번 느꼇다.
현재 수강 중인 강의는 아래와 같다
올인원 패키지 : AWS/Docker 클라우드 서버구축👉https://bit.ly/3bFlm0e