AWS OpsWorks 使用示例 AWS CLI - AWS Command Line Interface

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

AWS OpsWorks 使用示例 AWS CLI

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

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

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

主题

操作

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

AWS CLI

为图层分配注册实例

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

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

输出:无。

更多信息

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

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

AWS CLI

为实例分配注册卷

以下示例将注册的亚马逊弹性区块存储 (AmazonEBS) 卷分配给实例。该卷由其卷 ID 标识,这是您在向GUID堆栈注册卷时 AWS OpsWorks 分配的 ID,而不是亚马逊弹性计算云 (AmazonEC2) 卷 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

输出:无。

更多信息

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

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

AWS 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

输出:无。

更多信息

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

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

AWS CLI

将负载均衡器连接到层

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

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

输出:无。

更多信息

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

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

AWS CLI

示例 1:创建应用程序

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

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向堆栈注册该实例。对于 “我的SQL应用程序服务器” 实例,Type请设置为OpsworksMysqlInstance。这些实例由创建 AWS OpsWorks,因此不必注册。

输出:

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

有关更多信息,请参阅AWS OpsWorks 用户指南中的添加应用程序。

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

AWS 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" }

有关部署的更多信息,请参阅AWS 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" }

有关更多信息,请参阅《AWS 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" }

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

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

AWS 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" }

更多信息

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

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

AWS CLI

创建图层

以下create-layer命令在指定堆栈yPHPLayer 中创建名为 M 的 PHP App Server 层。

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" }

更多信息

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

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

AWS CLI

创建服务器

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

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

AWS CLI

创建堆栈

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

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 参数是必需的。在 AWS OpsWorks创建第一个堆栈时,您通常会使用为您创建的堆栈。要获取账户的 Amazon 资源名称 (ARNs),请前往IAM控制台,Roles在导航面板中选择,选择角色或个人资料,然后选择Summary选项卡。

输出:

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

更多信息

有关更多信息,请参阅AWS OpsWorks 用户指南中的创建新堆栈。

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

AWS CLI

创建用户个人资料

您可以 AWS OpsWorks 通过调用 create-user-profile创建用户配置文件将 AWS 身份和访问管理器 (IAM) 用户导入。以下示例为该用户创建了用户个人资料,该 cli-user-testIAM用户由 Amazon 资源名称 (ARN) 标识。该示例为用户分配一个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用户导入 AWS OpsWorks,但只能导入附加策略所授予的权限。您可以使用set-permissions命令授予每个堆栈的 AWS OpsWorks 权限。

更多信息

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

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

AWS CLI

删除应用程序

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

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

输出:无。

更多信息

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

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

AWS CLI

删除实例

以下delete-instance示例删除了由其实例 ID 标识的指定实例。您可以通过在 AWS 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

此命令不生成任何输出。

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

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

AWS CLI

删除图层

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

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

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

输出:无。

更多信息

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

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

AWS CLI

删除堆栈

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

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

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

输出:无。

更多信息

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

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

AWS CLI

删除用户配置文件并从中移除IAM用户 AWS OpsWorks

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

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

输出:无。

更多信息

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

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

AWS CLI

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

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

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

输出:无。

更多信息

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

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

AWS CLI

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

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

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

输出:无。

更多信息

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

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

AWS CLI

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

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

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:some23!PWD 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

AWS CLI

取消注册 Amazon 卷 EBS

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

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

输出:无。

更多信息

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

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

AWS 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" } ] }

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

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

AWS 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 } ] }

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

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

AWS 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" } ] }

更多信息

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

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

AWS 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" } ] }

更多信息

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

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

AWS 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" } ] }

更多信息

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

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

AWS CLI

描述实例

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

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

输出:以下输出示例适用于具有两个实例的堆栈。第一个是注册EC2实例,第二个是由创建的 AWS 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" } ] }

更多信息

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

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

AWS 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": [] } ] }

更多信息

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

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

AWS 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" } ] }

更多信息

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

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

AWS CLI

获取用户的个人资料

以下示例说明如何获取正在运行该命令的 Ident AWS ity and Access Management (IAM) 用户的个人资料。

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" } }

更多信息

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

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

AWS CLI

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

以下示例说明如何在指定堆栈上获取 Id AWS entity and Access Management (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 } ] }

更多信息

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

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

AWS 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 } ] }

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

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

AWS 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" } ] }

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

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

AWS 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" } }

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

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

AWS 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/" } }

更多信息

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

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

AWS 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" } ] }

更多信息

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

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

AWS 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" } } } ] }

更多信息

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

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

AWS 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" } ] }

更多信息

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

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

AWS 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 } ] }

更多信息

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

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

AWS CLI

将负载均衡器与其层分离

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

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

输出:无。

更多信息

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

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

AWS CLI

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

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

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

输出:无。

更多信息

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

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

AWS 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" }

更多信息

有关更多信息,请参阅AWS OpsWorks 用户指南中的创建新堆栈。

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

AWS CLI

重启实例

以下示例重启实例。

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

输出:无。

更多信息

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

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

AWS 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 地址。

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

AWS CLI

使用堆栈注册 Amazon RDS 实例

以下示例使用指定的堆栈注册一个由其亚马逊资源名称 (ARN) 标识的 Amazon RDS 数据库实例。它还指定了实例的主用户名和密码。请注意,这并 AWS 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

输出:无。

更多信息

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

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

AWS CLI

使用堆栈注册 Amazon EBS 卷

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

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" }

更多信息

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

以下代码示例显示了如何使用register

AWS CLI

向堆栈注册实例

以下示例显示了向 AWS Opsworks 之外创建的堆栈注册实例的各种方法。您可以register从待注册的实例运行,也可以从单独的工作站运行。有关更多信息,请参阅AWS 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实例。使用实例(而不是实例 ID 或主机名)登录实例SSH并register使用--local参数运行。

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-...参数分别显示 AWS 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命令的本地实例。使用实例(而不是实例 ID 或主机名)登录实例SSH并register使用--local参数运行。

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.

更多信息

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

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

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

AWS 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 }

输出:无。

更多信息

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

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

AWS CLI

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

当您 AWS OpsWorks 通过调用create-user-profile将 I AWS dentity and Access Management (IAM) 用户导入时,该用户仅拥有由附加IAM策略授予的权限。您可以通过修改用户的策略来授予 AWS 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

输出:无。

更多信息

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

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

AWS 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" } }

输出:无。

更多信息

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

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

AWS CLI

启动实例

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

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

输出:无。使用 describe-instances 来检查实例的状态。

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

更多信息

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

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

AWS CLI

启动堆栈的实例

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

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

输出:无。

更多信息

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

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

AWS CLI

停止实例

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

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

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

输出:无。

更多信息

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

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

AWS CLI

停止堆栈的实例

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

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

输出:无输出。

更多信息

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

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

AWS CLI

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

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

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

输出:无。

更多信息

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

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

AWS CLI

取消对卷实例的分配

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

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

输出:无。

更多信息

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

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

AWS CLI

更新应用程序

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

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

输出:无。

更多信息

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

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

AWS CLI

更新弹性 IP 地址名称

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

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

输出:无。

更多信息

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

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

AWS CLI

更新实例

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

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

输出:无。

更多信息

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

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

AWS CLI

更新图层

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

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

输出:无。

更多信息

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

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

AWS CLI

更新用户的个人资料

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

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

输出:无。

更多信息

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

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

AWS CLI

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

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

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

输出:无。

更多信息

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

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

AWS CLI

更新已注册的卷

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

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

输出:无。

更多信息

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