반응형

Infra 15

S3, CloudFront, Lambda@Edge를 이용한 이미지 리사이즈(6) - 리사이징 로직 작성 및 테스트

목차 이 게시글은 시리즈물입니다! 아래 목차를 먼저 확인해주세요 1. Lambda@Edge란? 2. S3, CloudFront 셋팅 3. CloudFront 쿼리스트링 캐시 셋팅 4. IAM 역할 생성 5. Lambda@Edge 배포 셋팅 및 로그 확인 6. 리사이징 로직 작성 및 테스트 람다 로컬에서 실행하기 serverless framework를 이용하면 람다를 로컬에서 실행할 수 있는데, 함수에 전달되는 event 객체가 비어있는 상태에서 실행되어 에러가 발생합니다. 서버리스의 --path 옵션을 이용하여 로컬의 json파일을 읽어 event 객체에 데이터를 넣어줍시다. 1. 이전 게시글에서 확인한 로그데이터에서 event객체를 그대로 복사하여 OriginResponseEvent.json 파일로 만..

Infra 2023.05.29

S3, CloudFront, Lambda@Edge를 이용한 이미지 리사이즈(5) - Lambda@Edge 배포 셋팅 및 로그 확인

목차 이 게시글은 시리즈물입니다! 아래 목차를 먼저 확인해주세요 1. Lambda@Edge란? 2. S3, CloudFront 셋팅 3. CloudFront 쿼리스트링 캐시 셋팅 4. IAM 역할 생성 5. Lambda@Edge 배포 셋팅 및 로그 확인 6. 리사이징 로직 작성 및 테스트 프로젝트 셋팅 serverless framework를 사용하여 람다를 배포할 예정입니다. 이미 존재하는 S3와 CloudFront에 Lambda@Edge를 연결하므로 serverless-lambda-edge-pre-existing-cloudfront 플러그인을 사용합니다. Serverless Framework: Plugins The Serverless Framework Plugin Registry. Search thou..

Infra 2023.05.28

S3, CloudFront, Lambda@Edge를 이용한 이미지 리사이즈(4) - IAM 역할 생성

목차 이 게시글은 시리즈물입니다! 아래 목차를 먼저 확인해주세요 1. Lambda@Edge란? 2. S3, CloudFront 셋팅 3. CloudFront 쿼리스트링 캐시 셋팅 4. IAM 역할 생성 5. Lambda@Edge 배포 셋팅 및 로그 확인 6. 리사이징 로직 작성 및 테스트 역할 생성 1단계 : 신뢰할 수 있는 엔터티 선택 신뢰할 수 있는 엔터티 유형 : AWS형 서비스 사용 사례 : Lambda 2단계 : 권한 추가 AWSLambdaExecute를 검색하고 선택한다 AWSLambdaExecute는 클라우드워치와 S3를 읽어올 수 있는 권한입니다. 3단계 : 이름 지정, 검토 및 생성 Lambda@Edge가 수행될 수 있도록 신뢰관계 정책 편집 https://docs.aws.amazon.c..

Infra 2023.05.28

S3, CloudFront, Lambda@Edge를 이용한 이미지 리사이즈(3) - CloudFront 쿼리스트링 캐시 셋팅

목차 이 게시글은 시리즈물입니다! 아래 목차를 먼저 확인해주세요 1. Lambda@Edge란? 2. S3, CloudFront 셋팅 3. CloudFront 쿼리스트링 캐시 셋팅 4. IAM 역할 생성 5. Lambda@Edge 배포 셋팅 및 로그 확인 6. 리사이징 로직 작성 및 테스트 CloudFront 캐시 정책 생성 이름 : cache-policy-lambda-edge-image-resize 캐시 키 설정 > 쿼리문자열 : 모두 나머지는 기본값으로 두고 생성 CloudFront 원본 요청 정책 생성 이름 : origin-request-policy-lambda-edge-image-resize 원본 요청 설정 > 쿼리 문자열 : 모두 나머지는 기본값으로 두고 생성 CloudFront 동작 편집 1. ..

Infra 2023.05.28

S3, CloudFront, Lambda@Edge를 이용한 이미지 리사이즈(2) - S3, CloudFront 셋팅

