使用 register 命令 - AWS OpsWorks

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 register 命令

重要

AWS OpsWorks Stacks 不再接受新客户。在 2024 年 5 月 26 日之前,现有客户将能够正常使用 OpsWorks 控制台、API、CLI 和 CloudFormation 资源,届时它们将停产。为准备此过渡,我们建议您尽快将堆栈过渡到AWS Systems Manager。有关更多信息,请参阅 AWS OpsWorks Stacks 生命周期终止常见问题解答将 AWS OpsWorks Stacks 应用程序迁移到 AWS Systems Manager Application Manager

注意

仅 Linux 堆栈支持此功能。

要注册实例,请确保至少运行 AWS CLI 的 1.16.180 版。以下示例显示了 register 命令的一般语法。

aws opsworks register \ [--profile profile_name] \ [--region region_name] \ --infrastructure-class instance_type \ --stack-id stack ID \ [--local] | [--ssh-private-key key_file --ssh-username username] | [--override-ssh command_string] \ [--override-hostname hostname] \ [--debug] \ [--override-public-ip public IP] \ [--override-private-ip private IP] \ ..[--use-instance-profile] \ [ [IP address] | [hostname] | [instance ID]

以下参数是所有 AWS CLI 命令的通用参数。

--profile

(可选) 凭证的配置文件名称。如果省略此参数,命令将使用默认凭证运行。有关 AWS CLI 如何确定默认凭证的更多信息,请参阅配置 AWS 命令行界面

--region

(可选) AWS OpsWorks Stacks 服务端点的区域。请勿将 --region 设置为堆栈的区域。AWS OpsWorksStacks 会自动根据堆栈 ID 确定堆栈的区域。

注意

如果已设置默认区域,则可省略此参数。有关如何指定默认区域的更多信息,请参阅配置 AWS 命令行界面

对 Amazon EC2 实例和本地实例使用以下参数。

--infrastructure-class

(必需) 必须将此参数设置为 ec2on-premises,以分别指明注册的是 Amazon EC2 实例,还是本地实例。

--stack-id

(必需) 注册实例时将使用的堆栈的 ID。

注意

要查找堆栈 ID,请在 Stack (堆栈) 页面上选择 Settings (设置)。堆栈 ID 被标记为 OpsWorks ID,是一个看起来像ad21bce6-7623-47f1-bf9d-af2affad8907的 GUID。

SSH 登录参数

使用以下参数指定 register 应如何登录到实例。

--local

(可选) 使用此参数注册您在其中运行该命令的实例。

在这种情况下,register 不需要登录到实例。

--ssh-private-key--ssh-username

(可选) 如果您要从独立的工作站注册实例,并希望明确指定用户名称或私有密钥文件,则使用这些参数。

  • --ssh-username:使用此参数指定 SSH 用户名称。

    如果省略 --ssh-usernamessh 将使用默认用户名称。

  • --ssh-private-key:使用此参数明确指定私有密钥文件。

    如果省略 --ssh-private-keyssh 将尝试使用无需密码的身份验证技术进行登录,包括使用默认私有密钥。如果这些技术均不受支持,ssh 将查询您的密码。有关 ssh 如何处理身份验证的更多信息,请参阅 Secure Shell (SSH) 身份验证协议

--override-ssh

(可选) 如果您要从独立的工作站注册实例,并希望指定自定义 ssh 命令字符串,则使用此参数。register 命令使用此命令字符串登录到注册的实例。

有关 ssh 的更多信息,请参阅 SSH

--override-hostname

(可选) 指定仅由 AWS OpsWorks Stacks 使用的实例的主机名。默认值为实例的主机名。

--debug

(可选) 如果注册过程失败,则提供调试信息。有关故障排除信息,请参阅对实例注册进行故障排除

--use-instance-profile

(可选,但强烈建议对 Amazon EC2 实例使用)让 register 命令使用附加的实例配置文件,而不是创建 IAM 用户。如果您在 IAM 用户已被意外删除时尝试管理已注册实例,则会出现错误,而添加此参数可帮助防止此类错误。

重要

在已注册实例的整个生命周期中,都需要注册过程中创建的 IAM 用户。删除该用户会导致 AWS OpsWorks Stacks 代理无法与服务通信。为了帮助防止在用户被意外删除时无法正常管理已注册实例,请将 --use-instance-profile 参数添加到您的 register 命令,以便使用实例的内置实例配置文件。添加 --use-instance-profile 参数还可以防止每 90 天轮换 AWS 账户访问密钥时出现错误(建议的最佳实践),因为它可以防止 AWS OpsWorks 代理和所需用户可用的访问密钥之间出现不匹配。

目标

(条件性) 如果您从工作站运行此命令,则命令字符串中的最终值按以下任一方式指定注册目标。

  • 实例的公有 IP 地址。

  • 实例的主机名。

  • 对 Amazon EC2 实例 为 实例 ID。

    AWS OpsWorks Stacks 使用实例 ID 获取实例配置,包括实例的公有 IP 地址。默认情况下,AWS OpsWorks Stacks 使用此地址来构建用于登录实例的 ssh 命令字符串。如果您需要连接到私有 IP 地址,则必须使用 --override-ssh 提供自定义命令字符串。有关示例,请参阅从工作站注册本地实例

注意

如果您指定主机名,则 ssh 依赖 DNS 服务器将该名称解析为特定实例。如果您不确定主机名是否唯一,则使用 ssh 验证该主机名是否解析为正确的实例。

如果您从要注册的实例运行此命令,则省略实例标识符,改为使用 --local 参数。

以下参数仅适用于本地实例。

--override-public-ip

(可选) AWS OpsWorks Stacks 将指定地址显示为实例的公有 IP 地址。它不会更改实例的公有 IP 地址。但是,如果用户使用控制台连接到该实例(例如通过选择实例页面上的地址),则 AWS OpsWorks Stacks 将使用指定的地址。AWS OpsWorksStacks 会自动确定参数的默认值。

--override-private-ip

(可选) AWS OpsWorks Stacks 将指定地址显示为实例的私有 IP 地址。它不会更改实例的私有 IP 地址。AWS OpsWorksStacks 会自动确定参数的默认值。