CLI(11)
-
AWS S3 bucket arn 추출하기
- 개요 ARN은 AWS resource의 고유 정보로 많은 CLI에서 유용하게 사용되나, S3 bucket ARN은 CLI를 통해 추출이 불가하다. - S3 bucket ARN 추출하는 법 aws s3 ls | awk '{print $3}' | sed 's/^/arn:aws:s3:::/' - ChatGPT (X)
2023.01.31 -
AWS CloudTrail CLI example(delete ECS service event)
- CLI aws cloudtrail lookup-events --lookup-attributes AttributeKey=,AttributeValue= - attribute AccessKeyId EventId EventName EventSource ReadOnly ResourceName ResourceType Username - delete ECS service event (example) aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventName,AttributeValue=DeleteService --query Events[].Resources[].ResourceName - reference https://docs.aws.amazon..
2023.01.30 -
파일에서 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 -
retention 없는 CloudWatch logs의 log groups
- 개요 테라폼이나 AWS Web console에서 AWS 리소스를 생성할 때 CloudWatch Logs에 log group이 retention 설정 없이 생성되는 경우가 많으며 관리가 안돼서 비용이 과금되는 경우가 많다. 아래는 기 생성된 log groups의 retention을 확인하고 적용하는 명령어를 자동 생성해 주는 스크립트이다. - 스크립트 #!/bin/bash echo "CloudwatchLog without Retention Settings" for i in $(aws logs describe-log-groups --query logGroups[*].logGroupName[] --output text) do CloudwatchLogRetention=$(aws logs describe-lo..
2022.12.07 -
route53 dns query logging
- 개요 route53의 DNS 쿼리로그를 남기면 CloudWatch Logs에서 확인이 가능하다. - 설정 방법 https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html - 모니터링 ## cloudwatch loggroup awslogs get --aws-region us-east-1 -S -G --watch
2022.12.06 -
Unable to update platform version on services with a CODE_DEPLOY deployment controller. Use AWS CodeDeploy to trigger a new deployment
- 개요 CodeDeloy로 B/G deployment가 구성되어 있는 ECS의 경우 desired count를 AWS Web Console에서 변경을 시도할 경우 에러가 발생한다. - 에러 메세지 HTTP status code 400 Unable to update platform version on services with a CODE_DEPLOY deployment controller. Use AWS CodeDeploy to trigger a new deployment. - 해결 방법 (CLI를 통해 처리) aws ecs update-service --cluster --service --desired-count X
2022.11.29 -
AWS Cli under ipv6
- 개요 ipv6 사용중인 subnet에 할당된 ec2에서 aws cli 사용할 경우 에러가 발생한다 - 해결 방법 aws configure set default.s3.use_dualstack_endpoint true - 참고 https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html#cli-configure-files-where
2022.11.23 -
codepipeline stage status
- 개요 CodePipeline의 상태 확인을 할 수 있는 스크립트이다 - 스크립트 #!/bin/bash echo "CodePipeline Deploy Status" for i in {0..2}; do for codepipeline in $(aws codepipeline list-pipelines --query pipelines[].name --output text) do stage=$(aws codepipeline get-pipeline-state --name $codepipeline --query 'stageStates[].latestExecution[].status | '[$i]'' --output text) if [[ $stage == "Succeeded" ]] || [[ $stage == "No..
2022.11.21 -
s3 파일 다운로드 없이 CLI로 간단히 보는 방법
- 개요 S3에 있는 object는 download를 하지 않으면 내용을 볼 수가 없다. 아래는 S3 object를 download 없이 간단히 확인할 수 있는 방법이다. - 확인 방법 aws s3 cp --quiet s3:///foo_bar.txt /dev/stdout
2022.10.12 -
AWS ECS service last event
- 개요 ECS의 Service의 상태를 확인하는 가장 효과적인 방법은 최근 event 를 확인하는 것이다. 아래는 사용하고 있는 전체 ECS Service의 마지막 event log를 확인하는 스크립트 이다. - 스크립트 #!/bin/bash declare -a ecscluster=$(aws ecs list-clusters | awk -F / '{print $2}' | tr -d '",' | awk NF) region=`aws configure get profile.default.region` for i in ${ecscluster[@]} do for service in $(aws ecs list-services --cluster $i | awk -F / '{print $3}' | tr -d '",' ..
2022.10.12