Amazon web services 在实例上设置aws opsworks时出现凭据错误

Amazon web services 在实例上设置aws opsworks时出现凭据错误,amazon-web-services,amazon-ec2,aws-opsworks,Amazon Web Services,Amazon Ec2,Aws Opsworks,我正在尝试在Ubuntu EC2实例上设置opsworks以监视日志。我正在向Opsworks注册我的实例。我收到的注册命令是(插入x以保护信息) 但是,当我运行此命令时,安装失败并出现错误 /opt/aws/opsworks/local/lib/ruby/gems/2.2.0/gems/aws-sdk-core-2.2.26/lib/aws-sdk-core/plugins/request_signer.rb:100:in `require_credentials': unable to si

我正在尝试在Ubuntu EC2实例上设置opsworks以监视日志。我正在向Opsworks注册我的实例。我收到的注册命令是(插入x以保护信息)

但是,当我运行此命令时,安装失败并出现错误

/opt/aws/opsworks/local/lib/ruby/gems/2.2.0/gems/aws-sdk-core-2.2.26/lib/aws-sdk-core/plugins/request_signer.rb:100:in `require_credentials': unable to sign request without credentials set (Aws::Errors::MissingCredentialsError)

这表明我没有设置aws凭据,但我在~/.aws/凭据中设置了访问密钥ID和机密访问密钥。我还尝试将这两个变量作为环境变量导出,但仍然收到相同的错误。知道为什么会这样吗

这是完整的输出

