dynamodb(4)
-
AWS RDS vs DynamoDB 차이: 데이터베이스 선택 기준
새 서비스를 설계할 때 "DB는 뭘로 하지?"라는 질문이 나옵니다. AWS에서 가장 많이 비교되는 조합이 RDS와 DynamoDB입니다. 둘 다 관리형 서비스지만, 데이터 모델, 확장 방식, 비용 구조가 근본적으로 다릅니다. 잘못된 선택은 6개월 뒤 마이그레이션이라는 비용으로 돌아옵니다.요약기준RDSDynamoDB데이터 모델관계형 (테이블, 행, 열, JOIN)Key-Value / Document (스키마리스)쿼리SQL (복잡한 JOIN, 서브쿼리 가능)기본키 기반 조회, 제한적 쿼리확장 방식수직 확장 (인스턴스 크기 변경)수평 확장 (자동 파티셔닝)지연 시간수 ms~수십 ms (쿼리 복잡도에 따라)한 자릿수 ms (일관적)운영인스턴스 관리, 패치, 백업 스케줄 설정서버리스, 인프라 관리 불필요비용 모델..
2026.06.08 -
Terraform Error acquiring the state lock 해결 방법
terraform plan을 실행했는데 "Error acquiring the state lock"이 뜨면서 아무 작업도 진행되지 않습니다. 팀원이 작업 중인 것도 아닌데 lock이 걸려 있습니다. CI/CD 파이프라인이 중간에 실패하면서 lock이 해제되지 않은 경우, 이 상황이 자주 발생합니다.핵심 요약구분내용에러 메시지Error acquiring the state lock원인이전 Terraform 실행이 비정상 종료되면서 DynamoDB Lock이 해제되지 않음즉시 해결terraform force-unlock 근본 원인CI/CD timeout, 수동 중단(Ctrl+C), 네트워크 단절, 프로세스 강제 종료재발 방지CI/CD timeout 설정, Graceful shutdown, Lock 모니터링 알람..
2026.06.05 -
Terraform S3 Backend와 State Lock 구성하기: 팀 협업을 위한 원격 상태 관리
팀원 3명이 같은 인프라를 Terraform으로 관리할 때, Local State로는 충돌을 피할 수 없습니다. S3 Backend와 DynamoDB Lock을 구성하면 이 문제를 구조적으로 해결할 수 있습니다.핵심 요약S3 Backend는 Terraform State를 팀 전체가 공유할 수 있는 원격 저장소에 보관합니다.DynamoDB를 사용한 State Locking은 동시 작업으로 인한 State 충돌을 방지합니다.Backend 리소스(S3 버킷, DynamoDB 테이블)는 Terraform이 아닌 별도 방법으로 먼저 생성하는 것이 일반적입니다.State 파일에는 민감 정보가 포함될 수 있으므로 암호화와 접근 제어가 필수입니다.환경별(dev/staging/prod) State를 분리하면 blast ..
2026.05.31 -
Terraform State란 무엇인가: 상태 관리의 개념과 실무 운영 전략
Terraform State는 Terraform이 관리하는 인프라의 현재 상태를 기록하는 파일입니다. 이 파일이 없으면 Terraform은 어떤 리소스를 만들었는지, 무엇을 변경해야 하는지 판단할 수 없습니다.핵심 요약Terraform State는 코드(.tf)와 실제 인프라 사이의 매핑 정보를 저장하는 JSON 파일입니다.State가 없으면 Terraform은 매번 모든 리소스를 새로 생성하려고 시도합니다.팀 환경에서는 Local State 대신 Remote Backend(S3 + DynamoDB 등)를 사용해야 합니다.State Locking은 동시 작업으로 인한 충돌을 방지하는 필수 메커니즘입니다.State 파일에는 민감 정보가 포함될 수 있으므로 접근 제어와 암호화가 필요합니다.1. 왜 State..
2026.05.28