[AWS Cli] 리전에서 사용가능한 인스턴스 유형 확인하기 인스턴스 타입을 리스트형태로 가져오고 싶었는데, 하드 코딩하기에 양이 많을 때 aws cli를 통해서 지정한 리전에서 사용가능한 인스턴스 유형을 확인할 수 있는 방법이 있었다. ec2 describe-instance-type-offerings를 사용하면 된다. aws ec2 describe-instance-type-offerings \ --filters Name=instance-type,Values=[type] \ --query "InstanceTypeOfferings[].InstanceType" \ --region [region name] 만약 한국 리전에서 사용할 수 있는 R5의 인스턴스 유형을 확인하고 싶을땐, 다음과 같이 명령어를 사용해..
[AWS] boto3 filter 저번 포스팅에서 boto3 라이브러리를 이용하여 ec2의 정보를 구했었다. [AWS] boto3로 EC2 Instance 정보 구하기 [AWS] boto3로 EC2 Instance 정보 구하기 AWS SDK boto3를 활용해서 EC2의 정보를 구해보고자 한다. e2에 접근을 하기 위하여 boto3 Client 설정을 해준다. ec2 접근 권한이 있는 사용자의 access key가 필요하다. impo heywantodo.tistory.com filter 특정 조건에 맞는 ec2 정보를 받아오는 파이썬 코드를 구현하던 중, boto3에는 filter를 사용하면 특정 상태, 특정 인스턴스 id 또는 특정 태그값에 맞는 인스턴스 정보를 받아 올 수 있다는 것을 알게됐다. 참고..
[AWS] ec2metadata ec2의 메타데이터를 확인하고 싶을 때, ec2metadata를 사용하여 확인이 가능하다. 아래 명령어를 사용하면 전체 정보를 확인을 할 수 있고 ec2metadata 옵션 값을 주면 특정 정보만 확인이 가능하다. ec2metadata --availability-zone
[AWS] boto3로 EC2 Instance 정보 구하기 AWS SDK boto3를 활용해서 EC2의 정보를 구해보고자 한다. e2에 접근을 하기 위하여 boto3 Client 설정을 해준다. ec2 접근 권한이 있는 사용자의 access key가 필요하다. import boto3 aws_access_key = "*************" aws_secret_access_key = "*************" aws_region = "ap-northeast-2" ec2 = boto3.client('ec2', aws_access_key, aws_secret_access_key, aws_region) 다음으로 EC2의 정보를 저장 할 빈 리스트를 생성 해준 후, 필요한 tag값을 가져온다. 나는 Name태..
[AWS Cli] S3 총 용량/객체 수 확인하기 용량 확인 aws s3의 전체 용량은 AWS 콘솔에서 확인이 가능하다. 위 와 같이 총 객체수와 총 크기를 확인할 수 있다. 객체 수 확인 특정 경로에 대한 객체수는 s3 cli로 확인이 가능하다. --summarize 옵션을 사용하면 객체 수를 확인 할 수 있다. aws s3 ls s3:/// --recursive --human-readable --summarize
[AWS] DOP 공부 중 모르는 서비스 정리 AWS Certufued DevOps Engineer - Professional (DOP-CO2) 공부 중 모르는 서비스를 간단하게 정리 Amazon Inspector 자동화된 소프트웨어 취약성 관리 소프트웨어 취약성 및 의도하지 않은 네트워크 노출에 대해 AWS 워크로드를 지속적으로 스캔하는 자동화된 취약성 관리 서비스 Amazon GuardDuty 지능형 위협 탐지 AWS 계정 및 워크로드에서 악의적 활동을 모니터링하고, 상세한 보안 조사 결과를 제공하여 가시성 및 해결을 촉진하는 위협 탐지 서비스 AWS 계정, 인스턴스, 서버리스 및 컨테이너 워크로드, 사용자, DB 및 스토리지에서 잠재적 위협 요소를 지속적으로 모니터링 할 수 있음 AWS Config..
[AWS Cli] 가장 최근에 수정된 S3 객체 가져오기 S3에서 객체를 가져와야 할때, 가장 최근 파일을 가져와야하는 경우가 있었다. 콘솔에서는 마지막 수정에서 정렬을 하면 다음과 같이 가장 최근 파일을 확인할 수 있다. CLI를 사용해 S3 버킷에서 가장 최근에 수정된 파일을 가져오는 방법에 대해 알아보자 s3 cli 아래 명령어를 사용해 버킷의 모든 객체를 나열할 수 있다. aws s3 ls bucket_name --recursive 날짜순으로 다시 정렬한 후 (sort) , 마지막 행만 보게 한 다음 (tail -n 1) 네번째 열, 즉 객체 경로를 추출한다. (awk '{print $4}') aws s3 ls bucket_name --recursive | sort | tail -n 1 | awk..
[AWS Cli] ELB Detach, Attach 하기 AWS CLI로 ELB의 대상 인스턴스를 확인하고,Detach와 Attach하는 방법을 알아보자 aws cli 명령어를 사용하기 위해선 credential이 필요하다. 스크립트로 작성했기 때문에, Shell Script 기준으로 설명을 하겠다. 인스턴스 확인 인스턴스 아이디를 알고있다면, 바로 넣어주면 되지만 인스턴스 아이디를 모르는 경우엔 ELB의 로드밸런서 정보에서 확인할 수 있다. ELB의 로드밸런서 정보는 describe-load-balancers 명령어로 확인할 수 있다. 명령어의 사용법은 다음과 같다. Instance=`aws elb describe-load-balancers \ --load-balancer-names ${ELB_NAME..
[AWS] S3 Gracier restore(복원) 상태 확인하기 설정한 수명주기에 따라 S3 객체의 스토리지 클래스가 Gracier 로 전환된 후, 파일에 접근하기 위해 restore를 했을 시 기존 파일은 여전히 스토리지 클래스가 Gracier로 확인된다. 이때, 스토리지 클래스를 standard로 변경해주고 싶다면 cli를 통해 복사를 진행해주면 된다. aws s3 cp s3://source_bucketname/filename s3://bucketname/filename 그렇다면 restore가 완료됐는지 완료되지 않았는지는 어떻게 확인할까? 마찬가지로 aws cli로 확인이 가능하다. aws s3api head-object / --bucket / --key Restore의 ongoing-reque..
[AWS] S3 이벤트 알림이 추가/수정이 되지 않는 경우 모든 권한이 잘 지정되어있는 경우에도 불구하고 아래 오류 메시지가 뜨면서 S3 버킷의 모든 이벤트 알림이 추가/수정되지 않는 경우가 있었다. 이유는 S3 이벤트 알림의 대상인 SQS 대기열이 삭제되었기 때문이였다. 전체 이벤트 중에 하나라도 없는 SQS 대기열을 바라보고있으면 전체 이벤트가 다 수정이 안된다고 한다. 이럴 땐 해결 방법이 2가지가 있다. 1. 같은 이름의 SQS 대기열을 새로 생성 대상의 대기열이 사라졌기 때문에, 바로가기를 클릭해도 이동이 안된다. SQS로가서 update_2라는 대기열을 새로 생성해준다. 정책 또한 잊지 말고 생성해주자 { "Version": "2012-10-17", "Id": "example-ID", "Sta..
[AWS] Lambda 1. AWS Lambda? 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있게 해주는 컴퓨팅 서비스 고가용성 컴퓨팅 인프라에서 코드를 실행한다. Lamba는 서버와 운영 체제 유지 관리, 용량 프로비저닝 및 자동 조정, 코드 및 보안 패치 배포, 로깅 등의 모든 컴퓨터 리소스를 관리를 수행한다. Lambda는 사용한 컴퓨팅 시간 만큼만 비용을 지불, 코드가 실행되지 않을 때는 요금이 부과되지 않는다. 2. Lambda 특징 이벤트 기반 실행 ex) S3, DynamoDB, API Gateway 서버리스 아키텍처 다양한 프로그래밍 언어 지원 ex) Python, Node.js, Java, Go 자동 확장 간단한 배포 및 관리 AWS 서비스 간 통합 3. Lambda 사용 ..
[AWS] EKS(Elastic Kubenetes Service) EKS 클라우드와 온프레미스 데이터센터에서 쿠버네티스를 실행하는 데 사용되는 관리형 쿠버네티스 서비스 AWS 네트워킹 및 보안 서비스와의 통합뿐만 아니라, AWS 인프라의 모든 성능, 규모, 신뢰성 및 가용성을 활용 EKS Architecture EKS VPC와 Customer VPC가 나뉘어져 있다. Worker node들은 모두 EC2로 구성되어, Customer VPC에 위치한다. 노드는 퍼블릭/프라이빗 엔드포인트를 통해 컨트롤 플레인(Master)에 API access 한다. 컨트롤 플레인은 AWS Managed VPC 내에 구성된다. Customer VPC에 ENI를 생성하며, 이 구간을 통해 Worker node에 접근한다. 워..