本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 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
] \ [--regionregion_name
] \ --infrastructure-classinstance_type
\ --stack-idstack ID
\ [--local] | [--ssh-private-keykey_file
--ssh-usernameusername
] | [--override-sshcommand_string
] \ [--override-hostnamehostname
] \ [--debug] \ [--override-public-ippublic IP
] \ [--override-private-ipprivate 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
-
(必需) 必须将此参数设置为
ec2
或on-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-username
,ssh
将使用默认用户名称。 -
--ssh-private-key
:使用此参数明确指定私有密钥文件。如果省略
--ssh-private-key
,ssh
将尝试使用无需密码的身份验证技术进行登录,包括使用默认私有密钥。如果这些技术均不受支持,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 会自动确定参数的默认值。