no image
[AWS/DynamoDB] Backup / Modeling & Migration
PITR 특정 시점 복구 실수로 인한 쓰기 또는 삭제 작업으로 부터의 테이블 보호 디폴트 값은 false로 유지 최근 35일에 대한 백업본 저장 동일한 리전 또는 백업본을 위한 다른 리전으로 복원도 가능 On - Demand Backup DynamoDB 백업 삭제 지시까지 영원히 유지 특정 시점에 대한 직접적인 백업본 생성 가능 Schedule Backup AWS Bakcup 에서 Backup vault 생성 필요 생성한 Backup vault에 따라 dbBackupPlan 세우기 DynamoDB에는 현재 Cold Storage 지원 ❌ 예약된 작업에 대한 확인 Amazon DynamoDB Workshop & Labs 백업 제한에 대한 IAM 권한 설정 가능 { "Version": "2012-10-17"..
2024.02.01
no image
[AWS/EFS, API Gateway, Lambda] 비디오 서버 서버리스로 마이그레이션 하기
- 2023년 8월 인턴 업무를 진행하며 IaaS 아키텍처를 FaaS 아키텍처로 바꾸면서 개발팀 내부에 공유했었던 문서를 각색하여 작성하였습니다. - Fast API 프로젝트에서 서버리스로 마이그레이션하기 위한 방식을 적은 포스팅으로, 본 포스팅은 FastAPI + AWS 환경에서 배포를 진행하는 프로젝트에 최적화되어 있습니다. 🧍🏻Intro 현재 상황 서버 측에 비디오 처리 요청 시, 한번에 하나의 작업만을 처리하여 워크로드가 많이 듦 문제 상황 재현 클라이언트가 Merge 작업을 요청하고 해당 작업을 취소 coroutine_tasks 를 통한 Moviepy 작업 수행 🚨 문제 상황 발생 코루틴의 작업 처리 대기 중 연결 취소 → 큐에 쌓인 채 작업 처리 대기 이미 취소된 작업임에도 큐에 남아있어서 다..
2024.01.28
no image
[AWS/DynamoDB] Explore DynamoDB with the CLI
READ Sample DATA Scan API 전체 테이블 스캔 1MB 청크로 항목 리턴 DynamoDB JSON 형식 사용 aws dynamodb scan --table-name ProductCatalog GetItem API 단일 항목만 읽기 전체 기본키를 지정해야함 Dynamo DB의 읽기 : 최종 일관성 사용 💡 Read Consistency - 읽기 일관성(읽기 정합성) 읽기를 진행하는 데이터 : 테이블 / LSI / GSI / 스트림 데이터 테이블, LSI 모두 eventual consistency(최종 일관성), strongly consistent(강한 일관성) 지원 다양한 옵션 -consistent-read : Specifying that you want a strongly consiste..
2024.01.21
[AWS/DynamoDB] Overview
완전관리형 NoSQL DB서비스 하드웨어 프로비저닝, 구성 및 설정, 복제, 패치, 클러스터 스케일링 등을 신경쓸 필요가 없다. KMS를 이용한 Key관리 지원을 통한 보안 강화도 도모함 DB 테이블 DynamoDB 자동으로 AWS 리전별로 데이터를 AZ 3곳에 복제하여 저장 하나 장애가 발생하여 정지해도 DB 정상 사용 가능 → ⭐ 고가용성 높은 가용성 및 지속성 제공 따로 데이터 백업 필요 ❌ AWS S3와 같이 저장 용량은 무제한 데이터 형식 Scalar Data types : Number, String, Binary Multi-valued types : Number Set, String Set, Binary Set Primary Key 해시키 : 고유값 해키키 + 범위키 :정렬 / 범위 값 / 모..
2024.01.17
no image
[AWS/Secrets Manager] 키 관리 Secrets Manager 로 간단히 하기
- 2023년 8월 인턴 업무를 진행하며 프로젝트 키 관리 방식을 바꾸면서 개발팀 내부에 공유했었던 문서를 각색하여 작성하였습니다. - Nest js 프로젝트에서 키 파일 관리를 중앙에서 하기 위해 도입한 방식으로 본 포스팅은 NestJS + AWS 환경에서 배포를 진행하는 프로젝트에 최적화되어 있습니다. 🧍🏻Intro 도입 배경 Redis를 새롭게 추가하던 중 파이프라인에 변수 설정 누락, Bitbuckets Repository Variables 변수설정 누락 시 빌드는 성공하지만 정작 .env 파일 내에 해당 시크릿 정보가 기입되지 않는 문제 발생 공동 작업 중 DATABASE_SYNCHRONIZE = true 로 설정하는 실수로 인해 DB의 모든 데이터 유실 키 파일 변경 시 일일이 모든 개발자에게..
2023.12.09
no image
[AWS/Elastic IP] EC2에 탄력적 IP 주소 할당하기
☀️ 탄력적 IP 주소(Elastic IP) 우선 탄력적 IP 주소(Elastic IP)는 정적으로 유지되는 IPv4주소이다. AWS내에서 인스턴스를 중지 후 재부팅할 때마다 동적으로 IP주소가 바뀌게 되는데 이때 해당 인스턴스에 Elastic IP를 할당해놓으면 인스턴스를 재부팅해도 동일한 IP 주소를 유지하게 된다. 현재 IPv6에 대한 탄력적 IP 주소는 지원하고 있지 않다고 한다. Elastic IP 요금 탄력적 IP 주소를 실행중인 인스턴스와 연결해놓으면 요금이 부과되지 않지만 탄력적 IP 주소가 실행 중인 인스턴스와 연결되어 있지 않거나 중지된 인스턴스 또는 연결되지 않은 네트워크 인터페이스와 연결된 경우에는 시간당 요금이 부과된다고 한다. Amazon EC2 요금, 온디맨드 요금 참고! 🌟 ..
2022.08.09
no image
[AWS/RDS] RDS TimeZone 변경하기
⚠️ Problem AWS RDS로 기본 설정으로 DB 생성 시, 시스템 시간이 UTC 로 저장되어 보기 불편하다. 타임존 설정을 통해 아시아/서울 로 바꿔준다. ✨ Solve RDS → 사이드 바 → 파라미터 그룹 기본적으로 디폴트 파라미터 그룹이 있는데, 디폴트 파라미터 그룹의 경우 편집이 불가능하다. → 새로 생성해줘야 한다 파라미터 그룹 생성 후 → 검색 탭에 time_zone 검색 time_zone 항목 선택 후, 파라미터 편집 선택 이후 time_zone : Asia/Seoul 로 바꿔주고 변경 사항 저장 ! 다시 RDS 탭으로 가서 수정 선택 추가 구성 → DB 파라미터 그룹 → 새로 생성한 파라미터 그룹으로 지정 DB 재부팅 타임존 변경 확인!
2022.05.20