[Wed, 01 Jul 2020 01:33:32 +0000] installer-wrapper: Using opsworks-instance-assets-us-west-2.s3.amazonaws.com for assets.
[Wed, 01 Jul 2020 01:33:32 +0000] installer-wrapper: Skipping installation of opsworks-agent-ruby because it's already installed
[Wed, 01 Jul 2020 01:33:32 +0000] installer-wrapper: Cleaning up
[Wed, 01 Jul 2020 01:33:32 +0000] opsworks-init: Starting the installer
/opt/aws/opsworks/local/lib/ruby/gems/2.2.0/gems/aws-sdk-core-2.2.26/lib/aws-sdk-core/plugins/request_signer.rb:100:in `require_credentials': unable to sign request without credentials set (Aws::Errors::MissingCredentialsError)
    from /opt/aws/opsworks/local/lib/ruby/gems/2.2.0/gems/aws-sdk-core-2.2.26/lib/aws-sdk-core/plugins/request_signer.rb:90:in `sign_authenticated_requests'
    from /opt/aws/opsworks/local/lib/ruby/gems/2.2.0/gems/aws-sdk-core-2.2.26/lib/aws-sdk-core/plugins/request_signer.rb:83:in `call'
    from /opt/aws/opsworks/local/lib/ruby/gems/2.2.0/gems/aws-sdk-core-2.2.26/lib/aws-sdk-core/plugins/retry_errors.rb:87:in `call'
    from /opt/aws/opsworks/local/lib/ruby/gems/2.2.0/gems/aws-sdk-core-2.2.26/lib/aws-sdk-core/json/handler.rb:11:in `call'
    from /opt/aws/opsworks/local/lib/ruby/gems/2.2.0/gems/aws-sdk-core-2.2.26/lib/aws-sdk-core/plugins/user_agent.rb:12:in `call'
    from /opt/aws/opsworks/local/lib/ruby/gems/2.2.0/gems/aws-sdk-core-2.2.26/lib/seahorse/client/plugins/endpoint.rb:41:in `call'
    from /opt/aws/opsworks/local/lib/ruby/gems/2.2.0/gems/aws-sdk-core-2.2.26/lib/aws-sdk-core/plugins/param_validator.rb:21:in `call'
    from /opt/aws/opsworks/local/lib/ruby/gems/2.2.0/gems/aws-sdk-core-2.2.26/lib/seahorse/client/plugins/raise_response_errors.rb:14:in `call'
    from /opt/aws/opsworks/local/lib/ruby/gems/2.2.0/gems/aws-sdk-core-2.2.26/lib/aws-sdk-core/plugins/param_converter.rb:20:in `call'
    from /opt/aws/opsworks/local/lib/ruby/gems/2.2.0/gems/aws-sdk-core-2.2.26/lib/seahorse/client/plugins/response_target.rb:21:in `call'
    from /opt/aws/opsworks/local/lib/ruby/gems/2.2.0/gems/aws-sdk-core-2.2.26/lib/seahorse/client/request.rb:70:in `send_request'
    from /opt/aws/opsworks/local/lib/ruby/gems/2.2.0/gems/aws-sdk-core-2.2.26/lib/seahorse/client/base.rb:207:in `block (2 levels) in define_operation_methods'
    from /tmp/opsworks-agent-installer.31Gl4pMnG52hqBgo/opsworks-agent-installer/opsworks-agent/lib/bootstrap/registration.rb:136:in `register_instance'
    from /tmp/opsworks-agent-installer.31Gl4pMnG52hqBgo/opsworks-agent-installer/opsworks-agent/lib/bootstrap/registration.rb:55:in `merge_agent_config'
    from /tmp/opsworks-agent-installer.31Gl4pMnG52hqBgo/opsworks-agent-installer/opsworks-agent/lib/bootstrap/registration.rb:14:in `block in generate_agent_config'
    from /tmp/opsworks-agent-installer.31Gl4pMnG52hqBgo/opsworks-agent-installer/opsworks-agent/lib/bootstrap/registration.rb:13:in `open'
    from /tmp/opsworks-agent-installer.31Gl4pMnG52hqBgo/opsworks-agent-installer/opsworks-agent/lib/bootstrap/registration.rb:13:in `generate_agent_config'
    from /tmp/opsworks-agent-installer.31Gl4pMnG52hqBgo/opsworks-agent-installer/opsworks-agent/lib/bootstrap/instance_agent_registration_installer.rb:29:in `block in run'
    from /tmp/opsworks-agent-installer.31Gl4pMnG52hqBgo/opsworks-agent-installer/opsworks-agent/lib/bootstrap/log.rb:96:in `measure'
    from /tmp/opsworks-agent-installer.31Gl4pMnG52hqBgo/opsworks-agent-installer/opsworks-agent/lib/bootstrap/instance_agent_registration_installer.rb:29:in `run'
    from /tmp/opsworks-agent-installer.31Gl4pMnG52hqBgo/opsworks-agent-installer/opsworks-agent/lib/bootstrap/instance_agent_registration_installer.rb:11:in `run'
    from /tmp/opsworks-agent-installer.31Gl4pMnG52hqBgo/opsworks-agent-installer/opsworks-agent/bin/opsworks-agent-registration-installer.rb:8:in `<main>'
[Wed, 01 Jul 2020 01:35:18 +0000] opsworks-init: Agent installation failed.
[Wed, 01 Jul 2020 01:35:18 +0000] opsworks-init: Please verify the log files found under /var/log/aws/opsworks and submit findings to AWS Support.
[Wed,01 Jul 2020 01:33:32+0000]安装程序包装器:使用opsworks-instance-assets-us-west-2.s3.amazonaws.com获取资产。
[Wed,01 Jul 2020 01:33:32+0000]安装程序包装:跳过opsworks代理ruby的安装,因为它已安装
[Wed,01 Jul 2020 01:33:32+0000]安装程序包装:清理
[Wed,01 Jul 2020 01:33:32+0000]opsworks初始化:启动安装程序
/opt/aws/opsworks/local/lib/ruby/gems/2.2.0/gems/aws-sdk-core-2.2.26/lib/aws-sdk-core/plugins/request\u-signer.rb:100:in“require\u-credentials”:未设置凭据时无法对请求进行签名(aws::Errors::MissingCredentialsError)
来自/opt/aws/opsworks/local/lib/ruby/gems/2.2.0/gems/aws-sdk-core-2.2.26/lib/aws-sdk-core/plugins/request\u-signer.rb:90:in“签名\u认证请求”
来自/opt/aws/opsworks/local/lib/ruby/gems/2.2.0/gems/aws-sdk-core-2.2.26/lib/aws-sdk-core/plugins/request_-signer.rb:83:in'call'
来自/opt/aws/opsworks/local/lib/ruby/gems/2.2.0/gems/aws-sdk-core-2.2.26/lib/aws-sdk-core/plugins/retry_errors.rb:87:in'call'
来自/opt/aws/opsworks/local/lib/ruby/gems/2.2.0/gems/aws-sdk-core-2.2.26/lib/aws-sdk-core/json/handler.rb:11:in'call'
来自/opt/aws/opsworks/local/lib/ruby/gems/2.2.0/gems/aws-sdk-core-2.2.26/lib/aws-sdk-core/plugins/user_-agent.rb:12:in'call'
来自/opt/aws/opsworks/local/lib/ruby/gems/2.2.0/gems/aws-sdk-core-2.2.26/lib/seahorse/client/plugins/endpoint.rb:41:in'call'
来自/opt/aws/opsworks/local/lib/ruby/gems/2.2.0/gems/aws-sdk-core-2.2.26/lib/aws-sdk-core/plugins/param_validator.rb:21:in'call'
来自/opt/aws/opsworks/local/lib/ruby/gems/2.2.0/gems/aws-sdk-core-2.2.26/lib/seahorse/client/plugins/raise\u response\u errors.rb:14:in'call'
来自/opt/aws/opsworks/local/lib/ruby/gems/2.2.0/gems/aws-sdk-core-2.2.26/lib/aws-sdk-core/plugins/param_converter.rb:20:in'call'
来自/opt/aws/opsworks/local/lib/ruby/gems/2.2.0/gems/aws-sdk-core-2.2.26/lib/seahorse/client/plugins/response_target.rb:21:in'call'
来自/opt/aws/opsworks/local/lib/ruby/gems/2.2.0/gems/aws-sdk-core-2.2.26/lib/seahorse/client/request.rb:70:in“发送请求”
来自/opt/aws/opsworks/local/lib/ruby/gems/2.2.0/gems/aws-sdk-core-2.2.26/lib/seahorse/client/base.rb:207:在“定义操作方法中的块(2级)”中
from/tmp/opsworks agent installer.31Gl4pMnG52hqBgo/opsworks agent installer/opsworks agent/lib/bootstrap/registration.rb:136:in'register_instance'
from/tmp/opsworks agent installer.31Gl4pMnG52hqBgo/opsworks agent installer/opsworks agent/lib/bootstrap/registration.rb:55:in'merge_agent_config'
来自/tmp/opsworks agent installer.31Gl4pMnG52hqBgo/opsworks agent installer/opsworks agent/lib/bootstrap/registration.rb:14:“生成代理配置中的块”
from/tmp/opsworks agent installer.31Gl4pMnG52hqBgo/opsworks agent installer/opsworks agent/lib/bootstrap/registration.rb:13:in'open'
来自/tmp/opsworks agent installer.31Gl4pMnG52hqBgo/opsworks agent installer/opsworks agent/lib/bootstrap/registration.rb:13:在“生成代理配置”中
来自/tmp/opsworks代理安装程序.31Gl4pMnG52hqBgo/opsworks代理安装程序/opsworks代理/lib/bootstrap/instance\u agent\u registration\u installer.rb:29:在“运行中的块”中
from/tmp/opsworks agent installer.31Gl4pMnG52hqBgo/opsworks agent installer/opsworks agent/lib/bootstrap/log.rb:96:in'measure'
from/tmp/opsworks agent installer.31Gl4pMnG52hqBgo/opsworks agent installer/opsworks agent/lib/bootstrap/instance_agent_registration_installer.rb:29:in'run'
来自/tmp/opsworks代理安装程序.31Gl4pMnG52hqBgo/opsworks代理安装程序/opsworks代理/lib/bootstrap/instance\u agent\u registration\u installer.rb:11:in'run'
from/tmp/opsworks agent installer.31Gl4pMnG52hqBgo/opsworks agent installer/opsworks agent/bin/opsworks agent registration installer.rb:8:in`'
[Wed,01 Jul 2020 01:35:18+0000]opsworks初始化:代理安装失败。
[Wed,01 Jul 2020 01:35:18+0000]opsworks初始:请验证在/var/log/aws/opsworks下找到的日志文件,并将结果提交给aws支持部门。

