
코드 수정이 많이 없을줄 알았는데 하다보니 계속 건드리게 되서 pipeline 을 만들어보려고 한다. Pipeline - EC2 2023.04.12 1. Jenkins Container -TradeServer - Ansible 새로 젠킨스 컨테이너를 띄우고 ec2 로 동작하는 TradeServer(Prod) 를 Ansible 로 연결해줄꺼다 Jenkins container docker run -itd --name -p 8080:8080 -p 50000:50000 -v /jenkins:/var/jenkins_home -u root jenkins/jenkins:latest 필요한 툴 설치 #ansible apt install python3-pip pip install ansible #docker curl -..

ethereum_autotrade.py 를 nohup 으로 실행할때 발생하는 로그들을 flush 모듈을 사용해 바로바로 output.log 에 기록하고 그날 프로그램이 종료할때 s3 버킷에 저장하도록 해보자 S3 버킷 생성 ACL 비활성화 모든 퍼블릭 액세스 차단 버전 관리 비활성화 테스트 import os import boto3 def send_logs_to_s3(): bucket_name="logs-ethereum-autotrade" session = boto3.Session(profile_name='default') s3=session.client('s3') f=open("test.log", 'rb') s3.upload_fileobj(f, bucket_name, "test.log") send_log..

EC2 에서 동작하는 python 코드를 수정 - 만약 보유 이더리움이 있다면 매일 오전 8시 55분에 매각하고 프로그램을 종료하도록 구성 lambda function 을 새로 생성 - dynamoDB 에서 값을 얻어와 매일 오전 9시에 python 스크립트를 백앤드로 동작하도록 하는 shell script 실행 명령을 전달하도록 구성 python 코드 수정 3개의 python 파일로 나눴음 ethereum_autotrade.py import pyupbit import aws_defs as m_aws import upbit_defs as m_upbit def main(): try : upbit_access_key, upbit_secret_key = m_aws.get_parameter_fromSSM() b..

람다 함수를 빌드하는 컨테이너 이미지 안의 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..