Amazon EC2에서 호스팅하는 두 가지 앱이 있습니다 (두 번째 앱은 곧 올라갈 것입니다).
명령 줄 (Mac OS X)에서 두 계정을 모두 사용하면서 EC2 키와 인증서를 별도로 유지하려면 어떻게해야합니까? 각 ec2- * 명령을 실행하기 전에 환경 변수를 변경해야합니까?
별칭을 사용하고이를 환경 설정에 인라인으로 적용 하시겠습니까? 다음과 같은 것 :
별칭 ec2-describe-instances1 = 내보내기 EC2_PRIVATE_KEY = / path; ec2-describe-instances
답변
환경 변수 EC2_PRIVATE_KEY
(및 심지어 EC2_CERT
) 대신 다음 명령 옵션을 사용할 수 있어야 합니다.
-K <private key>
-C <certificate>
예를 들어 이러한 별칭을 내부에 넣을 수 있습니다.
alias ec2-describe-instances1 ec2-describe-instances -K /path/to/key.pem
답변
aws 명령 줄에서 두 개의 프로필 을 생성하여 두 개의 계정으로 작업 할 수 있습니다 . AWS 액세스 키 ID, AWS 보안 액세스 키 및 원하는 리전을 묻는 메시지가 표시 되므로 준비하십시오.
예 :
$ aws configure --profile account1
$ aws configure --profile account2
그런 다음 명령에 프로필을 전달하여 계정간에 전환 할 수 있습니다.
$ aws dynamodb list-tables --profile account1
$ aws s3 ls --profile account2
노트 :
프로파일 이름을하는 경우가 될 default
이 될 것입니다 기본 프로필 즉 때 어떤 --profile
명령에 PARAM.
기본 프로필에 대해 자세히 알아보기
account1을 사용하는 데 더 많은 시간을 할애하는 경우 AWS_DEFAULT_PROFILE 환경 변수를 설정하여 기본값으로 설정할 수 있습니다. 기본 환경 변수가 설정되면 각 명령에 프로필을 지정할 필요가 없습니다.
Linux, OS X 예 :
$ export AWS_DEFAULT_PROFILE=account1
$ aws dynamodb list-tables
Windows 예 :
$ set AWS_DEFAULT_PROFILE=account1
$ aws s3 ls
답변
여전히 누군가를 도울 수 있습니다. 수동으로 설정할 수 있습니다.
1) 파일에서 설정
~/.aws/credentials
이
[default]
aws_access_key_id={{aws_access_key_id}}
aws_secret_access_key={{aws_secret_access_key}}
[{{profile_name}}]
aws_access_key_id={{aws_access_key_id}}
aws_secret_access_key={{aws_secret_access_key}}
- {{aws_access_key_id}} AWS Console> Identity and Access Management> 보안 자격 증명> 액세스 키 섹션에서 얻을 수 있습니다.
2) 파일에서 설정
~/.aws/config
이
[default]
region={{region}}
output={{output:"json||text"}}
[profile {{profile_name}}]
region={{region}}
output={{output:"json||text"}}
3) AWS Command Line으로 테스트하면 명령 및 출력이 JSON이됩니다.
aws ec2 describe-instances --profile {{profile_name}}
Ref
http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-multiple-profiles
답변
새로운 aws 도구는 이제 여러 프로필을 지원합니다.
도구를 사용하여 액세스를 구성하면 ~ / .aws / config에 기본값이 자동으로 생성됩니다.
그런 다음 추가 프로필을 추가 할 수 있습니다. 자세한 내용은 다음을 참조하세요.
http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-multiple-profiles
답변
사용자 입력에 따라 각 계정에 해당하는 환경 변수 값을 설정하는 셸 스크립트를 작성할 수 있습니다. 이렇게하면 별칭을 만들 필요가 없으며 ELB 도구, Auto Scaling 명령 줄 도구와 같은 도구도 여러 계정에서 작동합니다.
답변
AWS 계정간에 전환 할 수 있는 간단한 도구 aaws를 만들었습니다 .
AWS_DEFAULT_PROFILE
셸에서 설정하면 작동 합니다. ~/.aws/credentials
파일에 몇 가지 항목이 있는지 확인하면 여러 계정간에 쉽게 전환됩니다.
/tmp
$ aws s3 ls
Unable to locate credentials. You can configure credentials by running "aws configure".
/tmp
$ aaws luk3
[luk3] ? /tmp
$ aws s3 ls
2013-11-05 21:40:04 luk3thomas.com