분류 전체보기
-
[ Python ] Tree Graph 만들기Python/Python Programming 2023. 2. 15. 14:03
treelib 모듈 설치 pip install treelib from treelib import Node, Tree tree = Tree() tree.create_node("Server", "Server") tree.create_node("A_Server", "A_Server", parent="Server") tree.create_node("script.py", "script_A.py", parent="A_Server") tree.create_node("print('hello world')", "line_A_1", parent="script_A.py") tree.create_node("B_Server", "B_Server", parent="Server") tree.create_node("script.py..
-
[ Python ] matplotlib plot Shading Area (특정구간 강조)Python/Python For Analytics 2023. 2. 3. 18:06
그래프를 추출할 때, 쉐딩(강조)을 적용하기. 엔지니어의 보고서에 그래프 넣기 기본 x, y 막대 그래프 x = [ x + 1 for x in range(30) ] y = [ randint(1,5) for x in range(30) ] 단일 구간 강조 import matplotlib.pyplot as plt from random import randint a = 3 b = 8 plt.axvspan(a, b, color='blue', alpha=0.1) plt.plot(x, y) plt.show() 여러구간 강조 하기 (구간 지정) import matplotlib.pyplot as plt from random import randint z = {3:4,15:20,25:29} # 구간 Dictionary f..
-
[ AWS ] Python boto3를 이용하여 값 CPUCreditBalance 구하기AWS Infra 2023. 2. 2. 20:07
Python boto3를 이용한 CPUCreditBalance 값 모니터링 모니터링 대상 인스턴스는 t3a.medium이며, CPUCreditBalance 테이블은 아래와 같다. T3a 시간당 지급되는 CPU 크레딧 누적 가능한 최대 지급된 크레딧* vCPU*** vCPU당 기준 사용률 t3a.nano 6 144 2 5%** t3a.micro 12 288 2 10%** t3a.small 24 576 2 20%** t3a.medium 24 576 2 20%** https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/burstable-credits-baseline-concepts.html#CPU-credit-accrual-limit 버스트 가능 성능 인스턴스에..
-
[ AWS ] Python boto3를 이용하여 EC2 CPU 사용율 구하기AWS Infra 2023. 2. 2. 18:41
Python boto3를 이용하여 EC2 인스턴스의 CPU 사용율 구하기 import boto3 from datetime import datetime from datetime import timedelta client = boto3.client('cloudwatch') def CPUUtilization_Ec2(isinstance_id): response = client.get_metric_statistics( Namespace='AWS/EC2', MetricName='CPUUtilization', Dimensions=[ { 'Name': 'InstanceId', 'Value': isinstance_id }, ], StartTime=datetime.today() - timedelta(days=1) , En..
-
[ AWS ] Python Boto3를 이용한 CloudFront Invalidation (무효화)AWS Infra 2023. 1. 13. 16:57
CloudFront 콘텐츠들의 캐시 히트율을 높히기 위해 TTL을 길게 변경하고, 변경되는 컨텐츠들은 Python을 이용하여 Invalidation (무효화) 무효화 처리하는 방법을 알아본다. 아래는 테스트용인 단일 파일이지만, APIGate와 같이 활용하기 위해서는 'Items' 배열로 받아서 'Quantity' 수량을 len() 을 이용해서 처리하면 되겠다. import boto3 from time import time s3 = boto3.client('cloudfront') response = s3.create_invalidation( DistributionId='', InvalidationBatch={ 'Paths': { 'Quantity': 1, 'Items': [ '/test.jpg', ] }..
-
[ AWS ] S3 특정 확장자 파일만 업로드 하는 버킷정책AWS Infra 2023. 1. 13. 14:11
CloudFront 서비스를 구축하기 위해 S3 저장소를 원본을 이용하기로 하였다. 압축파일, 이미지과 같은 컨텐츠용만 서비스 하기 때문에, 버킷정책을 이용하여 필요한 확장자만 업로드할 수 있도록 세팅한다. 보안적으로는 화이트리스트 기반의 업로드 제약조건 세팅이며, 어플리케이션 (Java, Python, .Net ) 에서 사용자에게 오픈 되어있는 확장자를 제약할 수 있다. S3 버킷 정책 세팅 특정 확장자만 접근할 수 있도록 허용한다. ( 물론 CloudFront 등 다른 정책도 포함되어 있지만 같이 기술하지 않는다 ) { "Version": "2012-10-17", "Statement": [ { "Sid": "PutObjectDenyPolicy", "Effect": "Deny", "Principal":..
-
[ AWS ] Python boto3를 이용한 S3 파일 업로드 / 다운로드AWS Infra 2022. 12. 28. 16:09
파일 업로드 import boto3s3 = boto3.client('s3')bucket = '버킷명's3.upload_file('original_object',bucket, 'upload_object', ExtraArgs={'ContentType':'image/jpeg'})# original_object, upload_object는 'test/' + upload_object 와 같이 경로와 같이 써준다 * ExtraArgs는 "boto3.s3.transfer.S3Transfer" 를 따른다https://boto3.amazonaws.com/v1/documentation/api/latest/reference/customizations/s3.html S3 customization reference - Boto..