EC2ResponseError: 401 не авторизован с использованием модуля Saltstack boto_vpc

Я пытаюсь создать vpc, используя Saltstack и модуль boto_vpc. Это мое состояние:

vpc_create:
  module.run:
    - name: boto_vpc.create
    - cidr_block: '10.0.0.0/24'
    - vpc_name: 'myVpc'
    - region: 'us-east-1'
    - key: 'ADJJDNEJFJGNFKFKFKIW'
    - keyid: 'SJDJNFNEJUWLLLCLCLENNRBFLGSLSLKEMFUHE'

Ключи, которые я использую, верны, но я получил эту ошибку:

[INFO    ] Running state [boto_vpc.create] at time 14:25:35.839797
[INFO    ] Executing state module.run for boto_vpc.create
[ERROR   ] EC2ResponseError: 401 Unauthorized
<?xml version="1.0" encoding="UTF-8"?>
<Response><Errors><Error><Code>AuthFailure</Code><Message>AWS was not able to validate the provided access credentials</Message></Error></Errors><RequestID>7cb74939-afda-4722-a31e-2855c5cbe16b</RequestID></Response>
[ERROR   ] {'ret': False}
[INFO    ] Completed state [boto_vpc.create] at time 14:25:35.882840
[DEBUG   ] File /var/cache/salt/minion/accumulator/49944656 does not exist, no need to cleanup.
[DEBUG   ] LazyLoaded highstate.output
[DEBUG   ] LazyLoaded nested.output
local:
----------
          ID: vpc_create
    Function: module.run
        Name: boto_vpc.create
      Result: False
     Comment: Module function boto_vpc.create executed
     Started: 14:25:35.839797
    Duration: 43.043 ms
     Changes:
              ----------
              ret:
                  False

Солтстек версия:

Salt: 2015.5.0
         Python: 2.6.9 (unknown, Apr  1 2015, 18:16:00)
         Jinja2: 2.7.2
       M2Crypto: 0.21.1
 msgpack-python: 0.4.6
   msgpack-pure: Not Installed
       pycrypto: 2.6.1
        libnacl: Not Installed
         PyYAML: 3.10
          ioflo: Not Installed
          PyZMQ: 14.3.1
           RAET: Not Installed
            ZMQ: 3.2.5
           Mako: Not Installed

Я пробовал с aws ec2 create-vpc --cidr-block 10.0.0.0/16 и работает отлично!

3 ответа

Решение

Проблема была связана с ключами. (моя ошибка, так глупо) В этом случае ключ относится к AWS_SECRET_ACCESS_KEY и ключ к AWS_ACCESS_KEY_ID

Ошибка говорит, что у вас ошибка аутентификации:

AWS was not able to validate the provided access credentials

Дважды проверьте свои учетные данные (ключ доступа / секретный ключ доступа)

Несколько вещей здесь:

  1. Вам следует использовать модуль состояния vpc, так как он будет выполнять действия идемпотентно: http://docs.saltstack.com/en/develop/ref/states/all/salt.states.boto_vpc.html
  2. Вероятно, есть какая-то ошибка с использованием ключа / ключа. Вам не нужно использовать это. Вы можете использовать переменные окружения boto или файл конфигурации boto при вызове соли. Пожалуйста, откройте ошибку о проблеме с ключом / ключом.

Обновление: Кажется, у 2015.5 нет модуля состояния, что является неудачным. Вы можете перенести модуль состояния и обновленный модуль выполнения до 2015.5, хотя: http://ryandlane.com/blog/2015/06/03/using-development-branch-saltstack-python-modules-in-the-stable-release/

Другие вопросы по тегам