본문 바로가기

개발관련

AWS CLI 자동완성 기능 설정하기

AWS를 사용하다보면 CLI를 쓰면 보다 편할 때가 많다. (스크립트로 자동화시키기도 편하고, 웹의 관리콘솔에서 클릭하는게 피곤할 때가 있어서..)

하지만 CLI의 모든 명령을 외우기는 쉽지 않다 자동완성 기능을 사용하면 좋을텐데, AWS CLI 설치 직후에 자동으로 자동완성 기능이 활성화되지는 않는다. 자동완성 기능은 다음 과정을 거쳐서 설정할 수 있다.

 

AWS CLI가 컴퓨터에 설치되어있는 것을 전제로 하고 있습니다. AWS CLI 설치 방법은 AWS 공식 문서를 참고하여 설치할 수 있습니다.

https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/getting-started-install.html

 

최신 버전의 AWS CLI 설치 또는 업데이트 - AWS Command Line Interface

이전 버전에서 업데이트하는 경우 unzip 명령을 실행하면 기존 파일을 덮어쓸지 묻는 메시지가 표시됩니다. 스크립트 자동화와 같은 경우에 이러한 프롬프트를 건너뛰려면 unzip에 대한 -u 업데이

docs.aws.amazon.com

 

자동완성 기능 작동 여부 확인하기

터미널에서 aws dyna + TAB키를 눌러서 aws dynamodb로 자동완성이 되는지 확인해보자. 자동완성이 안 된다면 아직 설정이 안된 것이고, 완성이 된다면 제대로 설정이 되있는 것이므로 그대로 사용하면 된다. 자동완성이 안 된다면 다음을 통해 설정을 해보자!

설정이 완료되고나면 TAB을 누르면 다양한 완성된 선택지가 보여진다.

Linux & macOS 환경에서 자동완성 설정하기

먼저 aws_completer가 PATH 환경변수에 설정되어 있어야한다. 다음을 command를 통해 aws_completer가 PATH에 설정되어있는지 확인하자.

$ which aws_completer
/usr/local/bin/aws_completer

해당 명령 실행 시 not found가 나온다면 PATH 환경변수에 설정되어있지 않은 것이므로 find 명령으로 실행파일의 위치를 찾아서 PATH 환경변수에 추가하자.

$ find / -name aws_completer
/usr/local/bin/aws_completer

aws_completer가 PATH에 추가되어있다면, 다음을 자신이 사용하는 쉘 환경에 따라서 ~/.zshrc, ~/.bashrc, ~/.bash_profile 등에 추가해서 설정을 완료하자. macOS 유저라면 zsh가 기본 쉘이므로 .zshrc를 수정하면 될 것이다.

# bash의 경우
complete -C '/usr/local/bin/aws_completer' aws
# zsh의 경우
autoload bashcompinit && bashcompinit
autoload -Uz compinit && compinit
complete -C '/usr/local/bin/aws_completer' aws

해당 설정이 완료되었다면, 다시 aws dyna + TAB을 눌러서 자동완성이 되는지 확인해보자! (변경사항 적용을 위해 source ~/.zshrc 등을 해야할 수도 있다) 제대로 되는 것을 확인할 수 있을 것이다! 더욱 편리하게 AWS CLI 사용이 가능해질 것 같다!

 

 

이 글은 아래 글을 참고하였다. Windows 유저의 경우 아래 글에 설정 방법이 있으므로 아래 글을 참고해서 설정하도록 하자!

https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-completion.html

 

Command completion - AWS Command Line Interface

Command completion is automatically configured and enabled by default on Amazon EC2 instances that run Amazon Linux.

docs.aws.amazon.com