본문 바로가기

Amazon AWS36

S3의 불필요한 객체들을 정리하도록 Lambda 작성 이전에 Lambda함수를 이용해서 클라우드 워치의 로그를 S3에 백업하도록 구성하였다. Cloudwatch의 로그 S3 백업을 자동화 하기(w/ AWS Lambda) 이때 AWS에서 제공하는 boto3 메소드를 이용했는데, 이렇게 이용하면 불필요한 파일과 디렉토리가 생성된다. 위에 첨부된 사진과 같이 aws-logs-write-test 파일이 모든 디렉토리에 생성되고, taskId명으로 생긴 폴더 내부에 또 새로운 폴더가 생성되고 백업된 로그 파일이 생성된다. 또한, 테스트파일은 해당일자에 로그가 없어서 디렉토리 생성이 필요가 없을때에도 생성된다. 따라서, 이렇게 불필요한 파일과 디렉토리를 정리하는 코드를 추가하였다. import os import datetime import time import bot.. 2023. 3. 13.
Helm 명령어 차트 조회 helm ls -n 전체 네임스페이스 조회 helm ls -A 차트 생성 helm create 차트 삭제 helm delete -n 차트 문법 확인 helm lint / 모든 네임스페이스 릴리즈 조회 helm list -A 테스트 배포 helm install --debug --dry-run 실배포 helm install -n 릴리즈 삭제 helm uninstall -n 릴리즈 업그레이드(수정사항 반영) helm upgrade -n 2023. 1. 22.
FastAPI, Request Body를 Class 없이 그대로 사용하기 일반적으로 FAST API에서 Post 메소드는 아래의 예제와 같이 BaseModel을 상속받아서 Request Body 데이터모델을 클래스로 선언해준다. from typing import Union from fastapi import FastAPI from pydantic import BaseModel class Item(BaseModel): name: str description: Union[str, None] = None price: float tax: Union[float, None] = None app = FastAPI() @app.post("/items/") async def create_item(item: Item): return item 그런데 상황에 따라서 Request Body의 값을 .. 2023. 1. 8.
Presigned Url을 이용하여 외부에서 S3에 접근 S3에 파일을 업로드/다운로드 하기 위한 방법으로는 여러가지가 있다. 그 중에서도 Presigned Url(미리 서명된 URL)을 사용하면, S3버킷이 있는 계정의 IAM User/Role정보를 갖고 있지 않아도 버킷에 접근하도록 할 수 있다. 아래는 AWS 공식문서의 설명이다. 모든 객체 및 버킷은 기본적으로 프라이빗입니다. 그러나 미리 서명된 URL을 사용하여 선택적으로 객체를 공유하거나 고객/사용자가 AWS 보안 자격 증명이나 권한 없이 버킷에 객체를 업로드하는 것을 허용할 수 있습니다. 미리 서명된 URL을 사용하면 Amazon S3 버킷에 액세스하는 데 사용할 수 있는 URL을 생성할 수 있습니다. 미리 서명된 URL을 생성하면 특정 작업과 연결됩니다. URL을 공유할 수 있으며 URL에 액세스.. 2022. 12. 18.