AWS Infra
-
[ AWS ] boto3를 이용한 보안그룹 소스IP 체크AWS Infra 2022. 7. 11. 10:32
import boto3 from botocore.exceptions import ClientError ec2 = boto3.client('ec2') ips = 'x.x.x.x/32' def sg_check(): response = ec2.describe_security_groups()['SecurityGroups'] for i in response: sgid = i['GroupId'] for j in i['IpPermissions']: for x in j['IpRanges']: if x['CidrIp'] == ips: print(sgid,x['CidrIp'],x['Description']) if __name__ == "__main__": sg_check()
-
[ AWS ] RDS mysql Slow Query Monitoring ( Cloudwatch )AWS Infra 2022. 6. 29. 10:41
Mysql Slow Query를 CloudWatch LogGroup으로 보내기 RDS에서 간단한 세팅으로 Slow Query를 간단하게 Cloudwatch Log로 전송하여 보관이 가능하다 1. RDS Database 설정에서 [ 로그 내보내기 ] - [ 느린 쿼리 로그 ] 체크 ( CloudWatch로 보내기 위한 설정 ) * 적용 후 즉시반영과 유지보수시 반영을 선택 * 즉시반영시 인스던스 재부팅 2. 파라미터 그룹 설정값 변경 파라미터 값 slow_query_log 1 0 : 비활성, 1 : 활성화 log_query_time 5 로깅할 쿼리타임 (초) / 원하는 값 log_output FILE 3. 테스트 및 로깅확인 1. 정상적으로 설정되었다면, 인스턴스명/slowquery 로그 그룹이 생기고, ..
-
[ AWS ] EC2 인스턴스 Type 변경후 재시작AWS Infra 2022. 3. 16. 20:45
import boto3 client = boto3.client('ec2') # 인스턴스 ID instance = 'i-id' # 인스턴스 중지 client.stop_instances(InstanceIds=[instance]) waiter=client.get_waiter('instance_stopped') waiter.wait(InstanceIds=[instance]) # 인스턴스 타입변경 (=> t2.small) client.modify_instance_attribute(InstanceId=instance, Attribute='instanceType', Value='t2.small') # 인스턴스 스타트 client.start_instances(InstanceIds=[instance]) 동작변화상태 ↓ ..
-
[ AWS ] S3 전송시 성능 조정 옵션 (max_concurrent_requests - CPU 스레드 조정)AWS Infra 2022. 2. 28. 02:22
S3 고용량 파일을 전송할 때, 리소스를 사용하게 되는데, CPU를 과도하게 점유하게 되면, 옵션을 통해 조정이 가능하다. 테스트 환경은 t2.small로 해본다. 우선 테스트용 고용량 파일 준비 (fallocate 명령어를 활용) $ fallocate -l 25g test_file .... .... 26843545600 Feb 27 16:09 test_file 옵션설정을 하지 않고, 기본적으로 전송해본다. 약 14분 소요되었고, CPU의 경우 특정구간에서 100%를 사용하였다. max_concurrent_requests (CPU 스레드 조정) - 기본값 : 10 - 이 값을 낮추면 S3 전송 명령이 리소스를 덜 사용하지만, S3 전송을 완료하는 데 시간이 오래 걸릴 수 있다. - 설정방법 # 기본프로필..
-
[ AWS ] Amazon-Linux EC2 인증키 변경 (로그인 상태)AWS Infra 2022. 2. 26. 03:37
보안상 키생성 일자가 오래 되거나 변경해야 할 사유가 종종있다. 1. AWS 새로운 키페어를 생성하고 변경할 EC2 로그인 2. 아래와 같이 다운로드 받은 키 파일을 열어서 .ssh/authorized_keys 수정 ssh-rsa [ Public-Lines ] [ Comment ] * 붙여넣을 때, 줄바꿈없이 한줄로 이어 붙여야 한다. * 변경 후 접속이 않되면, root 볼륨 작업을 해야 하니 접속 세션을 유지하고 새로운 인증키를 추가를 하고, 로그인 테스트를 해보고, 기존키는 삭제 하는 것이 좋다.
-
[ AWS ] boto3를 이용한 보안그룹 Any 점검AWS Infra 2022. 2. 20. 04:12
AWS 인프라를 관리하면서, EC2의 보안그룹을 정기적으로 점검해야 할 필요가 있어 AWS Boto3를 이용하여 간단히 구현해 보려 한다. 보안그룹이 많아지면, 콘솔창으로는 점검하는 시간 소요는 얼마나 아까운지 모르겠다. 간단한 예로, 인바운드 Any로 오픈된 포트를 점검해보려한다. IAM 권한은 최소화의 원칙에 맞게 EC2ReadOnlyAccess 권한만 부여하자. 보안점검으로 소스주소 0.0.0.0/0을 기준으로 점검하였지만, 키 값을 이용하여 활용하면 될 것이다. import boto3 from botocore.exceptions import ClientError ec2 = boto3.client('ec2') def sg_check(): response = ec2.describe_security_g..