AWS. DynamoDB와 기본키, 인덱스

DynamoDB에는 기본키에 추가로 두 종류의 인덱스가 있다 글로벌 보조 인덱스(GSI) 로컬 보조 인덱스(LSI) 기본키는 파티션키와 추가로 정렬키를 가질 수 있다. AWS에서 DynamoDB는 물리적으로 여러 파티션에 데이터를 나눠서 저장한다. 저장될 파티션의 위치를 정하는게 파티션키이며 파티션 내에선 정렬키로 정렬되어 저장된다. 파티션키 선택 기준 1. 카디널리티가 높아야한다. 카디널키의 중복도가 높을 경우 특정 물리적 파티션에 부하가 몰릴 수 있다. 카디널리티가 높은 경우여도 월별이나 일별로 키를 잡는 경우 해당 날짜의 모든 데이터가 하나의 파티션으로 들어가므로 좋지 않다. 2. 검색 파티션키는 HASH와 같이 동작하므로 BTREE처럼 범위검색이 되지 않는다. (실제 자료구조는 모름) 파티션키로 페이징이나 범위검색을 해야 될 경우 인덱스가 필요하다 로컬 보조 인덱스(LSI) 로컬 보조 인덱스는 파티션키는 같이 쓰고 정렬키만 다르게 설정

2022년 2월 27일
·
0개의 댓글
·
post-thumbnail

AWS Elastic Beanstalk(EB) 기본 정리

기본개념 소스(or도커이미지) + 기본설정 -> 배포, 로드밸런싱, 오토스케일링, 모니터링 ... 어플리케이션 제목 설명만 있는 껍데기 환경 어플리케이션에 종속되며 하나의 어플리케이션에 여러개 생성 가능 (ex] dev, release, production) 소스부터 설정까지 여기에 다 있음 어플리케이션 이름 잘 지어서 생성 환경 티어 웹 서버 환경 일반적인 웹사이트 작업자 환경 크론 작업, queue 작업 같은거 처리 플랫폼 java, nodejs, dotnet, docker 등등 인기있는 언어들 많은데 도커만 써봤음 Docker running on 64bit Amazon linux 2 이거 쓰면 됨 Dockerrun.aws

2022년 1월 4일
·
0개의 댓글
·
post-thumbnail

AWS Elastic Container Service(ECS) 기본 정리

기본개념 여러 종류의 컨테이너를 여러 인스턴스에서 실행 컨테이너 오토스케일링 + 인스턴스 오토스케일링 클러스터 EC2 인스턴스 같이 사용할 그룹 작업 정의 같이 사용되는 도커 이미지 1개 이상의 묶음 (docker-compose 비슷) 클러스터에 종속되지 않으며 실제 실행은 되지 않고 설정 저장용 cpu, memory, network 등등 설정 서비스 클러스터에 종속되며 한 클러스터에 여러개 서비스 설정할 수 있음 작업정의를 이용해서 클러스터가 갖고있는 인스턴스(컨테이너 인스턴스)에 작업 실행시킴 클러스터 용량공급자 인스턴스 부족하거나 남을 때 사용할 EC2 오토스케일링 그룹 목표용량 %는 (작업에 필요한 인스턴스 수 / 갖고있는 인스턴스)*100 100%인 경우 작업에 딱맞게 실행되지만 작업 추가할 경우 인스턴스부터 빌려야되서 오래걸림 50%인 경우 작업에 필요한 인스턴스 * 2 작업정의 네트워크

2022년 1월 4일
·
0개의 댓글
·

AWS Parameter store

파라미터 생성 이름 /development/.env 값 MYSQL_HOST="database.url" MYSQL_USER="admin" MYSQL_PASS="pass" MYSQL_NAME="name" 사용 권한 IAM에서 다른유저 사용할 경우 등록할 정책이 없음 ( ssmFullAccess 권한 줘도 auth error ) -> 정책 만들어서 유저에 등록

2021년 12월 22일
·
0개의 댓글
·
post-thumbnail

AWS CDN - CloudFront

원본 한 배포 안에서 여러 원본 설정 가능 [동작]에서 어떤 원본으로 요청할 지 선택 특정 원본에서 오류 발생시 다른 원본으로 가도록 [오리진 그룹] 설정 캐시정책 동작 탭에서 선택 URL Path별로 우선순위 지정해서 정책 분리 가능 CachingOptimized (기본) 헤더, 쿼리, 쿠키 모두 캐시 키로 사용 안함 기본 TTL 86400초 (1day) 압축 캐시정책 생성 TTL 설정 가능 헤더, 쿼리, 쿠키 원하는 데로 키 지정 가능 압축 여부 설정 가능 Edge Function Lambda@Edge node.js (or python) viewer, origin 모두 사용 가능 다른 AWS와 연동할 수 있음 ( e

2021년 12월 20일
·
0개의 댓글
·