AWS Opsworks 未能添加 EC2 实例
Posted
技术标签:
【中文标题】AWS Opsworks 未能添加 EC2 实例【英文标题】:AWS Opsworks failed to add EC2 instance 【发布时间】:2020-04-11 20:57:19 【问题描述】:我创建了新的 EC2 实例,并在 Opsworks 上创建了新层。我运行了一个显示在 Opsworks 面板上的命令,但它一直无法在 Opsworks 上注册。
命令
aws opsworks register --use-instance-profile --infrastructure-class ec2 --region us-east-1 --stack-id [stack id] --local
我在实例中运行命令时的错误日志
aws opsworks register --use-instance-profile --infrastructure-class ec2 --region us-east-1 --stack-id 50aebe6e-5aa1-4d2e-801c-b50ff1f22884 --local
/usr/local/lib/python2.7/dist-packages/urllib3/util/ssl_.py:380: SNIMissingWarning: An HTTPS request has been made, but the SNI (Server Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
SNIMissingWarning,
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 6468k 100 6468k 0 0 28.5M 0 --:--:-- --:--:-- --:--:-- 28.5M
[Thu, 19 Dec 2019 08:32:54 +0000] opsworks-init: Initializing AWS OpsWorks environment
[Thu, 19 Dec 2019 08:32:54 +0000] opsworks-init: Checking if OS is supported
[Thu, 19 Dec 2019 08:32:54 +0000] opsworks-init: Running on supported OS
[Thu, 19 Dec 2019 08:32:54 +0000] opsworks-init: Setup motd
[Thu, 19 Dec 2019 08:32:54 +0000] opsworks-init: Executing: ln -sf --backup /etc/motd.opsworks-static /etc/motd
[Thu, 19 Dec 2019 08:32:54 +0000] opsworks-init: Using assets bucket from environment: 'opsworks-instance-assets-us-east-1.s3.amazonaws.com'.
[Thu, 19 Dec 2019 08:32:54 +0000] opsworks-init: Installing Ruby for the agent
[Thu, 19 Dec 2019 08:32:54 +0000] opsworks-init: Executing: /tmp/opsworks-agent-installer.Xl3O6gYd9TptvPYs/opsworks-agent-installer/opsworks-agent/bin/installer_wrapper.sh -r -R opsworks-instance-assets-us-east-1.s3.amazonaws.com
[Thu, 19 Dec 2019 08:32:56 +0000] opsworks-init: Starting the installer
[Thu, 14 Dec 2017 09:08:30 +0000] opsworks-init: Initializing AWS OpsWorks environment
[Thu, 14 Dec 2017 09:08:30 +0000] opsworks-init: Setup motd
[Thu, 14 Dec 2017 09:08:30 +0000] opsworks-init: Executing: ln -sf /etc/motd.opsworks-static /etc/motd
[Thu, 14 Dec 2017 09:08:30 +0000] opsworks-init: Checking network connectivity
healthy[Thu, 14 Dec 2017 09:08:30 +0000] opsworks-init: Recent OpsWorks agent version not yet installed, continuing.
[Thu, 14 Dec 2017 09:08:31 +0000] opsworks-init: Executing: mkdir -m 0755 -p /etc/chef/ohai/hints
[Thu, 14 Dec 2017 09:08:31 +0000] opsworks-init: Executing: touch /etc/chef/ohai/hints/ec2.json
[Thu, 14 Dec 2017 09:08:31 +0000] opsworks-init: Executing: chmod 0444 /etc/chef/ohai/hints/ec2.json
[Thu, 14 Dec 2017 09:08:31 +0000] opsworks-init: Executing: mkdir -m 0750 -p /var/lib/aws/opsworks
[Thu, 19 Dec 2019 05:52:09 +0000] installer-wrapper: Skipping installation of opsworks-agent-ruby because it's already installed
[Thu, 19 Dec 2019 05:52:09 +0000] installer-wrapper: Cleaning up
[Thu, 19 Dec 2019 05:52:09 +0000] opsworks-init: Starting the installer
/opt/aws/opsworks/releases/20160913111958_3440-20160913111958/vendor/bundle/ruby/2.0.0/gems/aws-sdk-v1-1.65.0/lib/aws/core/credential_providers.rb:41:in `credentials': (AWS::Errors::MissingCredentialsError)
Missing Credentials.
上面写着missing credentials
,但我已经配置了凭据。 aws-cli
版本是
aws-cli/1.16.306 Python/2.7.6 Linux/3.13.0-137-generic botocore/1.13.42
另外,这个实例和其他实例不同,在不同的VPC中,所以我想知道是否只能注册同一VPC中的实例。
【问题讨论】:
这个运气好吗?你设法解决了这个问题吗? @vargen_ 好吧,我无法解决问题。 【参考方案1】:我遇到了同样的问题,但无法真正弄清楚原因。
还有另一种安装 OpsWorks 的方法,即在管理控制台中将角色附加到 EC2 实例,然后在实例上运行安装程序。这样就不用跑aws configure
在此处查看详细信息:https://docs.aws.amazon.com/opsworks/latest/userguide/registered-instances-register-registering-cli.html#registered-instances-register-registering-cli-role
【讨论】:
以上是关于AWS Opsworks 未能添加 EC2 实例的主要内容,如果未能解决你的问题,请参考以下文章
AWS+OpsWorks:如何使用 OpsWorks 启用 EC2 实例的详细监控
持续集成:使用 AWS Cloudformation+OpsWorks 在新创建的 EC2 实例上运行 Jenkins Build,最佳实践是啥?
从 EC2 上的自定义 AMI 创建 AWS Opsworks 实例时未启动