본문 바로가기

ETC

사내 담당 업무 기록 1

반응형

Project Infra


  • 글로벌 프로젝트
    • Backend
      • Sprong boot - AWS EC2
    • Frontend
      • Node + Next.js - AWS EC2
    • Database
      • AWS RDS - Aurora MySQL
    • Serverless
      • Excel Uplaod - Node
      • Image Thumbnail - Node
      • RDS Alarm - Python

내부 기능

  • Excel Upload
    1. UI에서 엑셀 파일 업로드
    2. Backend 자바가 S3에 저장
    3. AWS Lambda에 등록된 S3 Put Object 트리거 발생
    4. 람다 코드가 S3에 저장된 파일 내부 데이터 검증 및 변환
    5. 검증 실패 또는 내부적으로 다른 검증에 실패한 경우 원인에 대한 내용을 업로드한 파일에 기입하여 사용자에게 다운로드
    6. 검증 성공 시 임시 테이블에 저장하는 Backend API와 통신
    7. 저장된 임시테이블을 업무 테이블로 옮기는 Backend API와 통신
  • Image Upload
    1. UI에서 이미지 파일 업로드
    2. Backend 자바가 S3에 저장
    3. AWS Lambda에 등록된 S3 Put Object 트리거 발생
    4. 람다 코드가 S3에 저장된 파일 정보를 얻고 임시적인 복사
    5. 복사한 이미지 파일을 지정된 규격에 맞게 가로, 세로 축소
    6. 축소된 이미지를 썸네일 전용 S3 버킷에 저장
  • RDS Alarm
    • CPU 최소 사용량 확인
      1. 특정 시간을 주기로 하여 RDS의 CPU 사용량을 체크하는 Alarm을 AWS CloudWatch에 생성
      2. AWS SNS Topic 생성 및 위 생성한 CloudWatch Alarm과 연결
      3. Alarm에서 특정 사용량을 넘으면 SNS에서 연동한 Lambda 호출
      4. Python으로 작성된 Lambda 코드에서 SNS에서 넘어온 메세지를 보기 쉽게 정리하여 RDS 알람을 위해 생성한 Slack 채널에 메세지 송신
    • ACU 평균치 확인
      1. 특정 시간을 주기로 하여 RDS의 ACU 평균치를 체크하는 Alarm을 AWS CloudWatch에 생성
      2. AWS SNS Topic 생성 및 위 생성한 CloudWatch Alarm과 연결
      3. Alarm에서 특정 사용량을 넘으면 SNS에서 연동한 Lambda 호출
      4. Python으로 작성된 Lambda 코드에서 SNS에서 넘어온 메세지를 보기 쉽게 정리하여 RDS 알람을 위해 생성한 Slack 채널에 메세지 송신
반응형

'ETC' 카테고리의 다른 글

맥OS 파인더에 휴지통을 추가하기  (1) 2023.12.01
사내 담당 업무 기록 2  (0) 2023.08.18