공부하기싫어
article thumbnail
[AWS-Server] CICD Pipeline

코드 수정이 많이 없을줄 알았는데 하다보니 계속 건드리게 되서 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 -..

article thumbnail
[AWS-Server] 6. S3 bucket 에 프로세스 로그 저장

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..

article thumbnail
[AWS-Server] 5. 람다함수에서 EC2 로 명령 전달

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..

article thumbnail
[AWS-Server] 4. 람다 코드 수정 - dynamoDB 테이블 수정

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

article thumbnail
[AWS-Server] 3. 람다함수에 Cloudwatch EventBridge 연결

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 ..

article thumbnail
lambda 함수에서 dynamoDB 테이블 수정
AWS 2023. 4. 2. 21:24

프로젝트에서 사용할 레퍼런스이다. 이미 존재하는 항목의 속성 값만 수정해줄꺼다 python 최신 런타임으로 demo function 을 만들어줬다 테이블도 대충 만들어주고 항목을 생성해줬다 chatGPT 에게 물어봤다 import boto3 def lambda_handler(event, context): # create a DynamoDB client dynamodb = boto3.client('dynamodb') # define the table name and the key of the item to be updated table_name = 'your-table-name' item_key = {'id': {'S': 'your-item-key'}} # define the attribute to be ..