안녕하세요. 이번 시간에는 이전 포스팅에 이어서 KMS와 Secret Manager를 이용해서 API 키를 저장하는 실습을 진행하겠습니다. AWS Access Key를 암호화하지 않고 퍼블릭한 환경에 노출하는 것은 좋은 아이디어가 아닙니다. AWS에서는 이런 Key 들을 암호화하여 저장할 수 있도록 KMS와 Secret Manager라는 서비스를 제공하고 있습니다. 1. AWS KMS(Key Management Service)와 Secret Manager AWS Secrets Manager는 암호를 암호화 및 저장하고 투명하게 해독한 다음 일반 텍스트로 반환하는 AWS 서비스입니다. 이 서비스는 애플리케이션에서 일반 텍스트로 저장되거나 하드 코딩되지 않아야 하며 정기적 변경되는 로그인 자격 증명과 같은 ..
안녕하세요 이번 시간에는 Slack API 요청 시 AWS Lambda 단에서 Timeout 걸릴 때 해결하는 방법을 간단하게 포스팅하려고 합니다. 1. 문제점 Lambda CloudWatch Logs를 확인해 보면 3초 이상 걸리는 로직이나 쿼리에 대해 다음과 같이 Lambda Timeout 에러가 발생하는 것을 확인할 수 있습니다. 이 경우 기본적으로 2가지 해결 방법을 제안해 볼 수 있습니다. 현재 Slack API를 사용하는 챗봇 서비스의 구성도를 보면 Slack으로 메세지를 던지면 API Gateway를 통해 Lambda에 이벤트가 발생하는데 Lambda에서는 이벤트의 본문이 Base64 형태로 인코딩 되어 출력됩니다. 이때 코드에서 로직을 처리하고 사용자에게 다시 반환하는 시간이 기본 값인 3..
안녕하세요 이번 시간에는 AWS Lambda에서 Slack 이벤트 Payload를 JSON 형태로 사용해 보는 실습을 진행하겠습니다. Flask에서는 request.form.get("payload")로 바로 JSON 형태로 추출이 가능했지만 Lambda에 Flask를 올릴 것은 아니기 때문에 Payload를 로그 찍어보며 어떻게 JSON 형태로 변환하면 좋을지 고민해 보다가 이런 방법도 있는 것 같아서 소개해드리려고 합니다. 1. Slack 이벤트의 Payload 구성 살펴보기 서버리스 환경에서 Event Subscriptions나 Interactivity & Shortcuts 설정을 진행했다면 Slack에서 발생하는 이벤트는 Lambda 모니터링 CloudWatch에 로그로 찍히게 됩니다. Lambda..
안녕하세요 이번 시간에는 AJAX를 활용한 서버리스 정적 웹 호스팅을 동적으로 전환하는 실습을 진행하겠습니다. (API Gateway, Lambda, S3, AWS ToolKit 사용) 정적 웹 호스팅의 한계를 넘어서 동적인 어플리케이션으로 전환하는 방법을 소개하려고 합니다. 기존의 정적 웹 호스팅은 단순한 HTML, CSS, JavaScript 파일을 제공하여 정적인 콘텐츠만 제공할 수 있었습니다. 하지만 이제는 API Gateway, Lambda, S3를 조합하여 동적 기능을 가진 웹 어플리케이션을 구축하는 방법을 알아보겠습니다. 1. 정적 웹 호스팅이란? S3를 이용한 정적 웹 호스팅은 Amazon Simple Storage Service (S3)를 활용하여 웹 사이트의 정적 파일(HTML, CSS..
안녕하세요 이번 시간에는 API Gateway REST API를 이용해 POST 메서드를 사용하는 실습을 진행하겠습니다. 0. 실습 전 알아두면 좋은 개념 [AWS] AWS Lambda에 대해 알아보고 Python 외부 모듈 적용하기 (tistory.com) [AWS] AWS Lambda에 대해 알아보고 Python 외부 모듈 적용하기 안녕하세요 이번 시간에는 AWS Lambda에 대해 알아보고 2가지 방법으로 외부 모듈을 적용하는 실습을 진행하겠습니다. 1. Lambda 란? AWS Lambda는 Amazon Web Services의 서비스 중 하나로, 서버리스 아키텍처 eveningdev.tistory.com [AWS] API Gateway에 대해 알아보고 간단한 HTTP API 실습하기 (tisto..
안녕하세요 이번 시간에는 API Gateway REST API에 대해 알아보고 REST API를 이용한 GET 메서드 실습을 진행하겠습니다. 1. REST API 란? REST API는 전통적인 RESTful API입니다. 이 API는 클라이언트와 서버 간의 통신을 위해 HTTP를 사용하며, RESTful 원칙을 따릅니다. 이러한 API는 API Gateway에서 매우 유연하게 구성할 수 있으며, API에서 자체 작성한 코드 또는 Lambda 함수를 호출하여 백엔드 서비스와 통합할 수 있습니다. 또한, REST API는 다양한 HTTP 메서드(GET, POST, PUT, DELETE 등)를 사용하여 요청을 처리합니다. 2. REST API 장점 1. 유연성 다양한 HTTP 메소드를 지원하여 다양한 요청을..