您可以查看此错误

/opt/aws/opsworks/local/lib/ruby/gems/2.2.0/gems/aws-sdk-core-2.2.26/lib/aws-sdk-core/plugins/request_signer.rb:100:in `require_credentials': unable to sign request without credentials set (Aws::Errors::MissingCredentialsError)
这表明我没有设置aws凭据,但我有 我的
ACCESS\u KEY\u ID
SECRET\u ACCESS\u KEY
都设置在~/.aws/credentials中, 我还尝试将这两个变量导出为环境变量 变量,但我仍然收到相同的错误。你知道为什么会这样吗 发生什么事了

首先,在AWS内部工作时,不应使用
ACCESS\u KEY\u ID
,最好使用

第二件事,这意味着上述密钥没有向AWS opswork堆栈注册实例的权限

您需要添加必需的权限才能在ops工作堆栈中添加实例。您可以使用以下权限使其工作

{
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "opsworks:RegisterInstance", 
            "opsworks:DeregisterInstance",
            "opsworks:DescribeInstances"
          ],
          "Resource": [
            "*"
          ]
        }
      ]
    }


通常,您会将所需的权限放在实例角色中。您尝试过吗?我没有,是在我的实例上还是在aws中?是的,您将角色附加到实例。更多详细信息。不,您需要将其添加到实例IAM角色中,您可以在此处阅读更多内容以创建角色并分配权限,或者您可以分配您为其创建密钥的角色,但我不建议使用此方法。只需添加“opsworks:RegisterInstance”,它就可以完美地工作,谢谢您的帮助,我做了相应的更新,dregister将
{
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "opsworks:RegisterInstance", 
            "opsworks:DeregisterInstance",
            "opsworks:DescribeInstances"
          ],
          "Resource": [
            "*"
          ]
        }
      ]
    }