aws cli(9)
-
EC2 stopped 시간과 이름 출력 (AWS CLI)
스크립트#!/bin/bash# 정지된 인스턴스 목록 가져오기stopped_instances=$(aws ec2 describe-instances \ --filters "Name=instance-state-name,Values=stopped" \ --query "Reservations[*].Instances[*].[InstanceId, Tags[?Key=='Name'].Value | [0]]" \ --output json)# 테이블 헤더 출력printf "%-50s %-50s %-50s\n" "Instance ID" "Instance Name" "Stopped Time"# 각 인스턴스에 대해 정지 시간을 가져와서 출력echo "$stopped_instances" | jq -c '.[][]' ..
2024.07.29 -
Amazon EC2 종료 시간 확인 (CLI)
개요EC2 인스턴스가 Launch 된 시간은 확인이 가능하지만 Off 된 시간은 콘솔에서 따로 확인 불가하다. 아래는 CLI를 통해 확인하는 방법이다. Amazon EC2 종료 시간 확인 (CLI)aws ec2 describe-instances --filters "Name=instance-state-code,Values=80" --query 'Reservations[].Instances[].[Tags[?Key==`Name`] | [0].Value, InstanceId, PrivateIpAddress, State.Name, StateTransitionReason]' --output table
2024.05.08 -
AWS CLI cheat sheet
- 개요 AWS CLI를 통해 리소스를 관리하고 리스트화 할 수 있는 스크립트를 정리했다. 대표적인 리소스를 테이블 또는 리스트로 관리할 수 있는 스크립들이다. - AWS CLI https://awscli.amazonaws.com/v2/documentation/api/latest/reference/index.html#cli-aws - EC2 ## runnung ec2 with Name, PrivateIP, PublicIP, Status, Instance Type, VpcId on table aws ec2 describe-instances --query "Reservations[*].Instances[*].{PublicIP:PublicIpAddress,PrivateIP:PrivateIpAddress,Nam..
2023.10.10 -
AWS 리소스가 사용 중인 IP 확인 하는 방법
- 개요 AWS 리소는 Endpoint 기반으로 동작하지만 각자 private ip address가 있으며 public ip address 도 가지고 있다. 해당 IP를 사용중인 AWS 리소를 확인하는 제일 효과적인 방법은 network interfaces에서 확인하는 것이다. 아래 방법을 통해 private ip, public ip, ipv6 기준으로 리소스를 찾을 수 있다. - 방법1 (AWS Web Console) EC2 >> Network & Security >> Network Interfaces >> Search - 방법2 (AWS CLI) ## 찾고 싶은 Private IP를 소유한 리소스의 전체 정보 aws ec2 describe-network-interfaces --filters "Name..
2023.10.06 -
ECR lifecycle policy 전체 repository 적용
- 개요 ECR Repository를 생성하면 기본적으로 LifeCycle이 적용되지 않으며, 해당 메뉴까지 나눠져 있어서 그냥 데이터가 계속 쌓이면서 과금이 된다. 아래는 계정의 전체 ECR에 untagged image 15개 이상 부터 삭제하라는 LifeCycle을 일괄 적용하는 스크립트이다. - 스크립트 ( ecr_retention_put.sh ) #!/bin/bash for i in $(aws ecr describe-repositories --query 'repositories[*].repositoryName[]' --output text) do aws ecr put-lifecycle-policy --repository-name $i --lifecycle-policy-text "file://pol..
2023.06.28 -
transfer domain to another account
- 개요 domain을 다른 AWS Account로 이관하는 방법은 아래 순서로 진행을 해야 한다 - 1. 기존 account >> aws sts get-caller-identity --query "Account" --output text 1234567890 root@ ~ >> aws route53domains list-domains --region us-east-1 { "Domains": [ { "DomainName": "example.com", "AutoRenew": true, "TransferLock": true, "Expiry": "2055-04-05T16:39:07+09:00" } ] } root@ ~ >> aws route53domains transfer-domain-to-another-aws..
2023.01.02 -
파일에서 aws access key와 secret key 추출
- 개요 credentials 파일이나 특정 파일에서 aws access key 또는 aws secret key 추출 하는 방법 - 방법 (access key 추출) cat ~/.aws/credentials | grep aws_access_key_id | awk '{print $3}' cat ~/.aws/credentials | grep aws_access_key_id | awk -F = '{print $2}' | tr -d ' ' grep -RP '(?
2022.12.14 -
elb_attr_delete_protection.sh
- 개요 AWS 리소스는 최초 생성시 대부분 삭제 방지 기능이 꺼져있는데, 삭제 방지 기능을 켜놓으면 실수로 삭제를 하게 될 경우를 미연에 방지할 수 있는 좋은 기능이다. 기 존재하는 ELB의 삭제 방지 기능을 확인하는 스크립트는 아래와 같다. 리스트 부분만 바꾸면 다른 리소스도 확인이 가능하다. - 스크립트 #!/bin/bash echo "ELB attributes" for i in $(aws elbv2 describe-load-balancers --query LoadBalancers[].LoadBalancerArn[] --output text) do echo $i aws elbv2 describe-load-balancer-attributes --load-balancer-arn $i --query 'A..
2022.12.07 -
aws cli error (An error occurred (AuthFailure) when calling the DescribeInstances operation: AWS was not able to validate the provided access credentials)
- 개요 AWS CLI는 파일 변조 및 정합성을 위해 서버 시간과 서버 타임존이 AWS Config에 설정된 값과 일치 하지 않으면 에러가 발생한다. - 에러 메세지 An error occurred (AuthFailure) when calling the DescribeInstances operation: AWS was not able to validate the provided access credentials - 해결 (WSL, ubuntu) ## chrony apt -y install chrony systemctl start chrony systemctl enable chrony ## hwclock hwclock -s echo hwclock -s >> .bashrc ## ntpdate apt inst..
2022.10.06