aws credentials 여러개
- 여러개의 자격 증명 프로필을 가질 수 있다
- 이 경우에 aws cli, aws sam cli 등 커맨드라인을 사용할 때
- 프로필을 지정해 줘야한다
프로필 추가
1 | # aws configure --profile {profile name} |
AWS Access Key ID [None]: new
AWS Secret Access Key [None]: newkey
Default region name [None]:
Default output format [None]:
aws configure --profile {profile name}
명령을 치면 위 처럼 나오는데- 여기에 키아이디와 키를 입력한다
1 | [default] |
- %USERPROFILE%/.aws/credentials 파일을 열어보면 위처럼 [default] 프로필 아래에
- 새로운 프로필이 등록되었을 것이다
프로필 스위치
- 나는 두 가지 방법을 써봤다
방법 1; AWS_PROFILE 환경 변수 설정
- 환경 변수
AWS_PROFILE
을 원하는 프로필명으로 설정한다 set AWS_PROFILE {profilename}
setx AWS_PROFILE {profilename}
- 이렇게 2가지를 사용할 수 있다
- set은 해당 터미널에서만 적용된다. 해당 터미널이 닫히면 같이 날라간다
- setx는 모든 터미널에서 적용된다
- setx의 경우 모든 터미널을 닫았다가 열어야 적용된다. vscode 전부 닫았다가 켜야 적용된다
- 참고 ;
- 환경 변수 삭제
setx AWS_PROFILE ""
- 명명된 프로파일 ; https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/cli-configure-profiles.html
1 | # bash |
- 환경 변수 적용 확인을 꼭하자
- 방법 1은 가장 자주 쓰는 프로필을 지정할 때 좋을 것 같다
방법 2; 옵션 사용
- 환경변수 세팅 말고,
- aws cli를 사용할 때
--profile
옵션을 줄 수 있다 - aws cli를 사용하다 보면 옵션을 주지 않아도 프로필이 한 개가 아니면 명령을 실행하다가도 어떤 프로필을 사용할지 물어본다
- 근데 실수로 다른 계정에 배포를 할 수 있으니까..
--profile
옵션을 쓰는 게 좋을 것 같다 - sam cli의 경우 deploy 할 때
sam deploy --profile newprofile
이런 식으로 할 수 있겠다
- 방법 2는 워크스페이스 별로 여러 프로필로 작업할 때 좋을 것 같다.. 헷갈리지 않도록 메모 필수..!
- sam deploy ; https://docs.aws.amazon.com/ko_kr/serverless-application-model/latest/developerguide/sam-cli-command-reference-sam-deploy.html
방법 3 (번외?); config file 사용 (aws-sdk)
- cli에 적용되는 것은 아닌데, nodejs app에서 aws sdk 자격 증명하는데 json 파일을 쓸 수 있다
- 로컬에서 개발하고 클라우드 환경으로 올릴 때, 그 환경마다
aws configure
하는 게 귀찮다
1 | { |
1 | import AWS from 'aws-sdk'; |
- json 파일로 자격 증명할 수 있다
참고
- 프로필 추가 ; https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/cli-configure-quickstart.html
- 명명된 프로파일 ; https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/cli-configure-profiles.html
- sam deploy ; https://docs.aws.amazon.com/ko_kr/serverless-application-model/latest/developerguide/sam-cli-command-reference-sam-deploy.html
- 구성 및 자격 증명 파일 설정 ; https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/cli-configure-files.html?shortFooter=true
- 자격 증명 우선순위 ; https://docs.aws.amazon.com/ko_kr/sdk-for-javascript/v2/developer-guide/setting-credentials-node.html