Chef deploy not working on Ubuntu 14.04 looking for credentials

Я использую Ubuntu 14.04 chef-solo stack, но с сегодняшнего дня, когда я запускаю сценарий развертывания, он выдает следующую ошибку. Пожалуйста, помогите.

========== ubuntu@i-production-base:~$ sudo /var/chef/scripts/deploy.rb /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/core/credential_providers.rb:140:in `credentials': (AWS::Errors::MissingCredentialsError). Missing Credentials.

Невозможно найти учетные данные AWS. Вы можете настроить учетные данные AWS несколькими различными способами:

  • Вызовите AWS.config с :access_key_id и :secret_access_key

  • Экспортируйте AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY в ENV

  • На EC2 вы можете запустить экземпляры с профилем экземпляра IAM, и учетные данные будут автоматически загружены из службы метаданных экземпляра на этих экземплярах.

  • Вызовите AWS.config с параметром :credential_provider. Провайдер учетных данных должен либо включать AWS::Core::CredentialProviders::Provider, либо реагировать на те же публичные методы.

= Ruby on Rails

В приложении Ruby on Rails вы также можете указать свои учетные данные следующими способами следующими способами:

  • Через скрипт инициализатора конфигурации, используя любой из методов, упомянутых выше (например, RAILS_ROOT/config/initializers/aws-sdk.rb).

  • Через конфигурационный файл yaml, расположенный по адресу RAILS_ROOT/config/aws.yml. Этот файл должен быть оформлен как файл по умолчанию RAILS_ROOT/config/database.yml файл.

    from /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/core/credential_providers.rb:62:in access_key_id' from /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/core/client.rb:549:inbuild_request' from /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/core/client.rb:491:in block (3 level) in client_request' from /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/core/response.rb:175:inbuild_request' from /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/core/response.rb:114:in initialize' from /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/core/client.rb:203:innew' from /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/core/client.rb:203:in new_response' from /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/core/client.rb:490:inblock (2 level) in client_request' from /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/core/client.rb:391:in log_client_request' from /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/core/client.rb:477:inblock in client_request' from /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/core/client.rb:373:in return_or_raise' from /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/core/client.rb:476:inclient_request' from (eval):3:indescribe_tags' from /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/ec2/filtered_collection.rb:44:infiltered_request' from /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/ec2/resource_tag_collection.rb:194:in to_h' from /var/chef/scripts/deploy.rb:243:infetch_ec2_meta_data' from /var/chef/scripts/deploy.rb:221:in initialize' from /var/chef/scripts/deploy.rb:328:innew' from /var/chef/scripts/deploy.rb:328:in `'

0
задан 23 January 2018 в 20:45
1 ответ

Похоже, вам нужно либо запустить экземпляр с ролью, которая имеет доступ к учетным данным. Вы можете прочитать об этом здесь или

  • экспортировать IAM-ключ и секрет через среду (в Linux будет в оболочке bash, например export AWS_ACCESS_KEY_ID = YOUR_KEY; export AWS_SECRET_ACCESS_KEY = YOUR_SECRET_KEY [1235611] ] настроить AWS sdk ... это менее вероятно, поскольку это означает, что в ваш сценарий были внесены некоторые изменения.

0
ответ дан 5 December 2019 в 06:43

Теги

Похожие вопросы