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

#linux #bash #shell #amazon-web-services #aws-cli

#linux #bash #оболочка #amazon-веб-сервисы #aws-cli

Вопрос:

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

Мой скрипт выглядит примерно так:

 #!/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
  

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

Комментарии:

1. Если вы хотите запустить это в запускаемых вами инстансах, рассмотрите возможность использования ролей IAM для EC2 вместо встраивания ваших учетных данных. Инстанс заботится о выдаче временных учетных данных и их ротации, вам просто нужно указать роль IAM при запуске инстанса. Вам все равно нужно будет установить фактические инструменты.

Ответ №1:

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

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

Больше информации в документах.

Комментарии:

1. Кроме этого, вы также можете установить учетные данные, регион и выходные данные в качестве переменных среды или аргументов cli. Смотрите: docs.aws.amazon.com/cli/latest/userguide /…

2. Я не могу найти каталог ~/.aws/

3. вам нужно будет создать каталог ~/.aws и внутри него файл ‘config’

Ответ №2:

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

не нажимая

 #aws configure 
  

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

 ~/.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.

Ответ №3:

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

 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