AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[opsworks](server)

Martin Hope
StandardEyre
Asked: 2016-10-20 12:08:57 +0800 CST

如何通过 Chef 配方向 AWS OpsWorks 中的 Windows Server 2012 实例添加标签?

  • 0

我的雇主需要在 OpsWorks 中启动的 AWS ec2 实例上线后为其添加标签。

这些实例都是此堆栈中的 MS Windows Server 2012 R2 Base。目标是向堆栈 Foo 中启动的实例和堆栈 Bar 中的“应用程序”:“bar”添加自定义标签,如“application”:“foo”。

我找到了一个github repo chef-aws-tag,如果我在 Linux 上运行 Chef 11,我相信它会满足我的需求。OpsWorks 仅适用于 Windows Server 2012,并且仅适用于 Chef 12.2。

当我将 github 存储库中的 chef-aws-tag 配方添加到 Setup 生命周期事件时,实例在“running_setup”处失败,并带有“setup_failed”。

Chef 失败日志随后在 running_setup 阶段报告此失败:

INFO: HTTP Request Returned 412 Precondition Failed : No such cookbook: aws 
ERROR: Running exception handlers
FATAL: Net::HTTPServerException: 412 "Precondition Failed "

这与 metadata.rb 中的依赖项匹配,即:depends 'aws', '>= 0.2.4'
我了解缺少依赖项。我不清楚如何实现这种依赖。配方在 S3 中,存储库 URL 是https://s3-us-west-2.amazonaws.com/employer/ec2instance-tagging.zip

当我将配方添加到配置生命周期事件时,机器可以正常联机,但未添加标签。ec2 实例显示“stock”标签;键 "opsworks:instance" 、 "opsworks:layer:foo_layer" 、 "opsworks:stack" 和 "Name" 都有我期望的值。我想通过配方添加的标签(“应用程序”、“团队”、“环境”)不存在。

自定义 JSON 在堆栈级别添加:

{ "aws-tag": {
        "tags": {
            "team": "specialteam",
            "application": "foo",
            "environment": "development"
        }
    }
}

是否有特定于 OpsWorks AWS 的食谱或食谱我应该在启动后调用以在实例上设置标签?我怎么称呼那个食谱?

我已阅读有关使用 OpsWorks 自定义应用程序部署的 AWS 博客文章。我是否缺少相同的“通过厨师在实例上设置 aws 标签”食谱或食谱,它位于 GitHub 上的Amazon Web Services - Labs存储库中?

github 上的aws opsworks-cookbooks说“对于 Chef 12.2 Windows 和 Chef 12 Linux,没有内置的食谱”,但我希望这是错误的 :-) 并且已经添加了我还没有找到的食谱。或者,希望有人已经这样做并在某处记录了它。

我正在按照这篇 AWS 博客文章快速探索 AWS OpsWorks 中的 Chef 环境(再次为 Linux 编写)和这个关于在 Opsworks 上调试 Chef 的 SF 问题进行故障排除


windows-server-2012-r2 chef opsworks
  • 1 个回答
  • 420 Views
Martin Hope
Maris B.
Asked: 2016-07-02 07:05:16 +0800 CST

如何通过在两个实例之间切换来自动更新 EC2 Linux 实例而不停机?

  • 2

简而言之 - 操作系统 Amazon Linux 或 Ubuntu。一个 EC2 实例(或 OpsWorks 实例?)正在运行。每天启动第二个实例,用最新的安全更新更新它,安装我的应用程序。关闭第一个实例。每天重复...

AWS文档指出:

默认情况下,AWS OpsWorks 会在设置过程中自动安装最新更新... 我们建议您... 创建并启动新实例以替换您当前的在线实例。然后删除当前实例。新实例将在安装过程中安装最新的安全补丁集。

如何自动化这个过程?

我知道,我可以通过 CLI 启动一个微型实例来管理这个过程,但我更喜欢使用一些 AWS 内置工具,这样我就可以获得失败通知,添加一些冗余(如果 CLI 实例失败),一切都会继续处理新的 CLI / AWS API 版本等。

我错过了一些优雅的方法吗?

更新:能够使用现有的弹性 IP 是首选。

amazon-ec2 amazon-web-services aws-cli opsworks
  • 2 个回答
  • 3340 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve