AWS를 사용하게 되면, 특히 실제 업무에서 활용하게 되면, 여러 account를 전환하면서 사용해야 하는 경우가 발생한다. 쉽게는 개발/검증 등의 계정을 각각 둘 수도 있고, 개인적인 경우라면 회사용, 개인 개발용, 학습용 등등을 두고 사용하는 것이 가능하다.
여기서는 이러한 계정들을 다 하나의 PC에 설치해 두고, 서로 전환해 가면서 사용할 수 있는 방법을 살펴보고자 한다. 여기서 계정을 설치한다는 의미는 awscli 상에 로그인 정보를 넣어두는 것을 의미하며, 웹 콘솔에 대한 부분은 아니다.
AWS Configure --profile
처음에 AWS Console 의 IAM에서 생성한 사용자에 대해, access key 를 생성해두면, 로컬 환경에서 다음과 같이 설정하여 configure 할 수 있다.
aws configure
AWS Access Key ID [****************XXXX]:
AWS Secret Access Key [****************XXXX]:
Default region name [ap-northeast-2]:
Default output format [json]:
사실 계정을 전환하려면 위 명령어 aws configure
를 한 번 더
입력하고 다시 계정 정보를 입력하면 되지만, 비밀번호도 아닌 access key
를 가지고 하는 저 과정을 매번 전환하면서 하기란 귀찮은 일이다.
이럴때는 --profile
옵션을 이용하여 각 configure정보를 profile에 저장한다.
aws configure --profile testUser
AWS Access Key ID [****************XXXX]:
AWS Secret Access Key [****************XXXX]:
Default region name [ap-northeast-2]:
Default output format [json]:
저렇게 profile을 지정해 두면, awscli 명령어 뒤에 --profile
과 함께
사용하고자 하는 profile 이름을 입력하여 사용할 수 있다.
aws s3 ls --profile testUser
기본 프로파일 설정하기
위와 같이 설정하면, 프로파일로 동작하긴 하지만, 다른 툴이나 바이너리에서
aws 인증정보를 활용하려고 할 때 여전히 사용하지 못한다. 따라서
아래와 같이 AWS_DEFAULT_PROFILE
값을 지정해 주면 문제없이 사용이
가능하다.
export AWS_DEFAULT_PROFILE=testUser
이제 --profile
옵션 없이 command 실행해도 정상적으로 동작한다.
aws s3 ls
기본값 활성화하기
만약 profile을 정말 자주 변경해야 한다면, 위와 같이 set
명령어를 이용해서 설정을 매번 바꿔줘야 한다.
하지만 매번 로그인하던 것 보다는 훨씬 편하다.
자주 변경되지는 않으나 종종 변경해야 하고, 기본값이 되었으면 하는 profile이
명확하다면 위 설정 부분을 .zshrc
혹은 .bashrc
에 넣는다.
Leave a comment