분류 전체보기 94

데이터베이스 기본 개념 정리 (Relational Databases vs NoSQL)

데이터베이스는 목적에 맞게 최적화되어, 서로 다른 기능/모양/제한을 가진다.  ➡️ 데이터를 구조에 따라 저장하고 싶다면, 데이터베이스를 이용하는 것이 좋다.     데이터베이스를 이용하면 효과적인 쿼리와 검색을 위한 인덱스도 구축할 수 있다.  ➡️ EFS, EBS, EC2 인스턴스 스토어, S3 등을 이용하면     데이터베이스를 이용한 파일별 작업이 가능하여, 더욱 체계적으로 데이터를 관리할 수 있다.  이처럼 상황과 필요에 따라 적절한 데이터베이스를 선택하여 사용할 필요가 있는 것!   # Relational Databases - 관계형 데이터베이스  관계형 데이터베이스는 엑셀 스프레드시트와 동일하다고 볼 수 있다.    테이블의 열(column)끼리의 관계, 테이블 간의 관계 등등.. 다양한 관..

AWS 2025.03.06

하이브리드 클라우드와 AWS S3 - Storage Gateway로 연결하기

일반적으로 Amazon S3는 독립 실행형 서비스이지만, 하이브리드 클라우드 유형의 설정에서도 사용이 가능하다.   🧐 하이브리드 클라우드란? 사용자의 온프레미스 환경과 AWS를 걸쳐 사용되는 클라우드를 말한다!사용자의 인프라 중 일부는 온프레미스에, 나머지는 AWS 클라우드에 존재하게 되는 것! 하이브리드 클라우드가 필요한 경우먼저 생성된 온프레미스에 마이그레이션을 수행할 때에 소요되는 시간이 너무 길 때 보안 요건 충족을 위해 컴플라이언스 요건 IT 정책 등으로 인해 일부는 온프레미스, 일부는 클라우드를 사용하는 하이브리드 클라우드를 사용하게 된다.      # AWS Storage Gateway 온프레미스에서 S3의 데이터, 즉 aws 클라우드의 데이터를 보려면-> Storage Gateway를 ..

AWS 2025.03.05

인터넷 없는 현장에서 데이터 처리하는 법 - 스노우 제품군과 엣지 컴퓨팅

이전 포스팅에서 스노우 제품군을 사용하여 데이터 마이그레이션 하는 경우에 대해 알아보았다. 이번 글에서는 스노우 제품군의 또 다른 사용 사례인 엣지 컴퓨팅을 알아보겠다.   🧐  엣지 컴퓨팅이란?엣지 로케이션에서 데이터가 생성되는 동안 데이터를 처리하는 것. 🧐 엣지 로케이션이란?실제로 인터넷이 없거나, 클라우드에서 멀리 떨어진 곳.예를 들어, 도로 위의 트럭 / 바다 위의 배 / 지상에 광산 기지가 있는 경우. 이러한 경우를 엣지 로케이션이라고 부른다.  데이터를 생산해낼 수는 있지만, 인터넷 연결이 되어있지 않을 가능성이 있는 장소들이다. 따라서 연결이 제한되거나, 인터넷에 액세스할 수 없거나, 컴퓨팅 성능에 액세스할 수 없다.      이런 위치에서도 데이터 처리를 계속 실행하고 싶은 경우가 있..

AWS 2025.03.04

스노우볼 엣지, 스노우콘, 스노우모빌 - 대규모 데이터 전송을 위한 AWS Snow 솔루션

물리적 대규모 데이터 마이그레이션 방식에 대한 기본 설명은 이전 포스팅을 참고하면 된다. 이번 글에서는 AWS Snow Family의 각 옵션을 자세히 살펴보겠다. 1. Snowball Edge - 스노우볼 엣지 Snow Family 제품 중 하나인 스노우볼 엣지.  스노우볼 엣지는 거대한 박스같은 모양으로, 테라바이트 / 페타바이트의 데이터를 aws 안팎으로 이동시키는데 사용한다. 네트워크를 통해 데이터를 이동하는데 너무 오랜 시간이 걸리는 경우 좋은 대안 중 하나이다.    - 데이터 전송 작업 당 비용 지불- 스노우볼 엣지 내의 인터페이스는 블록 스토리지, 아마존 S3 호환 객체 스토리지를 제공 Use cases: 대규모 데이터 클라우드 마이그레이션을 통한 데이터 센터 폐기, 데이터를 aws에 백업..

AWS 2025.03.03

네트워크 없는 데이터 마이그레이션 - Snow Family

AWS Snow Family라고 불리는 스노우 제품군이 있다. 스노우 제품군은 매우 안전한 휴대용 장치로, 엣지에서 데이터를 수집/처리하거나, AWS 내부/외부로 데이터를 마이그레이션 하는데 사용된다.   # Data Migration 🤔 AWS 스노우 제품군을 사용하여 데이터 마이그레이션을 수행하려는 이유가 뭘까? 네트워크를 통해 많은 데이터를 전송하는 경우, 너무 오랜 시간이 걸릴 수 있다.  예를 들어, 초당 1기가바이트의 네트워크 회선으로 100TB의 데이터를 전송하려면?  -> 무려 12일이 소요된다..! 테라바이트를 넘어 페타바이트를 다루게 되는 경우, 시간은 이보다 더 오래 걸릴 것!   하지만 인간의 욕심은 끝이 없고, 우리는 데이터를 AWS에 빠르게 전달하기를 원한다. 또, 대규모 전송..

