python fabric3, выполняющий функцию boto3 на удаленном экземпляре ec2 - PullRequest
0 голосов
/ 14 сентября 2018

Я пытаюсь выполнить функцию boto3 с локального компьютера с помощью сценариев python fabric3.

Конфигурация на локальном компьютере:

  1. установленный python3.5 fabric3 *Скрипт 1008 *
  2. , использующий fabric3 для создания снимка aws rds.
  3. ssh auth store в ssh-add ~/.ssh/ec2.pem

Конфигурация на экземпляре aws EC2:

  1. созданы ~ / .aws / config и ~ / .aws / учетные данные и сохранены необходимые настройки, такие как:

      a. region=, output in ~/.aws/config aws_access_key_id=,    
      b. aws_secret_access_key in ~/.aws/credentials
    
  2. rds открыт для ec2только экземпляр.

Наблюдение:

  1. при выполнении сценария фабрики с локального компьютера запрашивается botocore.exceptions.NoRegionError: You must specify a region.

  2. , если я предоставляю имя региона в boto3.client (region_name = ''), он запросит botocore.exceptions.NoCredentialsError: Unable to locate credentials

означает, что Python Fabric не принимает файлы ~ / .aws / config и ~ / .aws / credentials.

1.Собирает ли Python Fabric учетные данные и конфиги из ~ / .aws?потому что я не хочу предоставлять учетные данные через скрипт фабрики

2.Каков стандартный способ развертывания на основе матрицы в aws-ec2

1 Ответ

0 голосов
/ 25 сентября 2018

На время создания boto3.client () я передал требуемый aws_access_key_id aws_secret_access_key, но все еще проблема в том, почему клиент boto3 не получает файлы .aws / config и .aws / cred при запуске черезСкрипт Python Fabric.

...