AWS Cloud

CLI 활용 방법(LoadBalancer를 기준으로 작성)

Sungtaek, YOO 2020. 9. 24. 00:18
반응형

1. CLI ??

 CLI는 Command Line Interface의 줄임말이며, 말 그대로 명령어를 입력하여 사용하는 방식. 대부분의 사람들이 AWS Console을 이용해 손쉽게 AWS를 컨트롤하지만, CLI를 사용하면 조금 더 쉽게 원하는 내용만 추출할 수 있다는 장점이 있으며, 지속적으로 활용해볼 가치가 있음.

 

 

 

2. CLI 활용이 필요한 상황

 현재 사용하고 있는 여러개의 ALB 중 일부가 Access Log 기능이 활성화되어있지 않아 장애 발생 시, 로그 확인에 어려움을 겪을 수 있는 상황 발생. Access Log 기능이 활성화되어있는지를 확인하기 위해서는 한 개씩 모든 ALB를 확인하면 되지만 더 쉽게 찾아보기 위해 시도.

AWS 콘솔상에서 해당 버튼이 활성화되어있지 않은 경우 발생. (AWS 블로그에서 이미지 발췌)

CLI를 통해 해당 문제가 완전히 해결된 상황은 아니지만, 혹여나 저와 비슷한 생각을 가지고 계신 분이 있지 않을까 하여 우선 작성.

 

CLI를 활용하기 위해서는 사용자 PC에 AWS CLI를 설치해야하며, 설치 방법은 검색해보시길..

 

 

 

3. CLI 활용 방법

 CLI는 리눅스와 마찬가지로 지속적으로 help 명령어를 통해 확인할 수 있음.

 

처음 사용을 어떻게 해야할지 모르겠을 때는, aws help를 입력하면 aws의 어떤 서비스들을 CLI를 통하여 사용가능한지 모든 서비스 확인 가능.

 

aws elbv2 describe-load-balancers

 

현재 aws cli를 설정한 계정에는 테스트를 위해 ALB 하나만 만들어 둔 상태이며, ALB에 대한 설명이 나옴.

하지만 제가 확인하고자 하는 정보는 해당 명령어를 통해 확인이 불가능하여 다른 명령어를 찾아 다시 입력.

 

 

aws elbv2 describe-load-balancer-attributes --load-balancer-arn arn:aws:(내소중한 정보)

해당 명령어를 입력하였을 때, 내가 찾고자 하는 "access_logs.s3.enabled", "false"가 나옴.(테스트를 위해 만든 ALB는 access log 비활성화 상태)

위의 명령어는 원하는 로드밸런서의 ARN(Amazon Resource Name)이 필요하기 때문에 VPC에 있는 모든 정보를 한번에 찾을 수 없다.

 

방법을 찾기위해 노력하는중..

 

 

시도했던 방법 1.

arn을 입력하여야 할 부분에 *를 사용하여 모든 arn을 검색하는 방법이 될까 싶어 시도해보았지만..내가 찾는것과는 다르지만 IAM의 무언가를 추출할 때도 ARN이 필요한 것을 알았으며, AWS측에서 가이드하는 아래 내용을 보고 포기.

 

 

 

시도중인 방법 2.

현재 내 계정내에 있는 모든 로드밸런서의 arn을 먼저 추출하여, 위 식에 대입해보는 방법

테스트를 위해 로드밸런서를 한개 더 생성하여(총 2개 로드밸런서) 모든 로드밸런서 arn을 추출하고,

arn을 사용해야 할 곳에 반복문이나 aws cli에서 사용가능한 논리연산을 사용하여 찾는 방법을 고민중...

 

 

 

*elbv2를 통해 ALB, NLB, CLB 모두 확인할 수 있는 명령어이며, 'elb'명령어도 있으니 필요에 따라 참고해서 사용하면 됨.

elbv2에 대한 Description

 

4. 느낀점

 CLI를 이리저리 잘만 사용하면 많은 AWS 리소스 컨트롤을 보다 쉽게 할 수 있을 것(모든 리소스를 사용자가 굳이 찾아 낼 필요 없이 추출)이라 생각하며, CLI를 활용하여 많은 테스트 진행 필요.

 

반응형