람다 함수를 빌드하는 컨테이너 이미지 안의 python 코드에 dynamoDB 를 수정하는 코드와 x-ray-sdk 를 추가 람다 코드 수정 - dynamoDB table 업데이트 + X-Ray-SDK python-boto3 lambda-bestk/lambda/app.py import pyupbit import numpy as np import boto3 def get_ror(k=0.5): df = pyupbit.get_ohlcv("KRW-BTC", count=7) df['range'] = (df['high'] - df['low']) * k df['target'] = df['open'] + df['range'].shift(1) df['ror'] = np.where(df['high'] > df['targe..
timebase cloudwatch eventbridge 를 lambda function 에 연결 매시간 정각 - endprice 8시 50분 - bestk 8시 55분 매각, 프로그램 종료 9시 프로그램 시작 cloudwatch 로는 매일 오전 8시 55분에 발생할 이벤트와 매시간 정각 실행될 이벤트를 생성할 예정 일정 그룹 생성 Event for lambda-bestk KST 와 UTC 를 변환해서 사용해야 함 https://savvytime.com/converter/utc-to-kst UTC to KST Converter - Savvy Time Universal Time Coordinated Universal Time Coordinated is 9 hours behind Korea Standard ..
dev 와 prod 를 위한 dynamoDB Table 을 만들고 메인 트레이드 서버인 EC2 를 띄운 후 EC2 에서 dynamoDB 테이블 항목을 읽어오는 작업을 할 예정 DynamoDB 테스트용 항목과 실제 사용할 항목으로 2개 만들어줬다 RCU/WCU 는 각각 1개씩으로 프로비저닝 해 줬다. EC2 ec2 instance t3a.micro 유형으로 생성해줬다. 보안그룹도 따로 생성해줬고 dynamoDB table 참조를 위한 역할은 추후 생성해줄 예정이다. ubuntu 22.04 LTS 를 이미지로 사용했다 EIP 는 할당하지 않았다 - 서버 안끌 예정 인스턴스 시작 후 아래 명령을 통해 필요한 종속성을 설치하고 시간을 한국 시간으로 바꿔줬다 sudo apt update && sudo apt-ge..
라이브러리 함수 실행에 필요한 라이브러리들이다. pyupbit prophet 1. 람다 계층으로 시도 (실패) ubuntu 인스턴스(t3a.large)를 띄우고 python 디렉토리를 만들어 준 후 위 라이브러리들을 다운받았다. 이후 압축후 람다 계층을 생성하고 add layer 로 추가해봤지만 numpy 버전이 맞지 않는지 테스트에 실패햇다. aws 제공 layer 중 pandas 를 추가하면 numpy 호출이 잘 되었지만 종속성을 추가하면 용량 제한을 초과해서 다른 방법을 찾아보기로 했다. 2. CodeArtifact 참조 (실패) CodeArtifact 에 prophet 과 pyupbit 패키지를 업로드하고 SDK 를 통해 lambda 로 불러오려고했으나 content 중 asset 을 불러오는데에..
IaC -> 수동 프로세스 원래 AWS-CDK 를 이용해서 Pipeline 을 jenkins 와 통합해서 만들고 코드로 인프라를 관리하려고 했었다. 그런데 AWS-CDK 를 처음 다뤄보기도 했고, CDK 와 jenkins 를 통한 Ansible 명령이 내 마음대로 잘 실행되지 않았다. 그래서 일단 수동으로 각 리소스들을 띄우고 정상 작동을 확인한 후에 IaC 로 다시 이 리소스들을 옮겨보려고 한다. github repository + local directory 정리 github repository 를 원래 3개로 나눠서 사용했었다. (전체, cdk pipeline, trade-server pipeline) 이들을 하나로 통합하고 로컬에서 사용하던 디렉토리들도 일단 pipeline 없이 리소스별로 정리해..
1. cdk 컨테이너 초기화 후 정상 실행 확인 (간단한 lambda 함수 하나) 2. jenkins-container 연결 (ansible 연결 + ssh 설치 + 인벤토리 등록) 3. pipeline 생성 4. jenkinsfile 작성 후 commit - hook - deploy 확인 1. cdk 컨테이너 초기화 후 정상 실행 확인 (간단한 lambda 함수 하나) 이전에 만들었던 dockerfile 로 빌드한 cdk 컨테이너에서 작업할꺼다 bootstrapping 까지 확인해보고 이후 dynamoDB 아이템을 수정하는 간단한 람다 함수를 넣어서 deploy 해보고 jenkins 컨테이너와 pipeline 으로 연결한 뒤 항목 값을 바꿔서 commit test 를 진행해볼 예정 docker run ..