목차 이 게시글은 시리즈물입니다! 아래 목차를 먼저 확인해주세요 1. Lambda@Edge란? 2. S3, CloudFront 셋팅 3. CloudFront 쿼리스트링 캐시 셋팅 4. IAM 역할 생성 5. Lambda@Edge 배포 셋팅 및 로그 확인 6. 리사이징 로직 작성 및 테스트 S3 버킷생성 이름 : s3-lambda-edge-image-resize 모두 기본값으로 설정하고 버킷을 생성합니다 CloudFront 생성 보안 > 원본액세스 > 제어 설정 생성 이름 : s3-lambda-edge-image-resize 나머지 기본값으로 두고 생성 배포 생성 원본 원본 도메인 선택 : 위에서 만든 S3선택 (s3-lambda-edge-image-resize.s3.ap-northeast-2.amazon..

Infra 2023.05.28

S3, CloudFront, Lambda@Edge를 이용한 이미지 리사이즈(1) - Lambda@Edge란?

목차 회사 서비스에 도입하기 위해 서치하고 정리했던 내용 올려봅니다 기나긴 삽질의 기록들... Lambda@Edge는 뭔가요? Lambda@Edge는 AWS CloudFront의 기능 중 하나로, CloudFront의 다양한 이벤트에서 실행될 수 있는 람다입니다. AWS CloudFront는 Edge Location(데이터 센터의 전 세계 네트워크)를 통해 콘텐츠를 제공하는데, Lambda는 Region별로 생성할 수 있게 되어있습니다. 그렇다면 전 세계 Region에 똑같은 Lambda를 만들어주어야할까요? 이럴 때 사용하는 것이 Lambda@Edge입니다. 버지니아 리전(us-east-1)에 Lambda@Edge를 만들어두면 AWS가 알아서 해당 람다를 Edge Location으로 복제해줍니다. 따라..

Infra 2023.05.28

AWS Lambda | 람다란? 동작방법, DB 커넥션, InvocationType, Serverless

목차 Lambda(람다)란? 람다는 아마존 웹서비스에서 제공하는 서버리스 컴퓨팅 서비스이다. * 서버리스란? 별도의 서버 셋팅없이 바로 코드를 실행할 수 있는 환경을 말한다. 따라서 서버를 계속 띄우기 보다, API를 호출할때만 서버를 동작하게 하고싶을 때 람다를 사용하면 유용하다! 람다는 어떻게 동작할까? - 람다가 실행시킬 수 있는 코드용량은 250MB 이다. - 함수 실행시간은 최대 15분 - 하나의 람다함수는 하나의 실행환경(컨테이너)에서 실행된다. - 람다는 함수가 호출될때 새로운 컨테이너를 띄워 처리한다. -> 가볍게 확장이 가능하다. -> Stateless. = 별도의 상태를 저장하지 않는다. = DB Connection등을 유지할 수 없다. (개념적으로는 그렇다.. Warm Start경우엔..

Infra 2022.09.18

AWS S3 SFTP로 접속하기

목차 평소 구글원 2TB를 12만원에 구독하고 160GB만 사용했던 나... 200GB 용량 요금제가 있다는 사실에 거품을 물었고... 이참에 클라우드 정리를 한번 하고있는데 아마존 S3에 저장하면 요금도 많이 안나온다고해서! 테스트겸으로 한번 시도해봤다 AWS S3 버킷 생성 이름 입력하고 기본셋팅대로 생성하면된다 SSH 키 생성 puTTYgen을 실행해서 키를 생성한다 (키 생성 시 마우스를 움직여야한다!) public key와 private key를 저장한다. AWS IAM 역할 생성 엔티티 유형 : AWS 서비스, Transfer를 선택한다. 역할은 AmazonS3FullAcess 선택 AWS Transfer Family 서버 생성 프로토콜 : SFTP 선택 나머지는 기본값으로 두고 생성 AWS ..

Infra 2022.06.01

CircleCI로 SpringBoot+Postgresql 프로젝트 빌드 배포하기(3)

CircleCI로 SpringBoot+Postgresql 프로젝트 빌드 배포하기(1) 빌드 배포 흐름 사전준비 AWS IAM 역할(Role) 설정 EC2CodeDeployRole 생성 CodeDeployRole 생성 AWS EC2 IAM 역할 수정 AWS IAM 사용자 추가 CircleCI로 SpringBoot+Postgresql 프로젝트 빌드 배포하기(2) AWS S3 버킷 생성 AWS CodeDeploy 생성 AWS EC2 접속하여 CodeDeploy Agent 설치 AWS EC2 Postgresql 설치 CircleCI로 SpringBoot+Postgresql 프로젝트 빌드 배포하기(3) 소스코드 수정 .circleci > config.yml파일 프로젝트폴더 > appspec.yml 프로젝트폴더 >..

Infra 2022.03.18

CircleCI로 SpringBoot+Postgresql 프로젝트 빌드 배포하기(2)

CircleCI로 SpringBoot+Postgresql 프로젝트 빌드 배포하기(1) 빌드 배포 흐름 사전준비 AWS IAM 역할(Role) 설정 EC2CodeDeployRole 생성 CodeDeployRole 생성 AWS EC2 IAM 역할 수정 AWS IAM 사용자 추가 CircleCI로 SpringBoot+Postgresql 프로젝트 빌드 배포하기(2) AWS S3 버킷 생성 AWS CodeDeploy 생성 AWS EC2 접속하여 CodeDeploy Agent 설치 AWS EC2 Postgresql 설치 CircleCI로 SpringBoot+Postgresql 프로젝트 빌드 배포하기(3) 소스코드 수정 .circleci > config.yml파일 프로젝트폴더 > appspec.yml 프로젝트폴더 >..

Infra 2022.03.18
반응형