DevOps
[ DevOps ] - (API 게이트웨이) Lambda와 HTTP API Gateway 연결
우선 이번시간에는 API게이트웨이와 Lambda의 연결을 간단히 구축해 보도록 하겠습니다. 이를 위해서 AWS Lambda의 코드를 위와 같이 변경해 줍니다. statusCode와 body를 json으로 반환하게 했습니다. 그 다음에는 바로 API게이트 웨이를 생성하도록 하겠습니다. 먼저 GET -> / 의 경로를 하나 만들고 이에 대한 통합 연결을 설정해 줍니다. 이에 대한 통합 유형은 우선 Lambda함수로 지정해 줍니다. 그리고 우리가 이전에 만든 firstlambda와 연결해 주는 과정을 거칩니다. 그럼 우리가 만든 firstgateway에 우리가 만든 경로가 잘 부착된 것을 보실 수 있습니다. 그리고 gateway의 url로 들어가게 되면 위에서 기본적으로 lambda에서 작성된 결과가 잘 출력..
[ DevOps ] - (API 게이트웨이) Lambda 함수 생성 및 모니터링
람다 실습 여기에서는 이름과 런타임을 선택할 수 있습니다. 런타임은 이전에도 말했지만 컨테이너를 구축하는데 필요한 환경입니다. 이 환경을 구축하기 위해 평균 0.8초 정도 걸린다고 했습니다. 그리고 코드로 들어가서 실행할 함수를 작성해야 합니다. 함수의 이름은 lambda_handler이고 인자로는 event, context가 오는 것은 하나의 규칙입니다. 따라서 이에 맞춰서 간단한 함수를 작성해 보았습니다. 그리고 이 함수를 실행시키기 위해서 하는 방법 중 가장 흔한 방법은, 트리거를 설정해 주는 것입니다. Apache Kafka, API 게이트웨이, S3, Dynamo DB등을 활용할 수 있는데, 이는 다음에 하고 지금은 Cloud console에서 이를 실행해 보도록 하겠습니다. 이를 실행하기에 앞..
[ DevOps ] - (API 게이트웨이) API게이트웨이의 구성 요소들
CORS CORS는 이전에도 많이 했으므로 그냥 넘어가도록 하겠습니다. Canary 배포 만약 내가 배포를 하고 싶다고 해 봅시다. 그런데, 개발자 입장에서는 완벽히 버그를 수정했다고 생각했는데, 자신이 없는 경우가 있을 수 이습니다. Canary배포를 하게되면, 만약 100명의 유저가 들어오게 된다면, 90명의 유저에게는 업데이트 전의 API를 호출시키게 하고, 10명의 유저에게는 업데이트 후의 API를 호출시키게 합니다. 이런식으로 10% ~ 1%유저에게만 이를 노출하고 로그를 확인함으로써 조금더 API를 수정하는 것이 Canary배포의 기본적인 개념이라고 할 수 있습니다. 따라서 Canary트래픽을 적은 수준으로 유지하고 선택이 임의로 이루어지면 대부분의 사용자는 새 버전의 잠재적인 버그의 영향을 ..
[ DevOps ] - (API 게이트웨이) API 게이트웨이란
AWS API 게이트웨이 AWS API게이트 웨이에 대해 먼저 짚고 넘어갈 필요가 있습니다. 기존에는 다음과 같이 MSA에서도 request모듈을 활용해서 요청을 보냈습니다. 하지만 API게이트 웨이는 이를 조금더 사용하기 편리하게 하려고, 이 사이에 꼽힙니다. 만약에 gate/b가 gate/a에 포함되어 지어야 한다고 상황을 가정해 봅시다. 그러면 다시 request.get('~~~')이 안의 url들을 싹다 바꾸어 주어야 했습니다. 하지만 이런 경우에서는 API게이트 웨이의 매핑되는 url만 살짝 바꾸어 주면 됩니다. 이 외에도 요청하는 호스트의 도메인을 차단해서 보안을 유지할 수도 있습니다. 이가 가능한 이유는 모든 REST API는 이 API 게이트웨이를 거쳐서 진행되기 때문입니다. 그래서 관리가..