분류 전체보기 118

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

Amazon S3의 리전 간 복제 vs 동일 리전 복제

# Amazon S3 Replication S3를 복제하는 기능은 동일 리전 내에서 이뤄지는지, 서로 다른 리전을 사이로 두고 이뤄지는지를 기준으로 두가지로 나누어 볼 수 있다.   1. CRR (Cross-Region Replication) - 리전 간 복제 서로 다른 리전에 있는 버킷 사이에 비동기 복제하는 경우를 말한다. 소스와 대상 버킷에 각각 버전 관리가 활성화 되어야 하고, S3 서비스에 적합한 IAM 권한(읽기, 쓰기 권한 등)이 부여되어야 한다.  CRR 유스 케이스- 컴플라이언스- 타 리전에 있는 데이터 액세스 시 대기 시간을 최소화 시켜야 하는 경우- 다른 계정 간 데이터 복제를 수행해야 할 때 등..   2. SRR (Same-Region Replication) - 동일 리전 복제  ..

AWS 2025.02.24

S3를 이용한 정적 웹사이트 호스팅과 버전 관리

# Amazon S3 – Static Website Hosting   Amazon S3로 정적 웹사이트를 호스팅할 수 있고, 사이트는 인터넷 상에서 접근 가능하다.  S3 버킷에 파일(HTML 파일, 이미지 파일 등)을 담고, 웹사이트를 호스팅하는 것과 같이 만들면 아래 예시와 같이, 리전에 따라 조금씩 차이가 있는 url이 만들어진다.  http://bucket-name.s3-website-aws-region.amazonaws.comhttp://bucket-name.s3-website.aws-region.amazonaws.com  사용자들이 S3 버킷에 접근할 수 있도록 S3 버킷에 퍼블릭 읽기가 활성화 되어야 하며,읽기가 활성화 되어 있는 데도 403 Forbidden error가 뜨는 경우는 버킷이..

AWS 2025.02.23

Amazon S3 보안 - IAM 정책, 버킷 정책, 암호화 키

# S3 Security   1. 사용자 기준에서 Amazon S3 보안IAM 정책: 어떤 API가 어떤 IAM 사용자에 의해 호출될 수 있는지 정의한다. 2. 리소스 기준에서 S3 보안S3 버킷 정책 - 가장 일반적인 S3 보안 적용 방법-> 여러 버킷에 적용되는 규칙을 S3 콘솔에서 설정한다. -> 특정 사용자 혹은 다른 계정의 사용자의 이용을 허용할 수 있다. S3 버킷을 대상으로 교차 계정 액세스가 가능하다.ACL(액세스 컨트롤 리스트): 세밀하게 보안을 관리하는 장치로, 비활성화시킬 수도 있다. 버킷 ACL: 버킷 단위에서 관리하기 위한 ACL로 비활성화 시킬 수 있다.  3. 암호화 키 : 버킷 내의 오브젝트를 암호화 키를 사용하여 암호화하는 방식으로 보안을 지킬 수도 있다.   ✅ IAM 권..

AWS 2025.02.22

Amazon S3를 이용한 데이터 관리: 버킷, 오브젝트, 키의 이해

Amazon S3는 AWS를 구성하는 핵심 요소 중 하나로, 제한없이 스케일할 수 있는 스토리지이다.    # S3 Use cases  - 백업 & 저장소 (파일 등 저장, 디스크 역할)- 재해 복구 (예를 들어, 한 리전이 다운된다면, 다른 리전에서 백업되어 있던 데이터를 옮겨와야 함)- 아카이브 목적- 하이브리드 클라우드 스토리지: 온프레미스 스토리지를 클라우드로 확장하고 싶을 때 S3 사용 가능- 애플리케이션, 미디어(비디오 파일, 이미지 등) 호스팅- 데이터 레이크(Data lakes) - 빅데이터 분석을 위해 큰 용량의 데이터를 저장- 소프트웨어 업데이트- 스태틱 웹사이트(정적 웹사이트) 호스팅     # Amazon S3 - Buckets  S3는 파일을 버킷에 저장하며, S3 버킷에 저장되는..

AWS 2025.02.21

오토 스케일링 그룹(ASG)의 스케일링 전략

클라우드 환경에서 오토 스케일링 그룹(ASG)의 다양한 스케일링 전략을 활용할 수 있습니다.  특히, 동적 스케일링의 세부 전략인 단순/단계 스케일링, 대상 추적 스케일링, 예약 스케일링, 예측 스케일링 등을 통해 리소스 관리를 자동화하며 작업 효율성을 극대화할 수 있는데요.  클라우드 환경에서의 스케일링 전략을 이해하여, 적절한 전략을 활용해봅시다!  1. Manual Scaling (수동 스케일링)     - ASG크기를 수동으로 업데이트      ex) 용량을 1 에서 2로 변경, 용량을 2에서 1로 변경  2. Dynamic Scaling (동적 스케일링)    - 스케일링 전략을 정의해서 변경사항을 자동으로 대응  2-1. Simple / Step Scaling (단순 / 단계 스케일링)    ..

AWS 2025.02.20

클라우드에서의 탄력적인 서버 관리 - ASG와 로드 밸런서를 활용한 자동 확장 및 트래픽 분산

로드 밸런서를 사용하면 애플리케이션의 로드를 분산할 수 있다. 그럼 로드가 분산될 서버가 백엔드에서 자동으로 만들어지는건 어떻게 가능한걸까?   # Auto Scaling Group   오토 스케일링 그룹(ASG)이 그 역할을 한다. 현실 세계에서 웹사이트 로드는 시간에 따라 차이가 있다. 예를 들어 오프라인 쇼핑몰에 낮에는 사람이 많고, 밤에는 비어있는 것처럼 말이다.  클라우드에서는 매우 빠르게 서버를 만들고 없앨 수 있고, 오토 스케일링 그룹이 이 역할을 한다. 다시 말해, 로드가 증가하는 만큼 그에 맞게 EC2 인스턴스를 추가하고, 로드가 감소하면 EC2 인스턴스를 줄인다. 덕분에 어느 시점에서든 실행되는 머신의 숫자를 최대/최소로 보장한다.     오토 스케일링 그룹이 EC2 인스턴스를 추가하거..

AWS 2025.02.19