본문 바로가기
관리자

Lambda

(6)
Cloud Front, Lambda Edge, 배포 방식 배경 이미지, 영상 등을 처리하는 Lambda 함수를 사용하면서 Lambda@Edge도 함께 처리했다. Lambda@Edge(이하 엣지)는 Cloud Front(CF) 뒤에 있으면서 전 세계 글로벌 엣지 위치에 실제 물리적 리소스가 존재하여 네트워크 홉에 의한 지연 시간을 최소한으로 만들어주는 서비스이다. 또한 CF의 Origin 요청/응답 타이밍에 실행되어 S3 접근 직전/직후를 제어하여 동적인 컨텐츠를 생성하는데 유리하다. ApiGateway, SQS 등 여러 요소들을 사용했으나 이번에는 CF, Edge의 기본 구성과 배포 방식에 대해 정리해놓을려고 한다. ApiGateway게이트웨이로 로 요청이 들어오면 람다가 트리거 될 수 있다. 이를 통해 람다의 함수가 실행되어 s3 등에 저장된 파일에 접근,..
[TIL] AWS Lambda + Event Bridge 처리 w/ 휴가봇, CloudWatch 배경전사 공통 서비스로 람다 함수가 주기적으로 실행되면서 휴가자들의 정보를 업데이트하는 서비스를 인계받았다. 에러가 나서 살펴보니 퇴사자의 Google Cloud Platform(GCP) 계정이 만료되어 해당 계정에서 만들어둔 앱의 token 값이 만료된 것이였다. 사내 공통 계정에 세팅하고 토큰 값 등을 받아서 람다를 업데이트했다. 그 과정 중에 배웠던 점들을 기록한다. 람다람다는 필요할 때만 스크립트 코드 등 내가 원하는 기능을 작동 시킬 수 있다. 서버처럼 항상 유지될 필요가 없고, 사용 시에만 작동하므로 비용도 매우 저렴하다. 노드나 파이썬 등으로 작성 가능하다. 소스 코드를 볼 수 있고, 업로드할 수 있다. 그냥 로컬에서 .zip 파일 형태로 업로드할 때는 용량 제한이 10 MB까지이다. S3 ..
업무에 바로쓰는 aws입문: 2. CloudFront, DynamoDB, API Gateway, CodeCommit, CodeDeploy 7. CloudFront CloudFront의 개념과 특징 CloudFront는 S3 버킷의 파일을 이용하여 정적이거나 동적인 웹사이트를 운영하는데 사용되는 콘텐츠 전송 네트워크(Content Delivery Network, CDN) 웹 서비스이다. 앞서 S3만 이용하면 HTML, CSS 등을 기반으로 정적 웹사이트를 운영할 수 있다고 배웠으나, CloudFront를 사용하면 동적인 웹사이트 호스팅도 가능해진다. 또한 여기서 CDN은 보통 웹 페이지에 대한 요청을 분산 처리해주는 분산 네트워크 시스템(Distributed Network System)을 뜻한다. 오리진(Origin): 최초로 웹사이트가 호스팅 되는 곳 엣지 로케이션(Edge Location): 오리진에서 웹사이트의 데이터를 받아서 컨텐츠의..
업무에 바로쓰는 aws입문: 1. IAM, EC2, RDS, S3, CloudWatch, Lambda 1. Iam(Identity and Access Management) IAM은 다른 기능과 달리 지역(AWS 리전)별로 적용되는 것이 아니라 유니버셜하다 사용자의 액세스 유형은 2개이다 프로그래밍 방식 액세스 AWS management console access 사용자의 액세스, 비밀키 관리 각 사용자를 생성하면 제공되는 액세스키와 비밀키는 생성 시점에만 확인이 가능하다. 따라서 따로 보관하고 유출되지 않도록 관리해야한다. 루트 사용자에 대한 액세스키는 생성하지 않는 것을 권장한다. 그리고 보안 액세스 키를 잊어버린 경우, 삭제하고 다시 만들어야한다. (https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/id_credentials_access-keys.htm..
[TIL] AWS Lambda, CloudFormation, Gateway 람다 서비스 구조 AWS Lambda로 AWS에서 Function Resource를 만들어서 하나의 서비스를 처리하도록 만들 수 있다. 작은 서버와도 같아서, 기존 서비스와는 별개로 요청을 받고, 어떤 작업을 처리하고 응답을 내보낼 수 있는 구조이다. 람다는 내부 용량 제한이 있는데, 만약 이 용량 제한이 512MB라면 작업을 처리하기 위한 모든 파일을 포함하기에는 부족하다. 서버를 띄우기 위한 일부 코드와 파이썬 프로그램 등만 포함해도 512MB를 초과할 수 있다. 따라서 람다에 필요한 라이브러리 등의 코드들은 직접 포함하지 못하고 Layer라는 참조 정보만 포함하게 된다(단순하게 표현하자면 특정 라이브러리를 다운로드 받을 수 있는 URL). 실제 람다 실행 시에 Layer 정보를 참조로하여 다른 라이..
파이썬 기본 - 3. 조건문, 제어문, 함수 1. 조건문 기본적인 조건문은 다른 언어와 같다. 다만 파이썬은 기본적인 조건문 뒤에 콜론(:)을 작성하여 조건문을 구분한다. 그리고 파이썬의 특성상 들여쓰기를 주의해서 작성해줘야한다. money = True if money: print("택시를 탄다") else: print("걸어 간다") in 조건문 중, 집합에 원소가 포함되어있는지 여부를 검사하는 것은 in 절을 통해서 실행한다. 자바에서의 contains와 동일한 로직이다. 부정은 not in 으로 사용하면 된다. list = [1,2,3] if 1 in list: print("There is One") elif 다른 조건은 else if를 줄인 elif를 사용한다. money = 1000 if money < 1000: print("걸어간다") ..