Скрипт Bash для установки инструментов AWS CLI

Я пишу bash-скрипт, который автоматически установит и настроит инструменты AWS CLI. Я могу установить инструменты AWS CLI, но не могу их настроить.

Мой скрипт примерно такой:

#!/bin/bash


wget https://s3.amazonaws.com/aws-cli/awscli-bundle.zip
unzip awscli-bundle.zip
sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
./awscli-bundle/install -b ~/bin/aws
./awscli-bundle/install -h

aws configure
AWS Access Key ID [None]: ABCDEFGHIJKLMNOP   ## unable to provide this data
AWS Secret Access Key [None]: xbdwsdADDS/ssfsfa/afzfASADQASAd   ## unable to provide this data
Default region name [None]: us-west-2   ## unable to provide this data
Default output format [None]: json   ## unable to provide this data

Я также хочу выполнить настройку с помощью этого скрипта. Я хочу, чтобы я мог предоставить эти учетные данные через сценарий, чтобы предотвратить ручной ввод. Как это может быть сделано?


person Rahul Mehrotra    schedule 02.07.2014    source источник
comment
Если вы хотите запустить это на экземплярах, которые вы запускаете, рассмотрите возможность использования Роли IAM для EC2 вместо внедрения ваших учетных данных. Экземпляр заботится о выдаче временных учетных данных и их ротации, вам просто нужно указать роль IAM при запуске экземпляра. Однако вам все равно нужно будет установить настоящие инструменты.   -  person Jon McAuliffe    schedule 04.07.2014


Ответы (3)


Используйте файл конфигурации, а не команду aws configure. Создайте файл с именем ~/.aws/config, который выглядит следующим образом:

[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
region=us-west-2
output=json

Дополнительная информация в документации.

person Ben Whaley    schedule 02.07.2014
comment
Помимо этого, вы также можете установить учетные данные, регион и вывод в качестве переменных среды или аргументов cli. См.: docs.aws.amazon.com/ cli/последний/userguide/ - person Julio Faerman; 02.07.2014
comment
Я не могу найти каталог ~/.aws/ - person Rahul Mehrotra; 02.07.2014
comment
вам нужно будет создать каталог ~/.aws и внутри него файл 'config' - person Santhosh S; 02.07.2014

лучше всего установить утилиту awscli с помощью BASH и скопировать файл из указанного вами местоположения из 2 файлов.

не задев

#aws configure 

эти файлы не будут созданы, вы можете скопировать и вставить файлы с помощью сценария bash и выполнить все выполнение

~/.aws/credintials
~/.aws/config

где учетные данные содержат

[default]
aws_access_key_id=ABCDEFGHIJKLMNOP
aws_secret_access_key=xbdwsdADDS/ssfsfa/afzfASADQASAd

и файл конфигурации содержит

[default]
output=json
region=us-west-2

Это поможет вам хранить ключи в одном месте, и вы также можете применить их для своего выполнения для любого инструмента CMT, а также для Ansible.

person Daljit Sinz    schedule 16.10.2017

вы дополнительно настраиваете это из командной строки, которая создаст файл конфигурации

aws configure set aws_access_key_id ABCDEFGHIJKLMNOP
aws configure set aws_secret_access_key xbdwsdADDS/ssfsfa/afzfASADQASAd
aws configure set default.region eu-west-1
person michael emens    schedule 26.09.2018