#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