Amazon OpsWorks 使用示例 Amazon CLI - Amazon Command Line Interface
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Amazon OpsWorks 使用示例 Amazon CLI

以下代码示例向您展示了如何使用with来执行操作和实现常见场景 Amazon OpsWorks。 Amazon Command Line Interface

操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景和跨服务示例的上下文查看操作。

场景是展示如何通过在同一服务中调用多个函数来完成特定任务任务的代码示例。

每个示例都包含一个指向的链接 GitHub,您可以在其中找到有关如何在上下文中设置和运行代码的说明。

主题

操作

以下代码示例演示如何使用 assign-instance

Amazon CLI

为图层分配注册实例

以下示例将注册实例分配给自定义层。

aws opsworks --region us-east-1 assign-instance --instance-id 4d6d1710-ded9-42a1-b08e-b043ad7af1e2 --layer-ids 26cf1d32-6876-42fa-bbf1-9cadc0bff938

输出:无。

更多信息

有关更多信息,请参阅Amazon OpsWorks 用户指南中的为层分配注册实例。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考AssignInstance中的。

以下代码示例演示如何使用 assign-volume

Amazon CLI

为实例分配注册卷

以下示例将注册的亚马逊弹性区块存储 (Amazon EBS) 卷分配给实例。该卷由其卷 ID 标识,这是您在向堆栈注册卷时 Amazon OpsWorks 分配的 GUID,而不是亚马逊弹性计算云 (Amazon EC2) 卷 ID。在运行之前assign-volume,必须先运行update-volume为卷分配装入点。

aws opsworks --region us-east-1 assign-volume --instance-id 4d6d1710-ded9-42a1-b08e-b043ad7af1e2 --volume-id 26cf1d32-6876-42fa-bbf1-9cadc0bff938

输出:无。

更多信息

有关更多信息,请参阅Amazon OpsWorks 用户指南中的将 Amazon EBS 卷分配给实例。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考AssignVolume中的。

以下代码示例演示如何使用 associate-elastic-ip

Amazon CLI

将弹性 IP 地址与实例关联

以下示例将弹性 IP 地址与指定实例相关联。

aws opsworks --region us-east-1 associate-elastic-ip --instance-id dfe18b02-5327-493d-91a4-c5c0c448927f --elastic-ip 54.148.130.96

输出:无。

更多信息

有关更多信息,请参阅《Amazon OpsWorks 用户指南》中的资源管理。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考AssociateElasticIp中的。

以下代码示例演示如何使用 attach-elastic-load-balancer

Amazon CLI

将负载均衡器连接到层

以下示例将一个由其名称标识的负载均衡器连接到指定层。

aws opsworks --region us-east-1 attach-elastic-load-balancer --elastic-load-balancer-name Java-LB --layer-id 888c5645-09a5-4d0e-95a8-812ef1db76a4

输出:无。

更多信息

有关更多信息,请参阅《Amazon OpsWorks 用户指南》中的 Elastic Load Balancin g。

以下代码示例演示如何使用 create-app

Amazon CLI

示例 1:创建应用程序

以下示例使用存储在存储库中的代码创建了一个名为 SimplephPapp 的 PHP 应用程序。 GitHub 该命令使用应用程序源定义的简写形式。

aws opsworks create-app \ --region us-east-1 \ --stack-id f6673d70-32e6-4425-8999-265dd002fec7 \ --name SimplePHPApp \ --type php \ --app-source Type=git,Url=git://github.com/amazonwebservices/opsworks-demo-php-simple-app.git,Revision=version1

输出:

{ "AppId": "6cf5163c-a951-444f-a8f7-3716be75f2a2" }

示例 2:创建带有附加数据库的应用程序

以下示例使用存储在公共 S3 存储桶中的.zip 存档中的代码创建 JSP 应用程序。它附加 RDS 数据库实例以用作应用程序的数据存储。应用程序和数据库源在单独的 JSON 文件中定义,这些文件位于您运行命令的目录中。

aws opsworks create-app \ --region us-east-1 \ --stack-id 8c428b08-a1a1-46ce-a5f8-feddc43771b8 \ --name SimpleJSP \ --type java \ --app-source file://appsource.json \ --data-sources file://datasource.json

应用程序源信息位于其中appsource.json并包含以下内容。

{ "Type": "archive", "Url": "https://s3.amazonaws.com/opsworks-demo-assets/simplejsp.zip" }

数据库源信息位于其中datasource.json并包含以下内容。

[ { "Type": "RdsDbInstance", "Arn": "arn:aws:rds:us-west-2:123456789012:db:clitestdb", "DatabaseName": "mydb" } ]

注意:对于 RDS 数据库实例,必须先使用register-rds-db-instance向堆栈注册该实例。对于 MySQL 应用服务器实例,Type请设置为OpsworksMysqlInstance。这些实例由创建 Amazon OpsWorks,因此不必注册。

输出:

{ "AppId": "26a61ead-d201-47e3-b55c-2a7c666942f8" }

有关更多信息,请参阅《Amazon OpsWorks 用户指南》中的 “添加应用程序”。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考CreateApp中的。

以下代码示例演示如何使用 create-deployment

Amazon CLI

示例 1:部署应用程序和运行堆栈命令

