분류 전체보기(472)
-
DynamoDB 데이터 다른 테이블로 마이그레이션 하기(AWS Data Pipeline) - 2 복구하기
1편을 보고 오시오.... DynamoDB 데이터 다른 테이블로 마이그레이션 하기(AWS Data Pipeline) - 1 백업하기 DynamoDB 데이터 다른 테이블로 마이그레이션 하기 회사에서 일한지 어언 2개월이 지났다. 하나의 api를 테스트 중 한가지 이상한 점을 발견했다. DynamoDB 테이블 설계가 잘못된 것이었다. 우선 ID hoony-gunputer.tistory.com 복구하기는 크게 어렵지 않다. 저장할 때 사용했던 방법을 그대로 사용하면 된다. 위와 같이 바꾼 후 1편과 같이 옵션을 정한다. instance type을 자기가 원하는대로 바꾼 후 save start하면 방금 생긴 table에 데이터가 쌓이는 것을 확인할 수 있다. 그리고 팁으로 한번에 성공할 수 없을 수도 있고 에러..
2021.12.04 -
DynamoDB 데이터 다른 테이블로 마이그레이션 하기(AWS Data Pipeline) - 1 백업하기
DynamoDB 데이터 다른 테이블로 마이그레이션 하기 회사에서 일한지 어언 2개월이 지났다. 하나의 api를 테스트 중 한가지 이상한 점을 발견했다. DynamoDB 테이블 설계가 잘못된 것이었다. 우선 ID를 메인키로 데이터를 구분해주었는데 ID를 포함해 하나의 칼럼에 따라서 데이터가 구분이 되어야 하는데 (현재 상황에서는 당연스럽지만)ID가 같다면 데이터가 덮어씌어져서 초기 설계부터 잘못되어 있었다. 그래서 해결책은 ID와 하나의 칼럼을 복합키로 만들어서 데이터를 구분할 수 있게 해주어야 했다. 하지만 기존에 만들어진 테이블을 수정할 수 는 없었고 하나의 데이터도 잃지 않고 칼럼은 다 같으니깐 sort key를 추가해서 테이블을 만들어 옮기는 것이 중요했다. Dynamodb에서 자체적으로 제공해주는..
2021.12.04 -
서버 성능 테스트(1)
서버 성능 테스트(1) 회사에서 api 서버를 개발하다가 최종 단계인 스트레스 테스트가 필요해졌다. 만든 api 서버가 어디서 병목현상이 발생하는지 많은 사람들이 몰렸을 때 어떤 사고가 발생하는지 체크를 해야했다. 그래서 진행할 스트레스가 어떤 종류가 있고 어떤 툴을 사용할지 등의 과정을 정리하려고 한다. 우선 퍼포먼스 테스트가 무엇인지 알아보자 Performance Test란 Performance Test란 주어진 상황속에서 시스템의 컴포넌트가 시스템에서 어떻게 수행되는지 탐지해내는 것이다. Resource의 사용량, 확장성, 신뢰성 등을 테스트를 통해 적합한지 인식할 수 있다. 아래 사진과 같이 각 6개의 테스트가 퍼포먼스테스트에 포함되는 것이다. Load Testing Load Testing을 보면..
2021.11.18 -
09/29 AWS 공부(ECR, Kinesis firehose, S3 buckets)
ECR Repository(메인 사이트) 우선 링크의 있는 사이트를 보면 ECR(Elastic Container Registry)은 어디에서난 컨테이너 이미지와 아티팩트를 손십게 저장, 관리, 공유 및 배포할 수 있는 완전관리형 컨테이너 레지스트리이다. ECR을 사용하면 자체 컨테이너 Repo를 운영할 필요가 없이 편하게 저장, 공유 등을 활용할 수 있는 솔루션인 것 같다. 즉 Dockerhub에 push 및 pull을 해주며 관리하는 것이 아닌 ECR에 push및 pull을 하며 관리하는 것이다. 굳이 Dockerhub가 아닌 ECR에 push와 pull을 진행하며 해주는 것일까? 아래 표를 한번 살펴보자 우선 aws의 경우 public한 Repo가 안되고 MFA가 되고 가용성이 99.9%, 이미지가 ..
2021.09.29 -
Git Ops
회사 깃허브를 둘러보더가 Git Ops라는 개념이 궁금해서 정리하려고 한다. 참고 Git Ops 코드 실행과 배포, 운영에 관련된 정보들을 모두 Git으로 관리하는 것입니다. 이전에 공부한 Terraform은 인프라를 프로비저닝 하는데 Git ops는 인프라에서 애플리케이션 범위로 확장한 것이다. - 배포에 관련된 모든 정보 파일들을 따로 config Repository로 만들어서 관리한다. - config Repository의 내용과 운영환경 사이의 차이가 없도록 유지시켜주는 것이 중요하다. Git Ops 저장소 전략 최소 2개 이상의 Git 저장소를 사용한다. - 개발중인 저장소: - 배포환경 관련 저장소: 인프라 서비스를 어떻게 구성되고 있는지 어떤 버전을 사용하는지 등등의 정보가 들어있다. 배포 ..
2021.09.24 -
Terraform tutorial - 2. Build Infrastructure
[튜토리얼 링크] Build Infrastructure | Terraform - HashiCorp Learn Authenticate to AWS and create an EC2 instance under the AWS free tier. Write and validate Terraform configuration, initialize a configuration directory, and plan and apply a configuration to create infrastructure. learn.hashicorp.com terraform { required_providers { aws = { source = "hashicorp/aws" version = "~> 3.27" } } required_ver..
2021.09.24