Как настроить AWS CLI в Linux: несколько методов, объясненных примерами кода

Чтобы настроить интерфейс командной строки (CLI) AWS в Linux, вы можете использовать различные методы. Вот несколько различных подходов и примеры кода:

Метод 1: использование файла конфигурации AWS

  1. Установить интерфейс командной строки AWS:
    $ sudo apt install awscli
  2. Настроить интерфейс командной строки AWS:
    $ aws configure

    Эта команда предложит вам ввести идентификатор ключа доступа AWS, секретный ключ доступа, имя региона по умолчанию и формат вывода по умолчанию. После предоставления этих данных конфигурация будет сохранена в файле конфигурации AWS, расположенном по адресу ~/.aws/config.

Метод 2: использование переменных среды

  1. Задайте переменные среды:
    $ export AWS_ACCESS_KEY_ID=<your-access-key-id>
    $ export AWS_SECRET_ACCESS_KEY=<your-secret-access-key>
    $ export AWS_DEFAULT_REGION=<your-default-region>

    Замените <идентификатор-ключа-доступа>, <ваш-секретный-ключ-доступа>и <ваш-регион-по-умолчанию>со своими значениями.

Метод 3. Использование профиля AWS

  1. Установить интерфейс командной строки AWS:
    $ sudo apt install awscli
  2. Настройте AWS CLI с именованным профилем:
    $ aws configure --profile myprofile

    Эта команда предложит вам ввести те же данные, что и в методе 1. Конфигурация будет сохранена в файле конфигурации AWS под профилем с именем myprofile.

Метод 4. Использование метаданных экземпляра EC2
Если вы запускаете CLI AWS на экземпляре EC2 с прикрепленной ролью IAM, вы можете автоматически настроить CLI, используя метаданные экземпляра:

$ aws configure set aws_access_key_id "$(curl -s http://169.254.169.254/latest/meta-data/iam/security-credentials/ | \
  xargs -I {} curl -s http://169.254.169.254/latest/meta-data/iam/security-credentials/{}/ | \
  jq -r .AccessKeyId)"
$ aws configure set aws_secret_access_key "$(curl -s http://169.254.169.254/latest/meta-data/iam/security-credentials/ | \
  xargs -I {} curl -s http://169.254.169.254/latest/meta-data/iam/security-credentials/{}/ | \
  jq -r .SecretAccessKey)"
$ aws configure set aws_session_token "$(curl -s http://169.254.169.254/latest/meta-data/iam/security-credentials/ | \
  xargs -I {} curl -s http://169.254.169.254/latest/meta-data/iam/security-credentials/{}/ | \
  jq -r .Token)"

Этот метод извлекает идентификатор ключа доступа, секретный ключ доступа и токен сеанса из метаданных экземпляра и устанавливает их в качестве конфигурации AWS CLI.