참고 : API Gateway + lambda로 REST API 만들기(GET) 참고 : API Gateway + lambda로 REST API 만들기(POST) REST API(POST)를 만든 lambda 함수에서 다른 lambda 함수를 호출해 post로 온 값을 보내고, 그 lambda 함수에 pymysql 모듈을 import해서 데이터베이스에 요청 값을 넣어봅시다. lambda 함수에서 lambda 함수 호출 GET, POST 요청 글을 참고해서 람다함수 test2를 만든다. 기존에 쓰던 test 람다함수에서 test2 람다함수를 호출하기위해서 test 람다함수의 추가적인 권한이 필요하다. 이 포스팅에 IAM 역할에서 Lambda_Fullaccess 권한을 가진 역할을 만들어서 처음 람다함수 만..
AWS API Gateway에 API키 등록하기 만든 API에 아무나 접근을 하지 못하도록 키 값을 넣어 암호화 할 수 있다. post요청글에서 만든 REST API에 API키를 등록해보자. 메서드 실행의 설정쪽에서 API 키가 필요함을 True로 바꿔준다. 다음으로 API키를 만들고, 사용량 계획과 연결하는 형태이다. API키, 사용량 계획을 만들어야한다. 먼저 API키를 하나 생성하자. 사용량 계획을 만든다. 만들면서 API를 배포했을 때 스테이지를 연결하고, API 키도 연결한다. 그리고 API를 다시 배포해준다. 키 값을 확인하고, postman으로 post요청을 테스트해보자(post글 참고). 키 값을 적지 않고 그냥 요청했을 때는 message forbidden이 뜨고, 값을 확인 할 수 없다..
AWS API Gateway, Lambda로 post 요청 만들기(REST API) get 요청 만드는 포스팅을 참고해서 API Gateway와 Lambda를 만든다. lambda 함수 import json def lambda_handler(event, context): """post 요청으로 들어온 값들이 body-json으로 묵여 있고, 전체를 body 변수에 저장(통합요청에 매핑 템플릿을 보면 body-json이 있음)""" body = event['body-json'] # TODO implement return { 'success': True, 'data': { # 거기서 star를 가지고옴 'star': body['star'] } } 통합 요청 → 매핑 템플릿 통합 요청에서 매핑 템플릿을 위에 ..
API Gateway, AWS Lambda REST API GET 요청 만들기(2가지) AWS API Gateway, Lambda를 사용해서 GET 요청을 Lambda 함수 내부로 가져오는 예제를 해보자. GET 방식에서 파라미터를 넘길 때는 파라미터가 끝에 쿼리 스트링으로 있는 경우와 url 중간에 존재하는 경우 크게 2가지로 나눌 수 있다. /cafes?latitude=x&longitude=x 카페의 위도, 경도를 쿼리 스트링으로 넘겨줌 /cafes/123142/reviews 숫자는 ID → cafe ID에 따라 까페의 리뷰들을 요청 url 맨끝에 쿼리 스트링으로 넘겨주는 경우 API Gateway 서비스로가서 API 생성 → REST API(프라이빗 x)로 간 뒤에 위에 화면처름 이름, 유형등을 적..
API Gateway Amazon API Gateway Amazon API Gateway는 사용자가 쉽게 API를 생성, 게시, 관리, 모니터링, 보안까지 관리가 가능한 완전관리형 서비스이다. Amazon API Gateway는 트래픽 관리, CORS 지원, 권한 부여 및 액세스 제어, 제한 모니터링 및 API 버전 관리 등 최대 수십만 개의 동시 API 호출을 수신 및 처리하는 데 관계된 모든 작업을 처리한다. 선택 옵션으로는 REST API, WebSocket API, HTTP API가 있다. REST API REST는 'Representational State Transfer'의 약자이다. (대표적인 상태 전달) REST API 특징 클라이언트/서버 REST 서버는 API를 제공하고 이를 클라이언트..
권한관리 AWS IAM IAM(AWS Identity and Access Management)은 AWS의 권한을 관리하는 서비스. 처음 AWS에 계정을 이메일로 생성하면 모든 서비스에 접근할 수 있는 SSO(Single Sign-ON) ID가 생성되고 이를 루트 권한이라고 한다. 사내에서 AWS를 이용하고자 하는 경우에 각자의 부서/팀별로 계정을 생성하여 부여한다. 이때 IAM을 이용하여 필요한 권한을 세분화하여 Role을 부여함으로써 불필요한 접근을 막을 수 있다. IAM에서는 AWS 계정 인증에 MFA(Multi Factor Authentication)를 지원한다. 여기서 펙터란 사용자의 신원을 확인하는 방법에 따라서 지식 기반, 소유 기반, 속성 기반의 인증으로 총 3가지 방법으로 나누어 지는데, ..
서버리스 Cloud Native Patterns Legacy : 인프라부터 애플리케이션까지 구축 IaaS : 하드웨어와 가상화 OS 등 인프라 요소를 서비스로 제공(EC2) Caas : 서비스 형태로 제공되는 컨테이너를 호라용하여 배포(ECS) Paas : 애플리케이션 개발에 집중할 수 있도록 인프라와 런타임 환경을 제공(Elastic Beanstalk) FaaS : 실행할 함수코드만 구현(Lambda) Saas : 제공되는 소프트웨어 사용(Gmail) 서버리스의 형태 Baas(Backend as a Service) Faas(Function as a Service) Baas는 그동안 개발자가 직접 구현하던 백엔드의 부분부분을 서비스로 제공받는 것(Auth0, AWS Cognito, Firebase). F..