AWS 2025.03.02

Amazon S3의 공동 책임 모델

AWS 서비스에 대한 공동 책임 모델은 크게 보면 모두 같은 얘기를 하고 있다. aws는 인프라에 대한 모든 책임이 존재하고, 고객(사용자)는 서비스를 사용하는 것에 대한 책임이 존재한다는 것! 그래도 Amazon S3에 대한 공동 책임 모델도 한 번쯤 살펴보면 좋으니, 이번 글에서 다뤄보려고 한다.     AWS의 책임  - 내구성, 가용성, 글로벌 보안, 두 퍼실리티 간 현재 손실을 감당해야 한다는 사실 등.. 인프라에 대한 모든 책임이 있다. - 자체적인 내부 구성에 대한 책임- 취약성 분석에 대한 책임- 인프라 내부에서 자체적인 규정 준수 검증에 대한 책임 정리하자면 aws가 고객에게 제공하는 모든 것에 대해 책임을 져야 한다고 볼 수 있다.    사용자의 책임  S3의 사용자는, 본인이 사용하는..

AWS 2025.03.01

S3 데이터 보호 전략: 암호화 및 접근 모니터링

# Amazon S3 암호화   Amazon S3에서 버킷을 생성하거나 오브젝트를 올릴 때마다 암호화가 기본적으로 적용된다.  서버측 암호화사용자가 S3에 오브젝트를 업로드하면 해당 오브젝트가 버킷에 올라왔을 때 보안을 위해 Amazon S3가 암호화시킨 상태로 저장되는데, 암호화를 서버가 수행하기 때문에 이 과정을 '서버측 암호화'라고 한다.   클라이언트측 암호화반대로 클라이언트 측 암호화도 있다. 사용자가 파일을 업로드하기 전에 직접 암호화를 하고 버킷에 올리는 경우이다.  서버측 암호화 클라이언트측 암호화 모두 aws에 존재하며, 서버측 암호화는 기본으로 항상 활성화되어 있다.      # Amazon S3의 IAM Access Analyzer  Amazon S3 버킷을 모니터링하는 기능으로, 의..

AWS 2025.02.28

N+1 문제 해결하기 - Fetch Join

JPA와 같은 ORM(Object-Relational Mapping) 프레임워크를 사용할 때 종종 발생하는 성능 문제 중 하나가 바로 N+1 문제이다. 예를 들어, 할 일 목록을 저장하는 Todo 엔티티가 있고, 이와 연결된 User 엔티티가 있다고 가정해보자. 사용자가 Todo 목록을 조회할 때, 단 한 번의 쿼리로 모든 데이터를 가져오는 것이 이상적이지만, 기본 설정으로 조회하는 경우에 Todo 목록을 가져오는 쿼리가 1번 실행되는 걸로 끝나지 않고, 각각의 Todo에 연결된 User 정보를 가져오기 위해 추가적으로 N개의 쿼리가 실행되는 문제가 발생하는 것! 이처럼 불필요한 데이터 베이스 호출이 많아지면, 애플리케이션의 성능이 저하될 수밖에 없다.   #  N+1 문제 발생 상황   아래와 같이 T..

카테고리 없음 2025.02.27

Amazon S3 스토리지 클래스 알아보기 - 2 (스토리지 클래스 전체 비교 포함)

# S3 GlacierS3 Glacier는 아카이브와 백업에 적합한 저비용 객체 스토리지로 콜드 스토리지이다.  Glacier Instant Retrieval- 밀리세컨 단위의 검색이 가능- 분기에 한 번 데이터에 액세스 하는 경우에 적합한 스토리지 클래스- 최소 스토리지 기간 : 90일- 밀리세컨드 내에 액세스가 필요한 백업 작업에 이상적Glacier Flexible Retrieval- 유연한 무료 검색 기능 제공 (1-5분의 빠른 검색/3-5시간의 표준 검색/5-12시간의 대량 검색 중 선택)- 최소 스토리지 기간 : 90일- 인스턴스는 즉각적인 데이터 검색 / flexible은 데이터 검색 시 12시간까지 기다릴 수 있는 경우Glacier Deep Archive- 장기 보관 스토리지- 최소 스토리지..

AWS 2025.02.26

Amazon S3 스토리지 클래스 알아보기 - 1 (feat. 내구성과 가용성의 이해)

Amazon S3에서 객체를 생성할 때 클래스를 선택할 수 있다. 스토리지 클래스는 수동으로 설정할 수도 있고, S3 수명 주기 구성을 이용해서 모든 스토리지 클래스 간에 객체를 자동으로 이동시킬 수도 있다.   # Durability & Availability  스토리지 클래스에 대해 알아보기 전, 내구성과 가용성의 개념을 이해하면 좋다.   내구성( Durability)내구성이란 Amazon S3로 인해 객체가 손실될 확률이다.Amazon S3의 내구성은 99.999999999%로 아주 높다. 평균적으로 Amazon S3에 객체 천만 개를 저장했을 때, 1만 년에 한 번 객체가 손실되는 수치이다.모든 스토리지 클래스의 내구성이 동일한 수치이다.   가용성(Availability)가용성은 쉽게 말하면 ..

AWS 2025.02.25