以下示例说明如何使用该create-deployment命令部署应用程序和运行堆栈命令。请注意,指定命令的 JSON 对象中的 quote (") 字符都以转义字符 (\) 开头。如果没有转义字符,该命令可能会返回无效的 JSON 错误。

以下create-deployment示例将应用程序部署到指定的堆栈。

aws opsworks create-deployment \ --stack-id cfb7e082-ad1d-4599-8e81-de1c39ab45bf \ --app-id 307be5c8-d55d-47b5-bd6e-7bd417c6c7eb --command "{\"Name\":\"deploy\"}"

输出:

{ "DeploymentId": "5746c781-df7f-4c87-84a7-65a119880560" }

示例 2:部署 Rails 应用程序并迁移数据库

以下create-deployment命令将 Ruby on Rails 应用程序部署到指定的堆栈并迁移数据库。

aws opsworks create-deployment \ --stack-id cfb7e082-ad1d-4599-8e81-de1c39ab45bf \ --app-id 307be5c8-d55d-47b5-bd6e-7bd417c6c7eb \ --command "{\"Name\":\"deploy\", \"Args\":{\"migrate\":[\"true\"]}}"

输出:

{ "DeploymentId": "5746c781-df7f-4c87-84a7-65a119880560" }

有关部署的更多信息,请参阅Amazon OpsWorks 用户指南中的部署应用程序

示例 3:运行食谱

以下create-deployment命令在指定堆栈中的实例上运行自定义配方。phpapp::appsetup

aws opsworks create-deployment \ --stack-id 935450cc-61e0-4b03-a3e0-160ac817d2bb \ --command "{\"Name\":\"execute_recipes\", \"Args\":{\"recipes\":[\"phpapp::appsetup\"]}}"

输出:

{ "DeploymentId": "5cbaa7b9-4e09-4e53-aa1b-314fbd106038" }

有关更多信息,请参阅《Amazon OpsWorks 用户指南》中的 “运行堆栈命令”。

示例 4:安装依赖关系

以下create-deployment命令在指定堆栈中的实例上安装依赖项,例如软件包或 Ruby gem。

aws opsworks create-deployment \ --stack-id 935450cc-61e0-4b03-a3e0-160ac817d2bb \ --command "{\"Name\":\"install_dependencies\"}"

输出:

{ "DeploymentId": "aef5b255-8604-4928-81b3-9b0187f962ff" }

有关更多信息,请参阅《Amazon OpsWorks 用户指南》中的 “运行堆栈命令”。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考CreateDeployment中的。

以下代码示例演示如何使用 create-instance

Amazon CLI

创建实例

以下create-instance命令在指定堆栈中创建名为 myinstance1 的 m1.large Amazon Linux 实例。该实例被分配给一个图层。

aws opsworks --region us-east-1 create-instance --stack-id 935450cc-61e0-4b03-a3e0-160ac817d2bb --layer-ids 5c8c272a-f2d5-42e3-8245-5bf3927cb65b --hostname myinstance1 --instance-type m1.large --os "Amazon Linux"

要使用自动生成的名称 get-hostname-suggestion,请调用,它会根据您在创建堆栈时指定的主题生成主机名。然后将该名称传递给主机名参数。

输出:

{ "InstanceId": "5f9adeaa-c94c-42c6-aeef-28a5376002cd" }

更多信息

有关更多信息,请参阅Amazon OpsWorks 用户指南中的向层添加实例。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考CreateInstance中的。

以下代码示例演示如何使用 create-layer

Amazon CLI

创建图层

以下create-layer命令在指定堆栈中创建名为 MyphPlayer 的 PHP 应用服务器层。

aws opsworks create-layer --region us-east-1 --stack-id f6673d70-32e6-4425-8999-265dd002fec7 --type php-app --name MyPHPLayer --shortname myphplayer

输出:

{ "LayerId": "0b212672-6b4b-40e4-8a34-5a943cf2e07a" }

更多信息

有关更多信息,请参阅《Amazon OpsWorks 用户指南》中的如何创建图层。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考CreateLayer中的。

以下代码示例演示如何使用 create-server

Amazon CLI

创建服务器

以下create-server示例创建了一个automate-06在您的默认区域中命名的新 Chef Automate 服务器。请注意,大多数其他设置都使用默认值,例如要保留的备份数量以及维护和备份的开始时间。在运行create-server命令之前,请完成 Amazon Opsworks for Chef Automate 用户指南中 Chef Aut omate 入门中的先决条件。 Amazon OpsWorks

aws opsworks-cm create-server \ --engine "ChefAutomate" \ --instance-profile-arn "arn:aws:iam::012345678901:instance-profile/aws-opsworks-cm-ec2-role" \ --instance-type "t2.medium" \ --server-name "automate-06" \ --service-role-arn "arn:aws:iam::012345678901:role/aws-opsworks-cm-service-role"

输出:

{ "Server": { "AssociatePublicIpAddress": true, "BackupRetentionCount": 10, "CreatedAt": 2019-12-29T13:38:47.520Z, "DisableAutomatedBackup": FALSE, "Endpoint": "https://opsworks-cm.us-east-1.amazonaws.com", "Engine": "ChefAutomate", "EngineAttributes": [ { "Name": "CHEF_AUTOMATE_ADMIN_PASSWORD", "Value": "1Example1" } ], "EngineModel": "Single", "EngineVersion": "2019-08", "InstanceProfileArn": "arn:aws:iam::012345678901:instance-profile/aws-opsworks-cm-ec2-role", "InstanceType": "t2.medium", "PreferredBackupWindow": "Sun:02:00", "PreferredMaintenanceWindow": "00:00", "SecurityGroupIds": [ "sg-12345678" ], "ServerArn": "arn:aws:iam::012345678901:instance/automate-06-1010V4UU2WRM2", "ServerName": "automate-06", "ServiceRoleArn": "arn:aws:iam::012345678901:role/aws-opsworks-cm-service-role", "Status": "CREATING", "SubnetIds": [ "subnet-12345678" ] } }

有关更多信息,请参阅 for Chef Automate API 参考CreateServer中的。Amazon OpsWorks

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考CreateServer中的。

以下代码示例演示如何使用 create-stack

Amazon CLI

创建堆栈

以下create-stack命令创建一个名为 CLI Stack 的堆栈。

aws opsworks create-stack --name "CLI Stack" --stack-region "us-east-1" --service-role-arn arn:aws:iam::123456789012:role/aws-opsworks-service-role --default-instance-profile-arn arn:aws:iam::123456789012:instance-profile/aws-opsworks-ec2-role --region us-east-1

service-role-arndefault-instance-profile-arn 参数是必需的。在 Amazon OpsWorks创建第一个堆栈时,您通常会使用为您创建的堆栈。要获取您账户的 Amazon 资源名称 (ARN),请前往 IAM 控制台,Roles在导航面板中选择,选择角色或个人资料,然后选择Summary选项卡。

输出:

{ "StackId": "f6673d70-32e6-4425-8999-265dd002fec7" }

更多信息

有关更多信息,请参阅《Amazon OpsWorks 用户指南》中的 “创建新堆栈”。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考CreateStack中的。

以下代码示例演示如何使用 create-user-profile

Amazon CLI

创建用户个人资料

您可以 Amazon OpsWorks 通过调用 create-user-profile 创建用户配置文件将 Amazon 身份和访问管理器 (IAM) 用户导入。以下示例为由 Amazon 资源名称 (ARN) 标识的 cli-user-test IAM 用户创建了用户档案。该示例为用户分配一个 SSH 用户名myusername并启用自我管理,这允许用户指定 SSH 公钥。

aws opsworks --region us-east-1 create-user-profile --iam-user-arn arn:aws:iam::123456789102:user/cli-user-test --ssh-username myusername --allow-self-management

输出:

{ "IamUserArn": "arn:aws:iam::123456789102:user/cli-user-test" }

提示:此命令将 IAM 用户导入 Amazon OpsWorks,但只能导入附加策略所授予的权限。您可以使用set-permissions命令授予每个堆栈的 Amazon OpsWorks 权限。

更多信息

有关更多信息,请参阅《用户指南》 Amazon OpsWorks 中的将Amazon OpsWorks 用户导入。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考CreateUserProfile中的。

以下代码示例演示如何使用 delete-app

Amazon CLI

删除应用程序

以下示例删除了由其应用程序 ID 标识的指定应用程序。您可以通过访问 Amazon OpsWorks 控制台上的应用程序详细信息页面或运行describe-apps命令来获取应用程序 ID。

aws opsworks delete-app --region us-east-1 --app-id 577943b9-2ec1-4baf-a7bf-1d347601edc5

输出:无。

更多信息

有关更多信息,请参阅《Amazon OpsWorks 用户指南》中的应用程序。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DeleteApp中的。

以下代码示例演示如何使用 delete-instance

Amazon CLI

删除实例

以下delete-instance示例删除了由其实例 ID 标识的指定实例。您可以通过在 Amazon OpsWorks 控制台中打开实例的详细信息页面或运行describe-instances命令来查找实例 ID。

如果实例处于联机状态,则必须先通过调用停止实例stop-instance,然后必须等到实例停止。运行describe-instances以检查实例状态。

要移除实例的 Amazon EBS 卷或弹性 IP 地址,请分别添加--delete-volumes--delete-elastic-ip参数。

aws opsworks delete-instance \ --region us-east-1 \ --instance-id 3a21cfac-4a1f-4ce2-a921-b2cfba6f7771

此命令不生成任何输出。

有关更多信息,请参阅Amazon OpsWorks 用户指南中的删除 Amazon OpsWorks 实例

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DeleteInstance中的。

以下代码示例演示如何使用 delete-layer

Amazon CLI

删除图层

以下示例删除了由其层 ID 标识的指定层。您可以通过访问 Amazon OpsWorks 控制台上的图层详细信息页面或运行describe-layers命令来获取图层 ID。

注意:在删除图层之前,delete-instance必须使用删除该图层的所有实例。

aws opsworks delete-layer --region us-east-1 --layer-id a919454e-b816-4598-b29a-5796afb498ed

输出:无。

更多信息

有关更多信息,请参阅Amazon OpsWorks 用户指南中的删除 Amazon OpsWorks 实例。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DeleteLayer中的。

以下代码示例演示如何使用 delete-stack

Amazon CLI

删除堆栈

以下示例删除指定的堆栈,该堆栈由其堆栈 ID 标识。您可以通过单击 Amazon OpsWorks 控制台上的堆栈设置或运行describe-stacks命令来获取堆栈 ID。

注意:在删除图层之前,必须使用delete-appdelete-instance、和delete-layer来删除堆栈的所有应用程序、实例和图层。

aws opsworks delete-stack --region us-east-1 --stack-id 154a9d89-7e9e-433b-8de8-617e53756c84

输出:无。

更多信息

有关更多信息,请参阅《Amazon OpsWorks 用户指南》中的关闭堆栈。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DeleteStack中的。

以下代码示例演示如何使用 delete-user-profile

Amazon CLI

删除用户个人资料并从中移除 IAM 用户 Amazon OpsWorks

以下示例删除了由亚马逊资源名称 (ARN) 标识的指定 Amazon 身份和访问管理 (IAM) 用户的用户资料。该操作将用户从 IAM 用户中移除 Amazon OpsWorks,但不会将其删除。您必须使用 IAM 控制台、CLI 或 API 来完成该任务。

aws opsworks --region us-east-1 delete-user-profile --iam-user-arn arn:aws:iam::123456789102:user/cli-user-test

输出:无。

更多信息

有关更多信息,请参阅《用户指南》 Amazon OpsWorks 中的将Amazon OpsWorks 用户导入。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DeleteUserProfile中的。

以下代码示例演示如何使用 deregister-elastic-ip

Amazon CLI

从堆栈中取消注册弹性 IP 地址

以下示例从堆栈中注销由其 IP 地址标识的弹性 IP 地址。

aws opsworks deregister-elastic-ip --region us-east-1 --elastic-ip 54.148.130.96

输出:无。

更多信息

有关更多信息,请参阅Amazon OpsWorks 用户指南中的取消注册弹性 IP 地址。

以下代码示例演示如何使用 deregister-instance

Amazon CLI

从堆栈中取消注册已注册的实例

以下deregister-instance命令从其堆栈中取消注册已注册的实例。

aws opsworks --region us-east-1 deregister-instance --instance-id 4d6d1710-ded9-42a1-b08e-b043ad7af1e2

输出:无。

更多信息

有关更多信息,请参阅Amazon OpsWorks 用户指南中的注销注册实例。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DeregisterInstance中的。

以下代码示例演示如何使用 deregister-rds-db-instance

Amazon CLI

从堆栈中注销 Amazon RDS 数据库实例

以下示例从堆栈中注销 RDS 数据库实例(由其 ARN 标识)。

aws opsworks deregister-rds-db-instance --region us-east-1 --rds-db-instance-arn arn:aws:rds:us-west-2:123456789012:db:clitestdb

输出:无。

更多信息

有关更多信息,请参阅 ASW OpsWorks 用户指南中的注销 Amazon RDS 实例。

实例 ID:clitestdb Master 用户名:cliuser Master PWD:some23! pwd DB 名称:mydb aws opsworks — region us-east-1 — arn: aws: rds: us-west deregister-rds-db-instance -2:645732743964: db: clitestdb rds-db-instance-arn

以下代码示例演示如何使用 deregister-volume

Amazon CLI

取消注册 Amazon EBS 卷

以下示例从堆栈中注销 EBS 卷。该卷由其卷 ID 标识,该卷是您在堆栈中注册卷时 Amazon OpsWorks 分配的 GUID,而不是 EC2 卷 ID。

aws opsworks deregister-volume --region us-east-1 --volume-id 5c48ef52-3144-4bf5-beaa-fda4deb23d4d

输出:无。

更多信息

有关更多信息,请参阅Amazon OpsWorks 用户指南中的注销 Amazon EBS 卷。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DeregisterVolume中的。

以下代码示例演示如何使用 describe-apps

Amazon CLI

描述应用程序

以下describe-apps命令描述了指定堆栈中的应用程序。

aws opsworks describe-apps \ --stack-id 38ee91e2-abdc-4208-a107-0b7168b3cc7a \ --region us-east-1

输出:

{ "Apps": [ { "StackId": "38ee91e2-abdc-4208-a107-0b7168b3cc7a", "AppSource": { "Url": "https://s3-us-west-2.amazonaws.com/opsworks-demo-assets/simplejsp.zip", "Type": "archive" }, "Name": "SimpleJSP", "EnableSsl": false, "SslConfiguration": {}, "AppId": "da1decc1-0dff-43ea-ad7c-bb667cd87c8b", "Attributes": { "RailsEnv": null, "AutoBundleOnDeploy": "true", "DocumentRoot": "ROOT" }, "Shortname": "simplejsp", "Type": "other", "CreatedAt": "2013-08-01T21:46:54+00:00" } ] }

有关更多信息,请参阅《Amazon OpsWorks 用户指南》中的应用程序。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DescribeApps中的。

以下代码示例演示如何使用 describe-commands

Amazon CLI

描述命令

以下describe-commands命令描述了指定实例中的命令。

aws opsworks describe-commands \ --instance-id 8c2673b9-3fe5-420d-9cfa-78d875ee7687 \ --region us-east-1

输出:

{ "Commands": [ { "Status": "successful", "CompletedAt": "2013-07-25T18:57:47+00:00", "InstanceId": "8c2673b9-3fe5-420d-9cfa-78d875ee7687", "DeploymentId": "6ed0df4c-9ef7-4812-8dac-d54a05be1029", "AcknowledgedAt": "2013-07-25T18:57:41+00:00", "LogUrl": "https://s3.amazonaws.com/<bucket-name>/logs/008c1a91-ec59-4d51-971d-3adff54b00cc?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE &Expires=1375394373&Signature=HkXil6UuNfxTCC37EPQAa462E1E%3D&response-cache-control=private&response-content-encoding=gzip&response-content- type=text%2Fplain", "Type": "undeploy", "CommandId": "008c1a91-ec59-4d51-971d-3adff54b00cc", "CreatedAt": "2013-07-25T18:57:34+00:00", "ExitCode": 0 }, { "Status": "successful", "CompletedAt": "2013-07-25T18:55:40+00:00", "InstanceId": "8c2673b9-3fe5-420d-9cfa-78d875ee7687", "DeploymentId": "19d3121e-d949-4ff2-9f9d-94eac087862a", "AcknowledgedAt": "2013-07-25T18:55:32+00:00", "LogUrl": "https://s3.amazonaws.com/<bucket-name>/logs/899d3d64-0384-47b6-a586-33433aad117c?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE &Expires=1375394373&Signature=xMsJvtLuUqWmsr8s%2FAjVru0BtRs%3D&response-cache-control=private&response-content-encoding=gzip&response-conten t-type=text%2Fplain", "Type": "deploy", "CommandId": "899d3d64-0384-47b6-a586-33433aad117c", "CreatedAt": "2013-07-25T18:55:29+00:00", "ExitCode": 0 } ] }

有关更多信息,请参阅《Amazon OpsWorks 用户指南》中的 Amazon OpsWorks 生命周期事件。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DescribeCommands中的。

以下代码示例演示如何使用 describe-deployments

Amazon CLI

描述部署

以下describe-deployments命令描述了指定堆栈中的部署。

aws opsworks --region us-east-1 describe-deployments --stack-id 38ee91e2-abdc-4208-a107-0b7168b3cc7a

输出:

{ "Deployments": [ { "StackId": "38ee91e2-abdc-4208-a107-0b7168b3cc7a", "Status": "successful", "CompletedAt": "2013-07-25T18:57:49+00:00", "DeploymentId": "6ed0df4c-9ef7-4812-8dac-d54a05be1029", "Command": { "Args": {}, "Name": "undeploy" }, "CreatedAt": "2013-07-25T18:57:34+00:00", "Duration": 15, "InstanceIds": [ "8c2673b9-3fe5-420d-9cfa-78d875ee7687", "9e588a25-35b2-4804-bd43-488f85ebe5b7" ] }, { "StackId": "38ee91e2-abdc-4208-a107-0b7168b3cc7a", "Status": "successful", "CompletedAt": "2013-07-25T18:56:41+00:00", "IamUserArn": "arn:aws:iam::123456789012:user/someuser", "DeploymentId": "19d3121e-d949-4ff2-9f9d-94eac087862a", "Command": { "Args": {}, "Name": "deploy" }, "InstanceIds": [ "8c2673b9-3fe5-420d-9cfa-78d875ee7687", "9e588a25-35b2-4804-bd43-488f85ebe5b7" ], "Duration": 72, "CreatedAt": "2013-07-25T18:55:29+00:00" } ] }

更多信息

有关更多信息,请参阅《Amazon OpsWorks 用户指南》中的 “部署应用程序”。

以下代码示例演示如何使用 describe-elastic-ips

Amazon CLI

描述弹性 IP 实例

以下describe-elastic-ips命令描述了指定实例中的弹性 IP 地址。

aws opsworks --region us-east-1 describe-elastic-ips --instance-id b62f3e04-e9eb-436c-a91f-d9e9a396b7b0

输出:

{ "ElasticIps": [ { "Ip": "192.0.2.0", "Domain": "standard", "Region": "us-west-2" } ] }

更多信息

有关更多信息,请参阅Amazon OpsWorks 用户指南中的实例。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DescribeElasticIps中的。

以下代码示例演示如何使用 describe-elastic-load-balancers

Amazon CLI

描述堆栈的弹性负载均衡器

以下describe-elastic-load-balancers命令描述了指定堆栈的负载均衡器。

aws opsworks --region us-west-2 describe-elastic-load-balancers --stack-id 6f4660e5-37a6-4e42-bfa0-1358ebd9c182

输出:这个特定的堆栈有一个负载均衡器。

{ "ElasticLoadBalancers": [ { "SubnetIds": [ "subnet-60e4ea04", "subnet-66e1c110" ], "Ec2InstanceIds": [], "ElasticLoadBalancerName": "my-balancer", "Region": "us-west-2", "LayerId": "344973cb-bf2b-4cd0-8d93-51cd819bab04", "AvailabilityZones": [ "us-west-2a", "us-west-2b" ], "VpcId": "vpc-b319f9d4", "StackId": "6f4660e5-37a6-4e42-bfa0-1358ebd9c182", "DnsName": "my-balancer-2094040179.us-west-2.elb.amazonaws.com" } ] }

更多信息

有关更多信息,请参阅《Amazon OpsWorks 用户指南》中的应用程序。

以下代码示例演示如何使用 describe-instances

Amazon CLI

描述实例

以下describe-instances命令描述了指定堆栈中的实例:

aws opsworks --region us-east-1 describe-instances --stack-id 8c428b08-a1a1-46ce-a5f8-feddc43771b8

输出:以下输出示例适用于具有两个实例的堆栈。第一个是注册的 EC2 实例,第二个是由创建的 Amazon OpsWorks。

{ "Instances": [ { "StackId": "71c7ca72-55ae-4b6a-8ee1-a8dcded3fa0f", "PrivateDns": "ip-10-31-39-66.us-west-2.compute.internal", "LayerIds": [ "26cf1d32-6876-42fa-bbf1-9cadc0bff938" ], "EbsOptimized": false, "ReportedOs": { "Version": "14.04", "Name": "ubuntu", "Family": "debian" }, "Status": "online", "InstanceId": "4d6d1710-ded9-42a1-b08e-b043ad7af1e2", "SshKeyName": "US-West-2", "InfrastructureClass": "ec2", "RootDeviceVolumeId": "vol-d08ec6c1", "SubnetId": "subnet-b8de0ddd", "InstanceType": "t1.micro", "CreatedAt": "2015-02-24T20:52:49+00:00", "AmiId": "ami-35501205", "Hostname": "ip-192-0-2-0", "Ec2InstanceId": "i-5cd23551", "PublicDns": "ec2-192-0-2-0.us-west-2.compute.amazonaws.com", "SecurityGroupIds": [ "sg-c4d3f0a1" ], "Architecture": "x86_64", "RootDeviceType": "ebs", "InstallUpdatesOnBoot": true, "Os": "Custom", "VirtualizationType": "paravirtual", "AvailabilityZone": "us-west-2a", "PrivateIp": "10.31.39.66", "PublicIp": "192.0.2.06", "RegisteredBy": "arn:aws:iam::123456789102:user/AWS/OpsWorks/OpsWorks-EC2Register-i-5cd23551" }, { "StackId": "71c7ca72-55ae-4b6a-8ee1-a8dcded3fa0f", "PrivateDns": "ip-10-31-39-158.us-west-2.compute.internal", "SshHostRsaKeyFingerprint": "69:6b:7b:8b:72:f3:ed:23:01:00:05:bc:9f:a4:60:c1", "LayerIds": [ "26cf1d32-6876-42fa-bbf1-9cadc0bff938" ], "EbsOptimized": false, "ReportedOs": {}, "Status": "booting", "InstanceId": "9b137a0d-2f5d-4cc0-9704-13da4b31fdcb", "SshKeyName": "US-West-2", "InfrastructureClass": "ec2", "RootDeviceVolumeId": "vol-e09dd5f1", "SubnetId": "subnet-b8de0ddd", "InstanceProfileArn": "arn:aws:iam::123456789102:instance-profile/aws-opsworks-ec2-role", "InstanceType": "c3.large", "CreatedAt": "2015-02-24T21:29:33+00:00", "AmiId": "ami-9fc29baf", "SshHostDsaKeyFingerprint": "fc:87:95:c3:f5:e1:3b:9f:d2:06:6e:62:9a:35:27:e8", "Ec2InstanceId": "i-8d2dca80", "PublicDns": "ec2-192-0-2-1.us-west-2.compute.amazonaws.com", "SecurityGroupIds": [ "sg-b022add5", "sg-b122add4" ], "Architecture": "x86_64", "RootDeviceType": "ebs", "InstallUpdatesOnBoot": true, "Os": "Amazon Linux 2014.09", "VirtualizationType": "paravirtual", "AvailabilityZone": "us-west-2a", "Hostname": "custom11", "PrivateIp": "10.31.39.158", "PublicIp": "192.0.2.0" } ] }

更多信息

有关更多信息,请参阅Amazon OpsWorks 用户指南中的实例。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DescribeInstances中的。

以下代码示例演示如何使用 describe-layers

Amazon CLI

描述堆栈的层

以下describe-layers命令描述了指定堆栈中的层:

aws opsworks --region us-east-1 describe-layers --stack-id 38ee91e2-abdc-4208-a107-0b7168b3cc7a

输出:

{ "Layers": [ { "StackId": "38ee91e2-abdc-4208-a107-0b7168b3cc7a", "Type": "db-master", "DefaultSecurityGroupNames": [ "AWS-OpsWorks-DB-Master-Server" ], "Name": "MySQL", "Packages": [], "DefaultRecipes": { "Undeploy": [], "Setup": [ "opsworks_initial_setup", "ssh_host_keys", "ssh_users", "mysql::client", "dependencies", "ebs", "opsworks_ganglia::client", "mysql::server", "dependencies", "deploy::mysql" ], "Configure": [ "opsworks_ganglia::configure-client", "ssh_users", "agent_version", "deploy::mysql" ], "Shutdown": [ "opsworks_shutdown::default", "mysql::stop" ], "Deploy": [ "deploy::default", "deploy::mysql" ] }, "CustomRecipes": { "Undeploy": [], "Setup": [], "Configure": [], "Shutdown": [], "Deploy": [] }, "EnableAutoHealing": false, "LayerId": "41a20847-d594-4325-8447-171821916b73", "Attributes": { "MysqlRootPasswordUbiquitous": "true", "RubygemsVersion": null, "RailsStack": null, "HaproxyHealthCheckMethod": null, "RubyVersion": null, "BundlerVersion": null, "HaproxyStatsPassword": null, "PassengerVersion": null, "MemcachedMemory": null, "EnableHaproxyStats": null, "ManageBundler": null, "NodejsVersion": null, "HaproxyHealthCheckUrl": null, "MysqlRootPassword": "*****FILTERED*****", "GangliaPassword": null, "GangliaUser": null, "HaproxyStatsUrl": null, "GangliaUrl": null, "HaproxyStatsUser": null }, "Shortname": "db-master", "AutoAssignElasticIps": false, "CustomSecurityGroupIds": [], "CreatedAt": "2013-07-25T18:11:19+00:00", "VolumeConfigurations": [ { "MountPoint": "/vol/mysql", "Size": 10, "NumberOfDisks": 1 } ] }, { "StackId": "38ee91e2-abdc-4208-a107-0b7168b3cc7a", "Type": "custom", "DefaultSecurityGroupNames": [ "AWS-OpsWorks-Custom-Server" ], "Name": "TomCustom", "Packages": [], "DefaultRecipes": { "Undeploy": [], "Setup": [ "opsworks_initial_setup", "ssh_host_keys", "ssh_users", "mysql::client", "dependencies", "ebs", "opsworks_ganglia::client" ], "Configure": [ "opsworks_ganglia::configure-client", "ssh_users", "agent_version" ], "Shutdown": [ "opsworks_shutdown::default" ], "Deploy": [ "deploy::default" ] }, "CustomRecipes": { "Undeploy": [], "Setup": [ "tomcat::setup" ], "Configure": [ "tomcat::configure" ], "Shutdown": [], "Deploy": [ "tomcat::deploy" ] }, "EnableAutoHealing": true, "LayerId": "e6cbcd29-d223-40fc-8243-2eb213377440", "Attributes": { "MysqlRootPasswordUbiquitous": null, "RubygemsVersion": null, "RailsStack": null, "HaproxyHealthCheckMethod": null, "RubyVersion": null, "BundlerVersion": null, "HaproxyStatsPassword": null, "PassengerVersion": null, "MemcachedMemory": null, "EnableHaproxyStats": null, "ManageBundler": null, "NodejsVersion": null, "HaproxyHealthCheckUrl": null, "MysqlRootPassword": null, "GangliaPassword": null, "GangliaUser": null, "HaproxyStatsUrl": null, "GangliaUrl": null, "HaproxyStatsUser": null }, "Shortname": "tomcustom", "AutoAssignElasticIps": false, "CustomSecurityGroupIds": [], "CreatedAt": "2013-07-25T18:12:53+00:00", "VolumeConfigurations": [] } ] }

更多信息

有关更多信息,请参阅《Amazon OpsWorks 用户指南》中的图层。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DescribeLayers中的。

以下代码示例演示如何使用 describe-load-based-auto-scaling

Amazon CLI

描述图层的基于负载的缩放配置

以下示例描述了指定层的基于负载的缩放配置。图层由其图层 ID 标识,您可以在图层的详细信息页面上找到该图层 ID,也可以通过运行来找到describe-layers

aws opsworks describe-load-based-auto-scaling --region us-east-1 --layer-ids 6bec29c9-c866-41a0-aba5-fa3e374ce2a1

输出:示例层有一个基于负载的实例。

{ "LoadBasedAutoScalingConfigurations": [ { "DownScaling": { "IgnoreMetricsTime": 10, "ThresholdsWaitTime": 10, "InstanceCount": 1, "CpuThreshold": 30.0 }, "Enable": true, "UpScaling": { "IgnoreMetricsTime": 5, "ThresholdsWaitTime": 5, "InstanceCount": 1, "CpuThreshold": 80.0 }, "LayerId": "6bec29c9-c866-41a0-aba5-fa3e374ce2a1" } ] }

更多信息

有关更多信息,请参阅Amazon OpsWorks 用户指南中的基于负载的自动扩展的工作原理。

以下代码示例演示如何使用 describe-my-user-profile

Amazon CLI

获取用户的个人资料

以下示例说明如何获取正在运行该命令的 Amazon 身份和访问管理 (IAM) Access Management 用户的个人资料。

aws opsworks --region us-east-1 describe-my-user-profile

输出:为简洁起见,用户的大部分 SSH 公钥都被省略号 (...) 所取代。

{ "UserProfile": { "IamUserArn": "arn:aws:iam::123456789012:user/myusername", "SshPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQ...3LQ4aX9jpxQw== rsa-key-20141104", "Name": "myusername", "SshUsername": "myusername" } }

更多信息

有关更多信息,请参阅《用户指南》 Amazon OpsWorks 中的将Amazon OpsWorks 用户导入。

以下代码示例演示如何使用 describe-permissions

Amazon CLI

获取用户的每堆栈 Amazon OpsWorks 权限级别

以下示例说明如何获取 Amazon 身份和访问管理 (IAM) 用户对指定堆栈的权限级别。

aws opsworks --region us-east-1 describe-permissions --iam-user-arn arn:aws:iam::123456789012:user/cli-user-test --stack-id d72553d4-8727-448c-9b00-f024f0ba1b06

输出:

{ "Permissions": [ { "StackId": "d72553d4-8727-448c-9b00-f024f0ba1b06", "IamUserArn": "arn:aws:iam::123456789012:user/cli-user-test", "Level": "manage", "AllowSudo": true, "AllowSsh": true } ] }

更多信息

有关更多信息,请参阅Amazon OpsWorks 用户指南中的授予每堆栈权限级别。

以下代码示例演示如何使用 describe-raid-arrays

Amazon CLI

描述 RAID 阵列

以下示例描述了连接到指定堆栈中实例的 RAID 阵列。

aws opsworks --region us-east-1 describe-raid-arrays --stack-id d72553d4-8727-448c-9b00-f024f0ba1b06

输出:以下是带有一个 RAID 阵列的堆栈的输出。

{ "RaidArrays": [ { "StackId": "d72553d4-8727-448c-9b00-f024f0ba1b06", "AvailabilityZone": "us-west-2a", "Name": "Created for php-app1", "NumberOfDisks": 2, "InstanceId": "9f14adbc-ced5-43b6-bf01-e7d0db6cf2f7", "RaidLevel": 0, "VolumeType": "standard", "RaidArrayId": "f2d4e470-5972-4676-b1b8-bae41ec3e51c", "Device": "/dev/md0", "MountPoint": "/mnt/workspace", "CreatedAt": "2015-02-26T23:53:09+00:00", "Size": 100 } ] }

有关更多信息,请参阅《Amazon OpsWorks 用户指南》中的 EBS 卷。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DescribeRaidArrays中的。

以下代码示例演示如何使用 describe-rds-db-instances

Amazon CLI

描述堆栈中已注册的 Amazon RDS 实例

以下示例描述了在指定堆栈中注册的 Amazon RDS 实例。

aws opsworks --region us-east-1 describe-rds-db-instances --stack-id d72553d4-8727-448c-9b00-f024f0ba1b06

输出:以下是包含一个已注册 RDS 实例的堆栈的输出。

{ "RdsDbInstances": [ { "Engine": "mysql", "StackId": "d72553d4-8727-448c-9b00-f024f0ba1b06", "MissingOnRds": false, "Region": "us-west-2", "RdsDbInstanceArn": "arn:aws:rds:us-west-2:123456789012:db:clitestdb", "DbPassword": "*****FILTERED*****", "Address": "clitestdb.cdlqlk5uwd0k.us-west-2.rds.amazonaws.com", "DbUser": "cliuser", "DbInstanceIdentifier": "clitestdb" } ] }

有关更多信息,请参阅《Amazon OpsWorks 用户指南》中的资源管理。

以下代码示例演示如何使用 describe-stack-provisioning-parameters

Amazon CLI

返回堆栈的配置参数

以下describe-stack-provisioning-parameters示例返回指定堆栈的配置参数。配置参数包括代理安装位置和 OpsWorks 用于管理堆栈中实例上的代理的公钥等设置。

aws opsworks describe-stack-provisioning-parameters \ --stack-id 62744d97-6faf-4ecb-969b-a086fEXAMPLE

输出:

{ "AgentInstallerUrl": "https://opsworks-instance-agent-us-west-2.s3.amazonaws.com/ID_number/opsworks-agent-installer.tgz", "Parameters": { "agent_installer_base_url": "https://opsworks-instance-agent-us-west-2.s3.amazonaws.com", "agent_installer_tgz": "opsworks-agent-installer.tgz", "assets_download_bucket": "opsworks-instance-assets-us-west-2.s3.amazonaws.com", "charlie_public_key": "-----BEGIN PUBLIC KEY-----PUBLIC_KEY_EXAMPLE\n-----END PUBLIC KEY-----", "instance_service_endpoint": "opsworks-instance-service.us-west-2.amazonaws.com", "instance_service_port": "443", "instance_service_region": "us-west-2", "instance_service_ssl_verify_peer": "true", "instance_service_use_ssl": "true", "ops_works_endpoint": "opsworks.us-west-2.amazonaws.com", "ops_works_port": "443", "ops_works_region": "us-west-2", "ops_works_ssl_verify_peer": "true", "ops_works_use_ssl": "true", "verbose": "false", "wait_between_runs": "30" } }

有关更多信息,请参阅《Amazon OpsWorks 用户指南》中的 “运行堆栈命令”。

以下代码示例演示如何使用 describe-stack-summary

Amazon CLI

描述堆栈的配置

以下describe-stack-summary命令返回指定堆栈配置的摘要。

aws opsworks --region us-east-1 describe-stack-summary --stack-id 8c428b08-a1a1-46ce-a5f8-feddc43771b8

输出:

{ "StackSummary": { "StackId": "8c428b08-a1a1-46ce-a5f8-feddc43771b8", "InstancesCount": { "Booting": 1 }, "Name": "CLITest", "AppsCount": 1, "LayersCount": 1, "Arn": "arn:aws:opsworks:us-west-2:123456789012:stack/8c428b08-a1a1-46ce-a5f8-feddc43771b8/" } }

更多信息

有关更多信息,请参阅《Amazon OpsWorks 用户指南》中的堆栈。

以下代码示例演示如何使用 describe-stacks

Amazon CLI

描述堆栈

以下describe-stacks命令描述了账户的堆栈。

aws opsworks --region us-east-1 describe-stacks

输出:

{ "Stacks": [ { "ServiceRoleArn": "arn:aws:iam::444455556666:role/aws-opsworks-service-role", "StackId": "aeb7523e-7c8b-49d4-b866-03aae9d4fbcb", "DefaultRootDeviceType": "instance-store", "Name": "TomStack-sd", "ConfigurationManager": { "Version": "11.4", "Name": "Chef" }, "UseCustomCookbooks": true, "CustomJson": "{\n \"tomcat\": {\n \"base_version\": 7,\n \"java_opts\": \"-Djava.awt.headless=true -Xmx256m\"\n },\n \"datasources\": {\n \"ROOT\": \"jdbc/mydb\"\n }\n}", "Region": "us-east-1", "DefaultInstanceProfileArn": "arn:aws:iam::444455556666:instance-profile/aws-opsworks-ec2-role", "CustomCookbooksSource": { "Url": "git://github.com/example-repo/tomcustom.git", "Type": "git" }, "DefaultAvailabilityZone": "us-east-1a", "HostnameTheme": "Layer_Dependent", "Attributes": { "Color": "rgb(45, 114, 184)" }, "DefaultOs": "Amazon Linux", "CreatedAt": "2013-08-01T22:53:42+00:00" }, { "ServiceRoleArn": "arn:aws:iam::444455556666:role/aws-opsworks-service-role", "StackId": "40738975-da59-4c5b-9789-3e422f2cf099", "DefaultRootDeviceType": "instance-store", "Name": "MyStack", "ConfigurationManager": { "Version": "11.4", "Name": "Chef" }, "UseCustomCookbooks": false, "Region": "us-east-1", "DefaultInstanceProfileArn": "arn:aws:iam::444455556666:instance-profile/aws-opsworks-ec2-role", "CustomCookbooksSource": {}, "DefaultAvailabilityZone": "us-east-1a", "HostnameTheme": "Layer_Dependent", "Attributes": { "Color": "rgb(45, 114, 184)" }, "DefaultOs": "Amazon Linux", "CreatedAt": "2013-10-25T19:24:30+00:00" } ] }

更多信息

有关更多信息,请参阅《Amazon OpsWorks 用户指南》中的堆栈。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DescribeStacks中的。

以下代码示例演示如何使用 describe-timebased-auto-scaling

Amazon CLI

描述实例的基于时间的扩展配置

以下示例描述了指定实例的基于时间的扩展配置。该实例由其实例 ID 进行标识,您可以在实例的详细信息页面上找到该实例 ID,也可以通过运行来找到describe-instances

aws opsworks describe-time-based-auto-scaling --region us-east-1 --instance-ids 701f2ffe-5d8e-4187-b140-77b75f55de8d

输出:该示例只有一个基于时间的实例。

{ "TimeBasedAutoScalingConfigurations": [ { "InstanceId": "701f2ffe-5d8e-4187-b140-77b75f55de8d", "AutoScalingSchedule": { "Monday": { "11": "on", "10": "on", "13": "on", "12": "on" }, "Tuesday": { "11": "on", "10": "on", "13": "on", "12": "on" } } } ] }

更多信息

有关更多信息,请参阅《Amazon OpsWorks 用户指南》中的基于时间的自动缩放的工作原理。

以下代码示例演示如何使用 describe-user-profiles

Amazon CLI

描述用户个人资料

以下describe-user-profiles命令描述了该账户的用户个人资料。

aws opsworks --region us-east-1 describe-user-profiles

输出:

{ "UserProfiles": [ { "IamUserArn": "arn:aws:iam::123456789012:user/someuser", "SshPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAkOuP7i80q3Cko...", "AllowSelfManagement": true, "Name": "someuser", "SshUsername": "someuser" }, { "IamUserArn": "arn:aws:iam::123456789012:user/cli-user-test", "AllowSelfManagement": true, "Name": "cli-user-test", "SshUsername": "myusername" } ] }

更多信息

有关更多信息,请参阅《 Amazon OpsWorks 用户指南》中的管理Amazon OpsWorks 用户

以下代码示例演示如何使用 describe-volumes

Amazon CLI

描述堆栈的体积

以下示例描述了堆栈的 EBS 卷。

aws opsworks --region us-east-1 describe-volumes --stack-id 8c428b08-a1a1-46ce-a5f8-feddc43771b8

输出:

{ "Volumes": [ { "Status": "in-use", "AvailabilityZone": "us-west-2a", "Name": "CLITest", "InstanceId": "dfe18b02-5327-493d-91a4-c5c0c448927f", "VolumeType": "standard", "VolumeId": "56b66fbd-e1a1-4aff-9227-70f77118d4c5", "Device": "/dev/sdi", "Ec2VolumeId": "vol-295c1638", "MountPoint": "/mnt/myvolume", "Size": 1 } ] }

更多信息

有关更多信息,请参阅《Amazon OpsWorks 用户指南》中的资源管理。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DescribeVolumes中的。

以下代码示例演示如何使用 detach-elastic-load-balancer

Amazon CLI

将负载均衡器与其层分离

以下示例将以其名称标识的负载均衡器与其层分离。

aws opsworks --region us-east-1 detach-elastic-load-balancer --elastic-load-balancer-name Java-LB --layer-id 888c5645-09a5-4d0e-95a8-812ef1db76a4

输出:无。

更多信息

有关更多信息,请参阅《Amazon OpsWorks 用户指南》中的 Elastic Load Balancin g。

以下代码示例演示如何使用 disassociate-elastic-ip

Amazon CLI

取消弹性 IP 地址与实例的关联

以下示例取消弹性 IP 地址与指定实例的关联。

aws opsworks --region us-east-1 disassociate-elastic-ip --elastic-ip 54.148.130.96

输出:无。

更多信息

有关更多信息,请参阅《Amazon OpsWorks 用户指南》中的资源管理。

以下代码示例演示如何使用 get-hostname-suggestion

Amazon CLI

获取图层的下一个主机名

以下示例获取指定层的下一个生成的主机名。本示例中使用的层是带有一个实例的 Java 应用程序服务器层。堆栈的主机名主题是默认的主机名主题,即 Layer_Dependention。

aws opsworks --region us-east-1 get-hostname-suggestion --layer-id 888c5645-09a5-4d0e-95a8-812ef1db76a4

输出:

{ "Hostname": "java-app2", "LayerId": "888c5645-09a5-4d0e-95a8-812ef1db76a4" }

更多信息

有关更多信息,请参阅《Amazon OpsWorks 用户指南》中的 “创建新堆栈”。

以下代码示例演示如何使用 reboot-instance

Amazon CLI

重启实例

以下示例重启实例。

aws opsworks --region us-east-1 reboot-instance --instance-id dfe18b02-5327-493d-91a4-c5c0c448927f

输出:无。

更多信息

有关更多信息,请参阅Amazon OpsWorks 用户指南中的重启实例。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考RebootInstance中的。

以下代码示例演示如何使用 register-elastic-ip

Amazon CLI

向堆栈注册弹性 IP 地址

以下示例将弹性 IP 地址(由其 IP 地址标识)注册到指定的堆栈。

注意:弹性 IP 地址必须与堆栈位于同一区域。

aws opsworks register-elastic-ip --region us-east-1 --stack-id d72553d4-8727-448c-9b00-f024f0ba1b06 --elastic-ip 54.148.130.96

输出

{ "ElasticIp": "54.148.130.96" }

更多信息

有关更多信息,请参阅OpsWorks 用户指南中的向堆栈注册弹性 IP 地址。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考RegisterElasticIp中的。

以下代码示例演示如何使用 register-rds-db-instance

Amazon CLI

使用堆栈注册 Amazon RDS 实例

以下示例向指定的堆栈注册一个 Amazon RDS 数据库实例,该实例由其亚马逊资源名称 (ARN) 标识。它还指定了实例的主用户名和密码。请注意,这并 Amazon OpsWorks 不能验证这两个值中的任何一个。如果其中一个不正确,则您的应用程序将无法连接到数据库。

aws opsworks register-rds-db-instance --region us-east-1 --stack-id d72553d4-8727-448c-9b00-f024f0ba1b06 --rds-db-instance-arn arn:aws:rds:us-west-2:123456789012:db:clitestdb --db-user cliuser --db-password some23!pwd

输出:无。

更多信息

有关更多信息,请参阅Amazon OpsWorks 用户指南中的使用堆栈注册 Amazon RDS 实例。

以下代码示例演示如何使用 register-volume

Amazon CLI

使用堆栈注册 Amazon EBS 卷

以下示例将一个由其卷 ID 标识的 Amazon EBS 卷注册到指定的堆栈。

aws opsworks register-volume --region us-east-1 --stack-id d72553d4-8727-448c-9b00-f024f0ba1b06 --ec-2-volume-id vol-295c1638

输出:

{ "VolumeId": "ee08039c-7cb7-469f-be10-40fb7f0c05e8" }

更多信息

有关更多信息,请参阅Amazon OpsWorks 用户指南中的使用堆栈注册 Amazon EBS 卷。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考RegisterVolume中的。

以下代码示例演示如何使用 register

Amazon CLI

向堆栈注册实例

以下示例显示了向 Amazon Opsworks 之外创建的堆栈注册实例的各种方法。您可以register从待注册的实例运行,也可以从单独的工作站运行。有关更多信息,请参阅Amazon OpsWorks 用户指南中的注册 Amazon EC2 和本地实例。

注意:为简洁起见,示例省略了参数。region

注册 Amazon EC2 实例

要表示您正在注册 EC2 实例,请将--infrastructure-class参数设置为ec2

以下示例使用来自单独工作站的指定堆栈注册一个 EC2 实例。该实例通过其 EC2 ID 进行标识i-12345678。该示例使用工作站的默认 SSH 用户名,并尝试使用不需要密码的身份验证技术登录实例,例如默认 SSH 私钥。如果失败,则会register查询密码。

aws opsworks register --infrastructure-class=ec2 --stack-id 935450cc-61e0-4b03-a3e0-160ac817d2bb i-12345678

以下示例使用来自不同工作站的指定堆栈注册一个 EC2 实例。它使用--ssh-username--ssh-private-key参数明确指定命令用于登录实例的 SSH 用户名和私钥文件。 ec2-user是亚马逊 Linux 实例的标准用户名。用ubuntu于 Ubuntu 实例。

aws opsworks register --infrastructure-class=ec2 --stack-id 935450cc-61e0-4b03-a3e0-160ac817d2bb --ssh-username ec2-user --ssh-private-key ssh_private_key i-12345678

以下示例注册了正在运行该register命令的 EC2 实例。使用 SSH 登录实例,然后register使用--local参数而不是实例 ID 或主机名运行。

aws opsworks register --infrastructure-class ec2 --stack-id 935450cc-61e0-4b03-a3e0-160ac817d2bb --local

注册本地实例

要表示您正在注册本地实例,请将--infrastructure-class参数设置为on-premises

以下示例使用来自不同工作站的指定堆栈注册现有本地实例。实例由其 IP 地址标识192.0.2.3。该示例使用工作站的默认 SSH 用户名,并尝试使用不需要密码的身份验证技术登录实例,例如默认 SSH 私钥。如果失败,则会register查询密码。

aws opsworks register --infrastructure-class on-premises --stack-id 935450cc-61e0-4b03-a3e0-160ac817d2bb 192.0.2.3

以下示例使用来自不同工作站的指定堆栈注册本地实例。该实例由其主机名标识host1--override-...参数分别显示 Amazon OpsWorkswebserver1为主机名192.0.2.310.0.0.2实例的公用和私有 IP 地址。

aws opsworks register --infrastructure-class on-premises --stack-id 935450cc-61e0-4b03-a3e0-160ac817d2bb --override-hostname webserver1 --override-public-ip 192.0.2.3 --override-private-ip 10.0.0.2 host1

以下示例使用来自不同工作站的指定堆栈注册本地实例。实例由其 IP 地址标识。 register使用指定的 SSH 用户名和私钥文件登录实例。

aws opsworks register --infrastructure-class on-premises --stack-id 935450cc-61e0-4b03-a3e0-160ac817d2bb --ssh-username admin --ssh-private-key ssh_private_key 192.0.2.3

以下示例使用来自不同工作站的指定堆栈注册现有本地实例。该命令使用指定 SSH 密码和实例的 IP 地址的自定义 SSH 命令字符串登录实例。

aws opsworks register --infrastructure-class on-premises --stack-id 935450cc-61e0-4b03-a3e0-160ac817d2bb --override-ssh "sshpass -p 'mypassword' ssh your-user@192.0.2.3"

以下示例注册正在运行该register命令的本地实例。使用 SSH 登录实例,然后register使用--local参数而不是实例 ID 或主机名运行。

aws opsworks register --infrastructure-class on-premises --stack-id 935450cc-61e0-4b03-a3e0-160ac817d2bb --local

输出:以下是注册 EC2 实例的典型输出。

Warning: Permanently added '52.11.41.206' (ECDSA) to the list of known hosts. % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 6403k 100 6403k 0 0 2121k 0 0:00:03 0:00:03 --:--:-- 2121k [Tue, 24 Feb 2015 20:48:37 +0000] opsworks-init: Initializing AWS OpsWorks environment [Tue, 24 Feb 2015 20:48:37 +0000] opsworks-init: Running on Ubuntu [Tue, 24 Feb 2015 20:48:37 +0000] opsworks-init: Checking if OS is supported [Tue, 24 Feb 2015 20:48:37 +0000] opsworks-init: Running on supported OS [Tue, 24 Feb 2015 20:48:37 +0000] opsworks-init: Setup motd [Tue, 24 Feb 2015 20:48:37 +0000] opsworks-init: Executing: ln -sf --backup /etc/motd.opsworks-static /etc/motd [Tue, 24 Feb 2015 20:48:37 +0000] opsworks-init: Enabling multiverse repositories [Tue, 24 Feb 2015 20:48:37 +0000] opsworks-init: Customizing APT environment [Tue, 24 Feb 2015 20:48:37 +0000] opsworks-init: Installing system packages [Tue, 24 Feb 2015 20:48:37 +0000] opsworks-init: Executing: dpkg --configure -a [Tue, 24 Feb 2015 20:48:37 +0000] opsworks-init: Executing with retry: apt-get update [Tue, 24 Feb 2015 20:49:13 +0000] opsworks-init: Executing: apt-get install -y ruby ruby-dev libicu-dev libssl-dev libxslt-dev libxml2-dev libyaml-dev monit [Tue, 24 Feb 2015 20:50:13 +0000] opsworks-init: Using assets bucket from environment: 'opsworks-instance-assets-us-east-1.s3.amazonaws.com'. [Tue, 24 Feb 2015 20:50:13 +0000] opsworks-init: Installing Ruby for the agent [Tue, 24 Feb 2015 20:50:13 +0000] opsworks-init: Executing: /tmp/opsworks-agent-installer.YgGq8wF3UUre6yDy/opsworks-agent-installer/opsworks-agent/bin/installer_wrapper.sh -r -R opsworks-instance-assets-us-east-1.s3.amazonaws.com [Tue, 24 Feb 2015 20:50:44 +0000] opsworks-init: Starting the installer Instance successfully registered. Instance ID: 4d6d1710-ded9-42a1-b08e-b043ad7af1e2 Connection to 52.11.41.206 closed.

更多信息

有关更多信息,请参阅Amazon OpsWorks 用户指南中的向 Amazon OpsWorks 堆栈注册实例。

  • 有关 API 的详细信息,请参阅在《Amazon CLI 命令参考》中注册

以下代码示例演示如何使用 set-load-based-auto-scaling

Amazon CLI

为图层设置基于负载的缩放配置

以下示例为指定层启用基于负载的缩放并设置该层的配置。必须使用create-instance向层中添加基于负载的实例。

aws opsworks --region us-east-1 set-load-based-auto-scaling --layer-id 523569ae-2faf-47ac-b39e-f4c4b381f36d --enable --up-scaling file://upscale.json --down-scaling file://downscale.json

该示例将升级阈值设置放在名为的工作目录中的一个单独文件中upscale.json,该文件包含以下内容。

{ "InstanceCount": 2, "ThresholdsWaitTime": 3, "IgnoreMetricsTime": 3, "CpuThreshold": 85, "MemoryThreshold": 85, "LoadThreshold": 85 }

该示例将缩减阈值设置放在名为的工作目录中的一个单独文件中downscale.json,该文件包含以下内容。

{ "InstanceCount": 2, "ThresholdsWaitTime": 3, "IgnoreMetricsTime": 3, "CpuThreshold": 35, "MemoryThreshold": 30, "LoadThreshold": 30 }

输出:无。

更多信息

有关更多信息,请参阅Amazon OpsWorks 用户指南中的使用基于负载的自动扩展。

以下代码示例演示如何使用 set-permission

Amazon CLI

授予每个堆栈的 Amazon OpsWorks 权限级别

当您通过create-user-profile调用将 Amazon 身份和访问管理 (IAM) Management 用户导 Amazon OpsWorks 入时,该用户仅拥有由所附的 IAM 策略授予的权限。您可以通过修改用户的策略来授予 Amazon OpsWorks 权限。但是,对于用户需要访问的每个堆栈,导入用户,然后使用set-permission命令向用户授予一个标准权限级别,通常会更容易。

以下示例向由 Amazon 资源名称 (ARN) 标识的用户授予对指定堆栈的权限。该示例向用户授予管理权限级别,在堆栈的实例上具有 sudo 和 SSH 权限。

aws opsworks set-permission --region us-east-1 --stack-id 71c7ca72-55ae-4b6a-8ee1-a8dcded3fa0f --level manage --iam-user-arn arn:aws:iam::123456789102:user/cli-user-test --allow-ssh --allow-sudo

输出:无。

更多信息

有关更多信息,请参阅《 Amazon OpsWorks 用户指南》中的向用户授予每堆栈权限。Amazon OpsWorks

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考SetPermission中的。

以下代码示例演示如何使用 set-time-based-auto-scaling

Amazon CLI

为图层设置基于时间的缩放配置

以下示例为指定实例设置基于时间的配置。必须先使用将实例create-instance添加到图层中。

aws opsworks --region us-east-1 set-time-based-auto-scaling --instance-id 69b6237c-08c0-4edb-a6af-78f3d01cedf2 --auto-scaling-schedule file://schedule.json

该示例将计划放在工作目录中名为的单独文件中schedule.json。在此示例中,实例在星期一和星期二中午 UTC(协调世界时)左右开启了几个小时。

{ "Monday": { "10": "on", "11": "on", "12": "on", "13": "on" }, "Tuesday": { "10": "on", "11": "on", "12": "on", "13": "on" } }

输出:无。

更多信息

有关更多信息,请参阅Amazon OpsWorks 用户指南中的使用基于时间的自动缩放。

以下代码示例演示如何使用 start-instance

Amazon CLI

启动实例

以下start-instance命令启动指定的全天候实例。

aws opsworks start-instance --instance-id f705ee48-9000-4890-8bd3-20eb05825aaf

输出:无。使用描述实例来检查实例的状态。

提示您可以调用 start-stack,使用一条命令启动堆栈中的每个离线实例。

更多信息

有关更多信息,请参阅Amazon OpsWorks 用户指南中的手动启动、停止和重启全天候实例。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考StartInstance中的。

以下代码示例演示如何使用 start-stack

Amazon CLI

启动堆栈的实例

以下示例启动堆栈的所有全天候实例。要启动特定实例,请使用start-instance

aws opsworks --region us-east-1 start-stack --stack-id 8c428b08-a1a1-46ce-a5f8-feddc43771b8

输出:无。

更多信息

有关更多信息,请参阅Amazon OpsWorks 用户指南中的启动实例。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考StartStack中的。

以下代码示例演示如何使用 stop-instance

Amazon CLI

停止实例

以下示例停止了由其实例 ID 标识的指定实例。您可以通过访问 Amazon OpsWorks 控制台上的实例详细信息页面或运行describe-instances命令来获取实例 ID。

aws opsworks stop-instance --region us-east-1 --instance-id 3a21cfac-4a1f-4ce2-a921-b2cfba6f7771

您可以通过调用start-instance或通过调用删除实例来重启已停止的实例delete-instance

输出:无。

更多信息

有关更多信息,请参阅Amazon OpsWorks 用户指南中的停止实例。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考StopInstance中的。

以下代码示例演示如何使用 stop-stack

Amazon CLI

停止堆栈的实例

以下示例停止堆栈的所有全天候实例。要停止特定实例,请使用stop-instance

aws opsworks --region us-east-1 stop-stack --stack-id 8c428b08-a1a1-46ce-a5f8-feddc43771b8

输出:无输出。

更多信息

有关更多信息,请参阅Amazon OpsWorks 用户指南中的停止实例。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考StopStack中的。

以下代码示例演示如何使用 unassign-instance

Amazon CLI

取消分配已注册实例的图层

以下unassign-instance命令将实例从其附加层中取消分配。

aws opsworks --region us-east-1 unassign-instance --instance-id 4d6d1710-ded9-42a1-b08e-b043ad7af1e2

输出:无。

更多信息

有关更多信息,请参阅Amazon OpsWorks 用户指南中的取消分配注册实例。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考UnassignInstance中的。

以下代码示例演示如何使用 unassign-volume

Amazon CLI

取消对卷实例的分配

以下示例从其实例中取消分配已注册的亚马逊弹性区块存储 (Amazon EBS) Block Store 卷。该卷由其卷 ID 标识,这是您在向堆栈注册卷时 Amazon OpsWorks 分配的 GUID,而不是亚马逊弹性计算云 (Amazon EC2) 卷 ID。

aws opsworks --region us-east-1 unassign-volume --volume-id 8430177d-52b7-4948-9c62-e195af4703df

输出:无。

更多信息

有关更多信息,请参阅Amazon OpsWorks 用户指南中的取消分配 Amazon EBS 卷。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考UnassignVolume中的。

以下代码示例演示如何使用 update-app

Amazon CLI

更新应用程序

以下示例更新了指定的应用程序以更改其名称。

aws opsworks --region us-east-1 update-app --app-id 26a61ead-d201-47e3-b55c-2a7c666942f8 --name NewAppName

输出:无。

更多信息

有关更多信息,请参阅Amazon OpsWorks 用户指南中的编辑应用程序。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考UpdateApp中的。

以下代码示例演示如何使用 update-elastic-ip

Amazon CLI

更新弹性 IP 地址名称

以下示例更新了指定弹性 IP 地址的名称。

aws opsworks --region us-east-1 update-elastic-ip --elastic-ip 54.148.130.96 --name NewIPName

输出:无。

更多信息

有关更多信息,请参阅《Amazon OpsWorks 用户指南》中的资源管理。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考UpdateElasticIp中的。

以下代码示例演示如何使用 update-instance

Amazon CLI

更新实例

以下示例更新了指定实例的类型。

aws opsworks --region us-east-1 update-instance --instance-id dfe18b02-5327-493d-91a4-c5c0c448927f --instance-type c3.xlarge

输出:无。

更多信息

有关更多信息,请参阅Amazon OpsWorks 用户指南中的编辑实例配置。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考UpdateInstance中的。

以下代码示例演示如何使用 update-layer

Amazon CLI

更新图层

以下示例将指定层更新为使用 Amazon EBS 优化实例。

aws opsworks --region us-east-1 update-layer --layer-id 888c5645-09a5-4d0e-95a8-812ef1db76a4 --use-ebs-optimized-instances

输出:无。

更多信息

有关更多信息,请参阅《Amazon OpsWorks 用户指南》中的编辑 OpsWorks 图层配置。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考UpdateLayer中的。

以下代码示例演示如何使用 update-my-user-profile

Amazon CLI

更新用户的个人资料

以下示例更新development用户的配置文件以使用指定的 SSH 公钥。用户的 Amazon 凭据由credentials文件 (~\.aws\credentials) 中的development配置文件表示,密钥位于工作目录中的.pem文件中。

aws opsworks --region us-east-1 --profile development update-my-user-profile --ssh-public-key file://development_key.pem

输出:无。

更多信息

有关更多信息,请参阅《 Amazon OpsWorks 用户指南》中的编辑Amazon OpsWorks 用户设置。

以下代码示例演示如何使用 update-rds-db-instance

Amazon CLI

更新已注册的 Amazon RDS 数据库实例

以下示例更新了 Amazon RDS 实例的主密码值。请注意,此命令不会更改 RDS 实例的主密码,只会更改您向其提供的密码 Amazon OpsWorks。如果此密码与 RDS 实例的密码不匹配,则您的应用程序将无法连接到数据库。

aws opsworks --region us-east-1 update-rds-db-instance --db-password 123456789

输出:无。

更多信息

有关更多信息,请参阅Amazon OpsWorks 用户指南中的使用堆栈注册 Amazon RDS 实例。

以下代码示例演示如何使用 update-volume

Amazon CLI

更新已注册的卷

以下示例更新已注册的亚马逊 Elastic Block Store (Amazon EBS) 卷的挂载点。该卷由其卷 ID 标识,这是您在向堆栈注册卷时 Amazon OpsWorks 分配给该卷的 GUID,而不是亚马逊弹性计算云 (Amazon EC2) 卷 ID。 :

aws opsworks --region us-east-1 update-volume --volume-id 8430177d-52b7-4948-9c62-e195af4703df --mount-point /mnt/myvol

输出:无。

更多信息

有关更多信息,请参阅Amazon OpsWorks 用户指南中的将 Amazon EBS 卷分配给实例。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考UpdateVolume中的。