본문 바로가기

반응형

AWS Lambda ƛ/Lambda

(9)
Lambda@Edge # Lambda@Edge 구성하기 1. 생성 - 버지니아 북부 리전에서 Lambda를 생성한다. 배포는 아래와 같이 작업 버튼을 클릭하여 배포가 가능하다. 배포를 클릭하면 아래와 같이 CloudFront의 단일 배포로 이루어 진다. - 생성을 하면 생성이 안된다. 권한을 부여해 줘야 한다. 아래의 커스텀 역할을 생성한다. { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "edgelambda.amazonaws.com", "lambda.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] } 여기서 위의 역할을 나는 edge_role_test라고 생성을 하였..
AWS Lambda & API Gateway & Route53 사용하기 # AWS Lambda & API Gateway & Route53을 활용한 서비스 1. ACM 에서 퍼블릭 인증서를 요청한다. - 완전히 정규화된 도메인 이름을 입력 - DNS 검증 - 권장 선택 2. 해당 인증서로 들어가서 아래와 같이 Route53에서 레코드 생성을 클릭 - 레코드 생성 버튼을 클릭하여 생성 한다. - 아래와 같이 생성되면 정상이다. 3. Lambda를 생성한다. - 기본 헬로우 월드를 출력하는 함수를 생성한다. - 코드는 기본코드 이다. exports.handler = async (event) => { // TODO implement const response = { statusCode: 200, body: JSON.stringify('람다 테스트 !!'), }; return res..
Lambda@Edge란? # Lambda@Edge란? 간단 정리 Lambda@Edge : 사용자에게 가장 가까운 위치에서 호출 (그래서 버지니아 북부 리전) 로그인 및 세션체크 등 빠르게 뭔가를 사용자가 응답 받아야 할 경우, Lambda@Edge 서비스를 통해 빠른 Request & Response 구현이 가능하다. AWS 의 설명은 아래와 같다. Lambda@Edge는 Amazon CloudFront의 기능 중 하나로서 애플리케이션의 사용자에게 더 가까운 위치에서 코드를 실행하여 성능을 개선하고 지연 시간을 단축할 수 있게 해 줍니다. Lambda@Edge를 사용하면 전 세계 여러 위치에 있는 인프라를 프로비저닝하거나 관리하지 않아도 됩니다. 사용한 컴퓨팅 시간만큼만 비용을 지불하고, 코드가 실행되지 않을 때는 요금이 부과되..
Lambda Handler란? # Lambda Handler란? 간단 정리 Lambda 함수 호출시 Lambda는 핸들러 메서드를 실행한다. 그리고 당연한 이야기지만 하나의 람다에는 하나의 핸들러만 존재한다. (main 메소드?, 진입점 이라고 이해라면 되려나?...) 아래의 # 예제 코드 1에서 보면 3개의 파라미터(인수가 존재한다.) event: 첫 번째 인수는 호출자로부터의 정보가 포함된 event 객체. 이 정보는 함수를 호출할 때 호출자가 JSON 형식 문자열로 전달하고, 런타임은 이 정보를 객체로 변환한다. context: 두 번째 인수는 컨텍스트 객체이며, 호출, 함수 및 실행 환경에 대한 정보가 포함되어 있다. callback: 세 번째 인수는 callback이다. 비동기 응답을 전송하기 위해 필요하며, 위 코드와 같이..
AWS Lambda에 API Gateway를 연결하여 간단한 웹 서버 만들기 Lambda란 무엇인가? # AWS Lambda를 사용하면 별도의 프로그램을 설치할 필요 없이 바로 사용이 가능하다는 장점이 있다. 손쉽게 서버를 구축하여 데이터를 입력으로 받고 처리하고 전달하는 기능을 수행한다. 별도의 서버나 인프라 환경을 항상 구비해두고 실행 시킬 필요 없이 필요할 때에만 실행 시켜 연산을 수행하고, 수행이 필요 없을때에는 리소스 자원을 내려놓는 역할을 하는게 AWS Lambda의 역할이다. 한마디로 AWS 람다는 함수라고 생각하는게 편하다. 여기서 함수를 작성해서 자동으로 동작하도록 한다 라는 의미로 생각하면 쉽다. 그리고 작성한 함수를 언제 동작시킬지에 대한 조건도 정할 수 있다. 특정 이벤트가 발생했을때 우리가 작성한 AWS Lambda 함수가 동작하도록 설정할 수 있고, 코드..
AWS API Gateway - RESTful API 생성하기 with Lambda # AWS API Gateway RESTful 관련 구성도 (현재는 9번까지 작성함) # RESTful API 란? REST API(RESTful API, 레스트풀 API)란 REST 아키텍처의 제약 조건을 준수하는 애플리케이션 프로그래밍 인터페이스이다. REST는 웹의 창시자(HTTP) 중의 한 사람인 Roy Fielding의 2000년 논문에 의해서 소개되었다. 현재의 아키텍쳐가 웹의 본래 설계의 우수성을 많이 사용하지 못하고 있다고 판단했기 때문에, 웹의 장점을 최대한 활용할 수 있는 네트워크 기반의 아키텍쳐를 소개했는데 그것이 바로 Representational safe transfer (REST)이다. # AWS의 API Gateway 서비스를 활용하여 RESTful API를 생성해 보자. # ..
AWS Lambda에서 특정 문장을 출력하기 # AWS Lambda에서 특정 문장를 출력하는 함수를 생성해보자. 1. 일단 Lambda 서비스로 이동하고, 함수 생성을 클릭하여 함수를 생성합니다. 2. 함수 생성 시 옵션에 새로운 함수 생성과 블루프린트 사용 등 다양한 옵션이 있습니다. - 새로 작성은 백지에서 새로운 함수를 작성하고 실행하는 개념으로 이해가 가능하고, 블루프린트 사용은 다른 누군가가 만들어 놓은 함수를 가져다가 사용할 수 있는 옵션이라고 볼 수 있습니다. - 새로 작성을 선택하고 다음으로 넘어갑니다. 3. 함수명과 런타임 할 언어를 선택 후 함수 생성을 클릭하여 생성을 합니다. 4. 함수가 정상적으로 생성이 되면 아래와 같은 화면으로 출력이 됩니다. 테스트를 하면 코드를 실행 후 결괏값을 반환합니다. 람다 함수를 Lambda fu..
람다란? 람다란? 람다는 기본적으로 이벤트 드라이븐 방식으로 동작합니다. API 게이트웨이API Gateway와 엘라스틱 로드 밸런서Elastic Load Balancer의 HTTP 요청을 처리할 수 있으며, S3 객체, 다이나모DB DynamoDB, 키네시스 Kinesis 등에서 발생하는 이벤트를 트리거로 실행하는 것도 가능합니다. AWS 람다는 컨테이너를 지원하지 않지만, AWS에서는 람다와 별개로 컨테이너 기반의 서비리스 서비스 AWS 파게이트AWS Fargate를 제공하고 있습니다. AWS 람다와 유사한 컴퓨팅 서비스로는 마이크로소프트 애저 Microsoft Azure의 애저 펑션Azure Functions, 구글 클라우드 플랫폼Google Cloud Platform의 클라우드 펑션Cloud Functio..

728x90
반응형