클라우드/AWS 9

[AWS] Dynamo: Amazon’s Highly Available Key-value Store

DynamoDB의 근간은 2007년 AWS에서 내놓은 Dynamo 논문에 기반을 둔다. 해당 논문을 읽어보고 간략하게 내용을 정리해보고자 한다. 주의 개인 학습을 위해 러프하게 읽어본 내용이라서 중간에 잘못 해석한 내용이 있을 수 있습니다. 간략하게 1회독 한 것이라서 정확하지 않습니다. 요약을 차차 수정할 예정이니 내용을 파악하고 싶다면 논문을 직접 보시는 게 좋습니다. 1. 서론 아마존은 전세계급 서비스를 운용 이 논문에서는 Dynamo라 불리는 고가용성의 키벨류 저장소 시스템을 다룸 즉 always-on이 가능하게 하는 서비스임 토네이도 때문에 데이터 센터가 날아가거나 혹은 네트워크 장애가 발생하더라도 언제나 가용한 저장소 기술에 대한 니즈는 항상 있다. RDB의 일반적인 패턴은 비효율성을 가져왔다..

클라우드/AWS 2023.11.10

[AWS] DynamoDB에서 쓰기 충돌을 방지하는 방법

최근 Dynamo 논문을 읽어보면서 흥미로운 개념을 발견했다. 대부분의 DB의 경우 last writes wins라는 전략을 택한다고 한다. 간단하게 말하자면 마지막에 쓴 자가 기존 데이터를 덮어씌우는 방식이다. 동시 쓰기의 문제를 심플하게 나중에 쓴 사람 걸 채택하는 방식으로 해결한다는 것이다. 이렇게 하는 이유는 개발자의 편의에 있기도 하고, (개발자들은 본인의 client단에 복잡한 충돌 처리 로직을 작성하는 걸 싫어한다고 한다) 단순하게 그 방법이 가장 간단하기 때문이라고도 한다. 그런데 Dynamo 논문에서는 DynamoDB의 경우 last writes wins가 아니라 애플리케이션에서 해당 충돌에 대한 권한을 가질 수 있도록 만들었다고 한다. 즉 애플리케이션 단의 로직으로 해당 충돌 문제를 해..

클라우드/AWS 2023.11.10

[AWS] DynamoDB 학습 자료 정리

DynamoDB에 대한 좋은 학습 자료가 있어서 정리해둔다. 모두 한번씩 읽어본 내용이지만 이해가 되지 않아서 다시 볼 필요가 있는 자료도 있다. 특히 key design에 대해서는 어떻게 해야하는지 알겠지만 막상 하라고 하면 제대로된 디자인을 할 수 있을지 걱정이다. 이런 류는 대부분 직업 만들어봐야 해결되는 부류라고 생각한다. 블로그 논문 영상

클라우드/AWS 2023.11.02

[AWS] AWS EBS에 대한 이해

RabbitMQ 클러스터링을 공부하던 중 AWS EBS에 대한 내용이 등장했다. 처음 들어본 기술 용어이므로 관련 내용을 간략하게 정리하고자 한다. EBS란 무엇인가? Elastic Block Storage는 AWS 클라우드의 EC2 인스턴스에 사용할 영구 블록 스토리지 볼륨을 제공함 각 EBS 볼륨은 가용 영역 내에 자동으로 복제되어서 구성 요소 장애로부터 보호하고 고가용성 및 내구성을 제공함 요약 가상 하드드라이브임 EC2 인스턴스가 종료되어도 계속유지 가능함 인스턴스랑은 별개의 개념이라고 보면 됨 인스턴스와 EBS는 네트워크로 연결로 되어있기 때문임 하나의 EC2 인스턴스에 여러 하드드라이브 즉 EBS를 계속 네트워크에 붙여서 추가시킬 수 있음 인스턴스 정지 후 재기동 가능함 하나의 EBS를 여러 ..

클라우드/AWS 2023.10.27

[AWS] DynamoDB 제대로 알고 사용하기

최근 Amazon DynamoDB를 사용할 일이 많다. DynamoDB는 간단하다는 점이 좋았다. 그럼에도 잘 알고 사용해보고자 DynamoDB에 대한 간략한 내용을 정리해보고자 한다. DynamoDB란? AWS에서 제공하는 서버리스 기반 key value 기반 NoSQL데이터베이스다. 높은 성능과 비용적 이점이 있다고 한다. 특징 NoSQL 데이터베이스 NoSQL데이터베이스에는 JOIN이 없다. JOIN개념이 없기 때문에 정규화도 불가능하다. 그래서 NoSQL에서는 반정규화를 한다고 한다. 반정규화란? 데이터베이스의 성능 향상을 위해서 데이터 중복을 허용하고 조인을 줄이는 데이터베이스 성능 향상 방법이다. 반정규화는 조회(select) 속도를 향상시키지만 데이터 모델의 유연성은 낮아진다. 반정규화를 적..

클라우드/AWS 2023.05.06

[AWS] EC2를 사용하지 않을 경우 Elastic Ip / 탄력적 ip에서 과금 발생

아침에 일어나서 메일을 확인하는데 AWS로부터 처음보는 내용의 이메일이 도착했다. 요금이 발생했다는 이메일이었다. 모두 프리티어를 사용하고 있는 중인데 왜 요금이 발생할까 싶어서 AWS에 로그인해봤다. 결제대시보드에 아래와 같은 청구서를 확인할 수 있었다. 프리티어를 사용중인데 요금이 발생했다니 의아했다. AWS로 들어가서 확인해보니 Elastic Ip 즉 탄력적 ip에서 요금이 발생하고 있었다. 왜 여기서 요금이 발생할까에 대한 궁금증이 생겼는데 순간 예전에 블로그에서 읽었던 내용이 스쳐지나갔다. (사실 위에 과금 고지문을 잘 보면 0.005 per elastic ip address not attached to running instance per hour 라는 문구를 확인할 수 있다. 즉 말 그대로 ..

클라우드/AWS 2022.04.08

[AWS] AWS ec2 putty 연결

이 좋은 방법을 놔두고 여태까지 굳이 config 파일을 만들어줘서 썼다고? ㄷㄷ 앞으로는 푸티써서 하자... 파일도 그냥 드래그앤 드롭으로 올릴 수 있다. 빌드파일 그냥 올려버릴때 너무 좋다... 흑흑 https://webnautes.tistory.com/1480 AWS 프리 티어 가입부터 EC2 생성 및 SSH 접속까지 AWS(Amazon Web Services)를 1년 동안 무료로 사용할 수 있는 프리 티어 가입부터 EC2 인스턴스 생성 및 SSH 접속까지 다룹니다. 2021. 05. 03 최초 작성 AWS 프리 티어를 사용하려면 계정을 우선 만들어야 합 webnautes.tistory.com

클라우드/AWS 2022.03.18

[AWS] ssh를 사용해서 AWS EC2 접속 시 주의사항

보통 putty를 사용하던데 그렇다면 이런 일이 발생할 일이 없을거다. 나의 경우 ssh를 사용해서 AWS EC2에 접속하게 되는데 이때 인스턴스를 중지시켰다가 다시 작동시키게 되면 HostName이 바뀌게 된다. 즉 ssh설정을 다시 해줘야 하는 것이다. 그래서 EC2에서 연결을 누르면 HostName이 나오는데 그걸 수작업으로 .ssh의 config에 다시 적어줘야 한다. 혹시 갑자기 안된다고 당황할 수 있는데 이점 유의하는 것이 좋겠다. (나도 순간 당황했다.) 아니 그냥 푸티쓸까?

클라우드/AWS 2021.09.11
반응형