AWS Infra 36

[ AWS ] S3 전송시 성능 조정 옵션 (max_concurrent_requests - CPU 스레드 조정)

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 Infra 2022.02.28

[ AWS ] Amazon-Linux EC2 인증키 변경 (로그인 상태)

보안상 키생성 일자가 오래 되거나 변경해야 할 사유가 종종있다. 1. AWS 새로운 키페어를 생성하고 변경할 EC2 로그인 2. 아래와 같이 다운로드 받은 키 파일을 열어서 .ssh/authorized_keys 수정 ssh-rsa [ Public-Lines ] [ Comment ] * 붙여넣을 때, 줄바꿈없이 한줄로 이어 붙여야 한다. * 변경 후 접속이 않되면, root 볼륨 작업을 해야 하니 접속 세션을 유지하고 새로운 인증키를 추가를 하고, 로그인 테스트를 해보고, 기존키는 삭제 하는 것이 좋다.

AWS Infra 2022.02.26

[ AWS ] boto3를 이용한 보안그룹 Any 점검

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

AWS Infra 2022.02.20

[ AWS ] AWS Transfer Family (Serverless SFTP) 구축

AWS Transfer Family 서비스로 SFTP이 구축이 가능하다. 저장소는 S3와 EFS를 사용할 수 있다. 서버는 구축비용과 저장소 ( S3와 EFS) 는 각각의 비용이 있으니 아래 링크에서 참고하면 된다. https://aws.amazon.com/ko/aws-transfer-family/pricing/ 관리형 파일 전송—AWS Transfer Family 요금 – Amazon Web Services 추가 요금 Amazon Simple Storage Service(S3) 또는 Amazon Elastic File System(EFS)에서 읽고 쓰기 위한 표준 요청, 스토리지 및 데이터 전송 요금이 청구됩니다. 서비스 내/외부로 데이터를 전송하는 경우 표준 AW aws.amazon.com AWS T..

AWS Infra 2022.02.13

[ AWS ] Amazon Linux 2에 python 3.8 설치

1. Extras 라이브러리에서 소프트웨어 패키지 설치확인 $ /usr/bin/amazon-linux-extras /usr/bin/amazon-linux-extras 설치가 않되어 있다면 yum으로 설치 $ sudo yum install -y amazon-linux-extras 2. 설치 가능한 python 버전(3.8) 확인 및 활성화(Enable) $ amazon-linux-extras | grep python 44 python3.8 available [ =stable ] $ sudo amazon-linux-extras enable python3.8 3. yum을 이용한 설치 및 확인 $ sudo yum install python3.8 $ ls -l /usr/bin/python3.8 .... ......

AWS Infra 2022.02.02

[ AWS ] EC2 Linux root 로그인 허용

기본적으로 Amazon Linux 2 AMI를 사용하는 경우에는 root 직접접근을 할 수 없다. EC2의 경우에도 root로 직접접근이 가능하다. 로그인 패스워드 방식과 인증키방식 가능하다. 기본적으로 /etc/ssh/sshd_config에서 root 접근을 허용해준다. $ sudo vi /etc/ssh/sshd_config PermitRootLogin 주석해제 ( yes 설정 ) 로그인 / 패스워드 입력 방식 PasswordAuthentication yes 로 변경 $ sudo passwd root 패스워드 변경 인증키 방식 $ sudo cp /home/ec2-user/.ssh/authorized_keys /root/.ssh ec2-user의 인증키를 root에 복사 설정이 다 끝났으면 sshd 서비..

AWS Infra 2022.02.02

[ Python ] paramiko를 이용한 pem-key SSH 접속 (자동화 작업)

key 인증을 이용하여 접속시 parakimo 사용 import paramiko key = paramiko.RSAKey.from_private_key_file("pemfilepath") conn = paramiko.SSHClient() conn.set_missing_host_key_policy(paramiko.AutoAddPolicy()) conn.connect(hostname = " ", username = "", pkey = key ) stdin, stdout, stderr = conn.exec_command('echo "hello"') stdin.close() for line in stdout.read().splitlines(): print(line.decode()) conn.close() ----..

AWS Infra 2021.11.30