본문 바로가기

서버/AWS18

[AWS]18. Lambda 프록시 통합과 비프록시 통합의 간단한 차이점 프로젝트를 진행하던 중 PHP 클라이언트에서 API Gateway URL(POST)로 데이터를 전송해야 하는 작업을 하고 있었는데 계속 오류가 반환되어 몇 시간 동안 헤매었었다. 오류라고 하기도 좀 그런 게 코드 자체는 정상적으로 돌아가지만 DynamoDB에 데이터가 저장되면 값이 None, null 형식으로 저장되는 것이다. 그래서 항상 그렇듯이 무조건 데이터 형 변환 또는 인코딩 등에 대한 문제로 파악이 되어 여러 뻘짓을 몇 시간 동안 했었다. response = table.put_item( Item={ 'idx': body['idx'], ------------------> str( body['idx'] ), 'score': body['score'] } ) 저런 식으로 문자열로 바꿔보기도 하고 뭐 이.. 2024. 3. 29.
[AWS]17. 웹 Serverless Architecture 구성 목차 DynamoDB 생성 Lambda 함수 생성 DynamoDB Stream 이벤트 트리거 추가 API Gateway 생성 결과 확인 및 원리 * SNS 솔루션 등 구체적인 생성 방법이나 IAM 권한 정책 할당은 생략함 1. DynamoDB 생성 파티션 키 타입은 테이블 목적에 따라서 설정하면 된다. (다른 구체적인 설정이 필요하면 클래스 선택(standard, standard-IA) 하면 됨) 이후에 이제 DynamoDB Stream을 생성해야 하는데 먼저 Lambda 함수를 생성해줘야 한다. 2. Lambda 함수 생성 import json from decimal import Decimal import boto3 REGION = 'ap-northeast-2' dynamodb = boto3.resou.. 2024. 3. 19.
[AWS]16. S3 업로드 이벤트 트리거 Lambda 함수로 SNS 필터 [AWS]15. OwnCloud와 S3 연동 (feat. SNS Topic) 필요하다고 느낀 점: 프로젝트를 진행할 때 서로 작업했던 내용을 합치면서 진행해야 하는데 직접 만나서 하지 못하는 경우에는 단톡방에서 파일을 첨부했다는 메시지를 계속 보내면서 작업해 jamong1014.tistory.com S3 업로드 이벤트 발생 시 SNS 솔루션을 통해 업로드 로그 기록을 받을 수 있었다. 하지만 가독성이 너무 안좋아 필요한 정보만 뽑아서 보기 위해서는 Lambda 함수를 통해 필요한 부분만 필터링하는 것과 SNS를 보내는 코드를 작성하고 이벤트 트리거로 S3 버킷을 연동해줘야 한다. SNS 프로토콜은 SMS가 지원되는 리전으로 바꾸어서 진행하였다. 목차 Lambda 함수 정책 생성 Lambda 생성 이벤트 .. 2024. 3. 13.
[AWS]15. OwnCloud와 S3 연동 (feat. SNS Topic) 필요하다고 느낀 점: 프로젝트를 진행할 때 서로 작업했던 내용을 합치면서 진행해야 하는데 직접 만나서 하지 못하는 경우에는 단톡방에서 파일을 첨부했다는 메시지를 계속 보내면서 작업해야 하는데 이것이 은근 번거롭다 생각하여 구축한 솔루션 프로젝트 작업 클라우드는 S3 스토리지를 확장하여 OwnCloud로 제공하고 S3 파일 업로드 시 이벤트 알림을 통해 SNS 프로토콜(SMS, EMAIL, HTTP, HTTPS, SQS 등등)로 업로드 이벤트 로그를 전송할 수 있음. 목차 OwnCloud설치 및 Cloudflare 적용 (생략) IAM 사용자 정책 설정(access/secret key 발급) OwnCloud에서는 S3 외부 스토리지가 files_external 앱에 번들로 제공되지 않기 때문에 Market.. 2024. 3. 13.