Como usar várias contas AWS a partir da linha de comando?
Como posso trabalhar com ambas as contas na linha de comandos (Mac OS X) mas manter as teclas e certificados EC2 separados? Preciso de mudar as minhas variáveis de ambiente antes de cada comando ec2 -*?
usaria um pseudónimo e tê-lo-ia no ambiente em linha? Algo do género:
Alias ec2-describe-instances1 = export EC2_PRIVATE_KEY= / path ; EC2-describe-instances
6 answers
Deverá ser capaz de usar as seguintes opções de comandos em vez das variáveis de ambiente EC2_PRIVATE_KEY
(e mesmo EC2_CERT
):
-K <private key>
-C <certificate>
Podes pôr isto dentro dos pseudónimos, por exemplo
alias ec2-describe-instances1 ec2-describe-instances -K /path/to/key.pem
Pode trabalhar com duas contas criando dois perfis na linha de comandos aws. Irá pedir-lhe o seu ID da chave de acesso AWS, a chave de acesso secreto AWS e a região desejada, por isso tenha-os prontos.
Exemplos:
$ aws configure --profile account1
$ aws configure --profile account2
Você pode então mudar entre as contas passando o perfil no comando.
$ aws dynamodb list-tables --profile account1
$ aws s3 ls --profile account2
Nota:
Se indicar o perfil a ser {[4] } tornar-se-á Perfil predefinido ou seja, quando não --profile
param no comando.
Mais no Perfil predefinido
Se passar mais tempo a usar a conta , poderá torná-la por omissão, definindo a variável de ambiente AWS_DEFAULT_ profile. Quando a variável de ambiente padrão é definida, você não precisa especificar o perfil em cada comando.
Linux, exemplo do OS X:
$ export AWS_DEFAULT_PROFILE=account1
$ aws dynamodb list-tables
Exemplo Das Janelas:
$ set AWS_DEFAULT_PROFILE=account1
$ aws s3 ls
1) conjunto no ficheiro
~/.aws/credentials
Isto
[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}} pode entrar na secção da consola AWS > Gestão de identidade e acesso > credenciais de Segurança > Chaves de Acesso
2) definido no ficheiro
~/.aws/config
Isto
[default]
region={{region}}
output={{output:"json||text"}}
[profile {{profile_name}}]
region={{region}}
output={{output:"json||text"}}
3) testa-o com a linha de comandos AWS e o comando e a saída serão 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
As novas ferramentas aws suportam agora vários perfis.
Se configurar o acesso com as ferramentas, cria automaticamente um valor por omissão em ~/.aws / config.
Pode então adicionar perfis adicionais-mais detalhes em:
Http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-multiple-profiles
Pode escrever um programa de consola para definir os valores correspondentes das variáveis de ambiente para cada conta, com base na entrada do utilizador. Ao fazê-lo, você não precisa criar quaisquer pseudônimos e, além disso, ferramentas como ferramentas ELB, Auto Scaling Ferramentas de linha de comando irá funcionar sob várias contas também.