일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 지연로딩
- fetch
- 유니크제약조건
- 스토어드 프로시저
- shared lock
- 다대다
- 스프링 폼
- exclusive lock
- PS
- JPQL
- 이진탐색
- querydsl
- 동적sql
- 일대다
- FetchType
- 연결리스트
- 백트래킹
- 연관관계
- 즉시로딩
- eager
- dfs
- SQL프로그래밍
- 힙
- 낙관적락
- BOJ
- CHECK OPTION
- execute
- 데코레이터
- 비관적락
- 다대일
- Today
- Total
목록AWS (67)
흰 스타렉스에서 내가 내리지
query string 으로 숫자가 넘어오면, 여기서 2를 곱해 응답해 주는 간단한 서버를 만들었다. value 라는 query string 이 넘어오지 않으면 Invalid input 을 응답하도록 했다. 그리고 이를 CloudFront 에 연결하였다. 바로 요청해보자.??왜일까?Invalid input 이 떴다는 것은 query string 이 서버에 전달되지 않았다는 것을 뜻한다.그렇다. 역시나 query string 이 서버까지 도달하지 않았다. 그럼 CloudFront 에서 quert string 을 버리고 서버에 요청을 한 것인가?정답이다. CloudFront 에서는 별도로 Cache Key 로 지정하지 않은 것들은 다 날려버리고 Origin 에 전달한다. 아하! 그럼 이 value 라는 q..
# Origin Access Control (OAC) - S3 Origin 에서의 컨텐츠 보호OAI 와 함께 CloudFront 를 거치지 않은 S3 에의 접근을 방지하기 위한 기능Origin Access Identity(OAI) : 예전 방식, OAC 를 권장OAC 는 일종의 Identity : IAM 사용자 혹은 IAM 역할과 비슷한 Identity즉 S3에서 해당 OAC의 접근을 허용하고 CloudFront 에서 OAC를 활용해서 S3와 소통.S3에서 기본적으로 모든 접근을 차단하고 OAC의 접근만 허용.OAC 는 Lambda Function URL 에도 사용 가능Client 가 직접 접근할 시에는 S3 의 버킷 정책에 의해 차단되나, OAC 는 허용된다. 즉, CloudFront 를 통해서만 버킷..
# Presigned URLs vs Signed URLs1. Presigned URLs제한된 시간 동안 특정 리소스에 접근할 수 있도록 권한을 부여한다. URL에 서명을 포함해 리소스에 대한 읽기/쓰기 권한을 부여하며, 유효 시간이 지나면 URL 이 만료된다. 예 : S3 에서 객체를 제한된 시간 동안 접근하도록 허용하는 URL을 생성한다.2. Signed URLs특정 조건 하에서만 URL에 대한 액세스를 제한한다. 클라이언트가 특정 콘텐츠를 제공받기 위해 URL 요청 시, 요청의 서명 정보를 검증해 조건을 만족할 때만 접근을 허용한다.예 : CloudFront 배포 시 특정 리소스에 대한 접근을 제한하고 싶을 때 사용된다. 특정 IP 주소 범위, 정해진 시간 (9am~5pm), 특정 디바이스, 특정 지..
# 컨텐츠 접근 제한CloudFront 에서 컨텐츠에 대한 접근 제한CloudFront 에 접근하는 주체 별로 다르게 컨텐츠의 접근 제한이 필요한 경우 (1)예: 프리미엄 티어용 영상, 유저 전용 다운로드 이미지 등CloudFront Origin 에 대한 직접 접근 제한CloudFront 를 거치지 않고 직접 Origin 에 접근을 막고 싶은 경우 (2) # CloudFront 에서 컨텐츠 접근 제한CloudFront 에서 컨텐츠 접근 제한예: 프리미엄 티어용 영상, 유저 전용 다운로드 이미지 등2가지 방법Signed URL : 권한 정보가 담긴 임시 URL을 발급하여 뷰어에게 전달하여 컨텐츠를 다운로드할 수 있도록 허용URL 당 하나의 파일만 사용 가능. Signed Cookie : 뷰어가 권한을..
# CloudFront 의 파일 관리CloudFront 에 파일은 크게 두 가지로 관리 싱글 파일 : 파일명을 유지한 채로 캐시 만료 처리, 업데이트 등을 처리별도로 클라이언트 업데이트 필요 없음캐시 만료전 제공 파일을 업데이트 하려면 Invalidation 필요버저닝 : 파일 이름에 다양한 방법으로 버전을 두어서 관리 별도로 Invalidaation 필요 없음파일 업데이트시 클라이언트 업데이트 필요 # 싱글 파일 img.png 파일이 Edge Location 에 캐싱되어 있는 상황이다. 이를 별도의 이미지도 바꾸고 싶다. 제일 먼저 img.png 를 invalidation 처리하거나 자연적으로 만료되기를 기다린다. 캐시가 만료된 상태에서 클라이언트가 컨텐츠 요청을 하면, 만료되었으니 Edge Loca..
# Cache BehaviorCloudFront 의 요청이 어떻게 처리되는지 정의하는 다양한 설정의 모음경로 패턴 단위로 Behavior 구성예 : files/* , files/*.png , */png경로 패턴 목록 중 처음으로 매칭된 패턴의 동작을 적용.신규 생성 시 * 로 고정 주요 구성 내용Origin뷰어 설정Cache Policy, Viewer Response Policy, Lambda@EDGE 연결 # Viewer 설정Viewer 프로토콜CloudFront 에 접근하는 프로토콜HTTP and HTTPSRedirect HTTP to HTTPSHTTPS onlyHTTP MethodGET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE뷰어 액세스를 제한 : Presigned ..
# CloudFront 캐싱 티어CloudFront 의 캐싱은 2티어 요청 순서Edge Location : 캐싱이 있는지 확인Regional Edge Cache : Edge Location 에 캐싱이 없으면 여기에 요청. (Edge Location 들의 캐시)Origin : Regional Edge Cache 에도 없으면 Origin 에 요청 # CloudFront 의 Cache key요청에 따라 어떤 캐시 내용을 보여줄지를 결정하는 정보의 조합각 오브젝트는 고유의 Cache Key 단위로 캐시됨Cache Hit : 뷰어가 특정 Cache Key 로 오브젝트를 요청하였을 때, Edge Location 에서 해당 Cache 오브젝트를 가지고 있어 원본에 요청 과정 없이 제공할 수 있는 상황Origin 의..
# 원본 (Origin)뷰어에게 보여줄 컨텐츠의 원본이 있는 거점.2가지 종류Amazon S3Custon Origin (S3 이외 모든 것.)EC2, ELBOn-premise ResourceGCP, Azure, ...HTTP 로 요청만 할 수 있다면 상관없이 모두를 Origin 으로 사용할 수 있다. ⭐️⭐️⭐️⭐️⭐️⭐️기본 최대 25/Distribution기본적으로 하나의 Distribution은 최대 25개의 origin 을 가질 수 있는데, 원한다면 늘릴 수 있다. Viewer 가 CF 에 요청을 하면, CF 는 컨텐츠를 가져와야 한다.CF가 컨텐츠를 가져올 수 있는 대상은 EC2, S3, ALB 등 AWS 리소스가 될 수도 있고, On-Premise 서버가 될 수 있다.이 중에서도, S3 를 O..
# CDN (Content Delivery Network)웹사이트나 애플리케이션의 콘텐츠 (예: 이미지, 동영상, 웹페이지)를 사용자에게 빠르고 효율적으로 전달하기 위한 네트워크 시스템이다.전 세계 여러 곳에 분산된 서버들이 함께 작동하여, 사용자가 가까운 서버로부터 콘텐츠를 받을 수 있게 도와준다. 이로 인해 로딩 시간이 줄어들고, 트래픽이 분산되어 서버 과부하를 막아 안정적인 서비스가 가능하다. # Amazon CloudFrontAmazon CloudFront 는 개발자 친화적 환경에서 짧은 지연 시간과 빠른 전송 속도로 데이터, 동영상, 애플리케이션 및 API를 전 세계 고개들에게 안전하게 전송하는 고속 콘텐츠 전송 네트워크(CDN) 서비스이다. AWS 에서 제공하는 Content Delivery..
# 개요AWS CDK 를 사용하면 복잡한 인프라를 간결하게 코드로 관리할 수 있으며, 이 과정에서 인프라가 코드로서 재사용 가능하고 확장성 있게 관리된다. AWS 공식 튜토리얼 : https://docs.aws.amazon.com/ko_kr/cdk/v2/guide/serverless_example.html 1. 먼저, AWS CDK 프로젝트를 Python 으로 초기화한다. mkdir s3-cdk-project && cd s3-cdk-projectcdk init app --language python * 위 명령어는 빈 디렉터리에서 실행하여야 한다. 비어있지 않은 디렉터리에서 `cdk init` 명령어를 사용하였다면 에러가 발생한다. 위 명령어를 실행하면 AWS CDK 프로젝트가 초기화되며, Pyth..