Zsh로 AWS Profile 시각화 및 전환 간소화

2931 단어 aws-cliZshAWS

이 게시물에서



Zsh를 사용하여 AWS Profile의 시각화 및 전환을 용이하게 하는 방법을 설명합니다.
설정하면 다음과 같이 AWS Profile을 시각화 및 전환할 수 있습니다.

여러 AWS 루트 계정/리전에 리소스를 생성해야 하는 사용자의 도움이 되기를 바랍니다.
또, 더 좋은 방법을 아시는 분, 꼭 가르쳐 주세요. 잘 부탁드립니다.



전제



Zsh가 설정되었다고 가정합니다.

설정 방법



1. AWS Profile 시각화



spaceship-prompt를 사용하면 AWS Profile을 쉽게 시각화할 수 있습니다.

다음 명령으로 설치,
※npm 이외에도 설치 방법이 있습니다. 자세한 내용은 공식 페이지을 참조하십시오.
$ npm install -g spaceship-prompt
~/.zshrc에 다음 설정을 추가 한 후,
autoload -U promptinit; promptinit
prompt spaceship
~/.zshrc를 읽으면 설정이 완료됩니다.
$ source ~/.zshrc

나중에 다음과 같이 환경 변수를 설정하면
$ export AWS_PROFILE=hoge

다음과 같이 AWS Profile이 프롬프트에 표시됩니다.


2. AWS Profile 전환 용이성



peco을 설치합니다.
※homebrew 이외에도 설치 방법이 있습니다. 자세한 내용은 공식 페이지을 참조하십시오.
$ brew install peco
~/.zshrc에 다음 설정을 추가 한 후,

alias awsp=aws_profile_update

function aws_profile_update() {

   PROFILES=$(aws configure list-profiles)
   PROFILES_ARRAY=($(echo $PROFILES))
   SELECTED_PROFILE=$(echo $PROFILES | peco)

   [[ -n ${PROFILES_ARRAY[(re)${SELECTED_PROFILE}]} ]] && export AWS_PROFILE=${SELECTED_PROFILE}; echo 'Updated profile' || echo ''

}
~/.zshrc를 읽으면 설정이 완료됩니다.
$ source ~/.zshrc

다음과 같이 명령을 실행하면
$ awsp

동영상처럼 ~/.aws/config에서 AWS Profile을 선택하고 전환할 수 있습니다.

3. 여담



동영상과 prompt의 표시가 다르다고 생각하는 분이 계실지도 모릅니다.
나는 spaceship을 다음과 같이 사용자 정의하고 있습니다.
SPACESHIP_TIME_SHOW=true
SPACESHIP_KUBECONTEXT_SHOW=false
SPACESHIP_DIR_PREFIX=' '
SPACESHIP_AWS_PREFIX=' '
SPACESHIP_EXEC_TIME_PREFIX=''

spaceship은 ~/.zshrc 에 환경 변수를 추가하는 것만으로 용이하게 항목의 추가/삭제나 prefix의 변경등을 할 수 있습니다.
자세한 내용은 spaceship Options을 참조하십시오.

좋은 웹페이지 즐겨찾기