本文档仅适用于 AWS CLI 版本 1。有关 AWS CLI 版本 2 的相关文档,请参阅版本 2 用户指南。
使用 AWS CLI 的 AWS OpsWorks 示例
以下代码示例演示了如何通过将 AWS Command Line Interface与 AWS OpsWorks 结合使用,来执行操作和实现常见场景。
操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。
每个示例都包含一个指向完整源代码的链接,您可以从中找到有关如何在上下文中设置和运行代码的说明。
主题
操作
以下代码示例演示了如何使用 assign-instance
。
- AWS CLI
-
将注册的实例分配给层
以下示例将注册的实例分配给某个自定义层。
aws opsworks --region
us-east-1
assign-instance
--instance-id4d6d1710-ded9-42a1-b08e-b043ad7af1e2
--layer-ids26cf1d32-6876-42fa-bbf1-9cadc0bff938
输出:无。
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“将注册的实例分配给某个层”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 AssignInstance
。
-
以下代码示例演示了如何使用 assign-volume
。
- AWS CLI
-
将注册的卷分配给实例
以下示例将注册的 Amazon Elastic Block Store(Amazon EBS)卷分配给某个实例。该卷由其卷 ID 标识,这是 AWS OpsWorks 在您向堆栈注册卷时分配的 GUID,而不是 Amazon Elastic Compute Cloud(Amazon EC2)卷 ID。在运行
assign-volume
之前,必须先运行update-volume
为卷分配装载点。aws opsworks --region
us-east-1
assign-volume
--instance-id4d6d1710-ded9-42a1-b08e-b043ad7af1e2
--volume-id26cf1d32-6876-42fa-bbf1-9cadc0bff938
输出:无。
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“将 Amazon EBS 卷分配给实例”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 AssignVolume
。
-
以下代码示例演示了如何使用 associate-elastic-ip
。
- AWS CLI
-
关联弹性 IP 地址和实例
以下示例将弹性 IP 地址与指定的实例相关联。
aws opsworks --region
us-east-1
associate-elastic-ip
--instance-iddfe18b02-5327-493d-91a4-c5c0c448927f
--elastic-ip54.148.130.96
输出:无。
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“资源管理”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 AssociateElasticIp
。
-
以下代码示例演示了如何使用 attach-elastic-load-balancer
。
- AWS CLI
-
将负载均衡器挂载到层
以下示例将一个负载均衡器(由其名称标识)连接到指定层。
aws opsworks --region
us-east-1
attach-elastic-load-balancer
--elastic-load-balancer-nameJava-LB
--layer-id888c5645-09a5-4d0e-95a8-812ef1db76a4
输出:无。
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“弹性负载均衡器”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 AttachElasticLoadBalancer
。
-
以下代码示例演示了如何使用 create-app
。
- AWS CLI
-
示例 1:创建应用程序
以下示例使用存储在 GitHub 存储库中的代码创建了一个名为 SimplePHPApp 的 PHP 应用程序。该命令使用应用程序源定义的简写形式。
aws opsworks create-app \ --region
us-east-1
\ --stack-idf6673d70-32e6-4425-8999-265dd002fec7
\ --nameSimplePHPApp
\ --typephp
\ --app-sourceType=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-id8c428b08-a1a1-46ce-a5f8-feddc43771b8
\ --nameSimpleJSP
\ --typejava
\ --app-sourcefile://appsource.json
\ --data-sourcesfile://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
。这些实例由 AWS OpsWorks 创建,因此无需注册。输出:
{ "AppId": "26a61ead-d201-47e3-b55c-2a7c666942f8" }
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“添加应用程序”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateApp
。
-
以下代码示例演示了如何使用 create-deployment
。
- AWS CLI
-
示例 1:部署应用程序和运行堆栈命令
以下示例显示了如何使用
create-deployment
命令部署应用程序和运行堆栈命令。请注意,用于指定命令的 JSON 对象中的引号("
)字符都以转义字符(\)开头。如果没有转义字符,该命令可能会返回无效的 JSON 错误。以下
create-deployment
示例将应用程序部署到指定的堆栈。aws opsworks create-deployment \ --stack-id
cfb7e082-ad1d-4599-8e81-de1c39ab45bf
\ --app-id307be5c8-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-id307be5c8-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 gems。aws opsworks create-deployment \ --stack-id
935450cc-61e0-4b03-a3e0-160ac817d2bb
\ --command "{\"Name\":\"install_dependencies\"}"输出:
{ "DeploymentId": "aef5b255-8604-4928-81b3-9b0187f962ff" }
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的运行堆栈命令。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateDeployment
。
-
以下代码示例演示了如何使用 create-instance
。
- AWS CLI
-
创建实例
以下
create-instance
命令在指定堆栈中创建名为 myinstance1 的 m1.large Amazon Linux 实例。实例将被分配给一个层。aws opsworks --region
us-east-1
create-instance
--stack-id935450cc-61e0-4b03-a3e0-160ac817d2bb
--layer-ids5c8c272a-f2d5-42e3-8245-5bf3927cb65b
--hostnamemyinstance1
--instance-typem1.large
--os"Amazon Linux"
要使用自动生成的名称,请调用 get-hostname-suggestion,它会根据您在创建堆栈时指定的主题生成主机名。然后将该名称传递给主机名参数。
输出:
{ "InstanceId": "5f9adeaa-c94c-42c6-aeef-28a5376002cd" }
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“将实例添加到层”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateInstance
。
-
以下代码示例演示了如何使用 create-layer
。
- AWS CLI
-
创建图层
以下
create-layer
命令在指定堆栈中创建名为 MyPHPLayer 的 PHP App Server 层。aws opsworks create-layer --region
us-east-1
--stack-idf6673d70-32e6-4425-8999-265dd002fec7
--typephp-app
--nameMyPHPLayer
--shortnamemyphplayer
输出:
{ "LayerId": "0b212672-6b4b-40e4-8a34-5a943cf2e07a" }
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“如何创建层”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateLayer
。
-
以下代码示例演示了如何使用 create-server
。
- AWS CLI
-
创建服务器
以下
create-server
示例在默认区域新建一个名为automate-06
的 Chef Automate 服务器。请注意,大多数其他设置都使用默认值,例如,要保留的备份数量,以及维护和备份启动时间。在运行create-server
命令之前,请完成《AWS Opsworks for Chef Automate 用户指南》中的 AWS OpsWorks for Chef Automate 入门中的先决条件。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" ] } }
有关更多信息,请参阅《AWS OpsWorks for Chef Automate API 参考》中的 CreateServer。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateServer
。
-
以下代码示例演示了如何使用 create-stack
。
- AWS CLI
-
创建堆栈
以下
create-stack
命令创建了一个名为 CLI Stack 的堆栈。aws opsworks create-stack --name
"CLI Stack"
--stack-region"us-east-1"
--service-role-arnarn:aws:iam::123456789012:role/aws-opsworks-service-role
--default-instance-profile-arnarn:aws:iam::123456789012:instance-profile/aws-opsworks-ec2-role
--regionus-east-1
service-role-arn
和default-instance-profile-arn
参数是必需的。当您创建第一个堆栈时,通常可以使用 AWS OpsWorks 为您创建的参数。要获取您账户的 Amazon 资源名称(ARN),请前往 IAM 控制台,在导航面板中选择Roles
,选择角色或配置文件,然后选择Summary
选项卡。输出:
{ "StackId": "f6673d70-32e6-4425-8999-265dd002fec7" }
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“创建新堆栈”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateStack
。
-
以下代码示例演示了如何使用 create-user-profile
。
- AWS CLI
-
创建用户配置文件
您可以通过调用 create-user-profile 来创建用户配置文件,将 AWS Identity and Access Manager(IAM)用户导入 AWS OpsWorks。以下示例为 cli-user-test IAM 用户(由 Amazon 资源名称(ARN)标识)创建了用户配置文件。该示例为用户分配了 SSH 用户名
myusername
并启用自我管理,使用户能够指定 SSH 公钥。aws opsworks --region
us-east-1
create-user-profile
--iam-user-arnarn:aws:iam::123456789102:user/cli-user-test
--ssh-usernamemyusername
--allow-self-management输出:
{ "IamUserArn": "arn:aws:iam::123456789102:user/cli-user-test" }
提示:此命令将 IAM 用户导入 AWS OpsWorks,但只能使用所附策略授予的权限。您可以使用
set-permissions
命令为每个堆栈授予 AWS OpsWorks 权限。更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“将用户导入 AWS OpsWorks”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateUserProfile
。
-
以下代码示例演示了如何使用 delete-app
。
- AWS CLI
-
删除应用程序
以下示例删除了指定的应用程序(由其应用程序 ID 标识)。您可以前往 AWS OpsWorks 控制台上的应用程序详细信息页面或运行
describe-apps
命令,以获取应用程序 ID。aws opsworks delete-app --region
us-east-1
--app-id577943b9-2ec1-4baf-a7bf-1d347601edc5
输出:无。
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“应用程序”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteApp
。
-
以下代码示例演示了如何使用 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-id3a21cfac-4a1f-4ce2-a921-b2cfba6f7771
此命令不生成任何输出。
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的删除 AWS OpsWorks 实例。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteInstance
。
-
以下代码示例演示了如何使用 delete-layer
。
- AWS CLI
-
删除层
以下示例删除了指定层(由其层 ID 标识)。您可以前往 AWS OpsWorks 控制台上的层详细信息页面或运行
describe-layers
命令,以获取层 ID。注意:在删除层之前,必须使用
delete-instance
删除该层的所有实例。aws opsworks delete-layer --region
us-east-1
--layer-ida919454e-b816-4598-b29a-5796afb498ed
输出:无。
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“删除 AWS OpsWorks 实例”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteLayer
。
-
以下代码示例演示了如何使用 delete-stack
。
- AWS CLI
-
删除堆栈
以下示例删除了指定堆栈(由其堆栈 ID 标识)。您可以通过单击 AWS OpsWorks 控制台上的堆栈设置或运行
describe-stacks
命令来获取堆栈 ID。注意:在删除堆栈之前,必须使用
delete-app
、delete-instance
和delete-layer
删除堆栈的所有应用程序、实例和层。aws opsworks delete-stack --region
us-east-1
--stack-id154a9d89-7e9e-433b-8de8-617e53756c84
输出:无。
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“关闭堆栈”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteStack
。
-
以下代码示例演示了如何使用 delete-user-profile
。
- AWS CLI
-
从 AWS OpsWorks 中删除用户配置文件并删除 IAM 用户
以下示例删除了指定 AWS Identity and Access Management(IAM)用户(由 Amazon 资源名称(ARN)标识)的用户配置文件。此操作会将用户从 AWS OpsWorks 中移除,但不会删除 IAM 用户。您必须使用 IAM 控制台、CLI 或 API 执行该任务。
aws opsworks --region
us-east-1
delete-user-profile
--iam-user-arnarn:aws:iam::123456789102:user/cli-user-test
输出:无。
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“将用户导入 AWS OpsWorks”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteUserProfile
。
-
以下代码示例演示了如何使用 deregister-elastic-ip
。
- AWS CLI
-
从堆栈中取消注册弹性 IP 地址
以下示例从堆栈中取消注册了弹性 IP 地址(由其 IP 地址标识)。
aws opsworks deregister-elastic-ip --region
us-east-1
--elastic-ip54.148.130.96
输出:无。
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“取消注册弹性 IP 地址”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeregisterElasticIp
。
-
以下代码示例演示了如何使用 deregister-instance
。
- AWS CLI
-
从堆栈中取消注册已注册的实例
以下
deregister-instance
命令从堆栈中取消注册了已注册的实例。aws opsworks --region
us-east-1
deregister-instance
--instance-id4d6d1710-ded9-42a1-b08e-b043ad7af1e2
输出:无。
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“取消注册已注册的实例”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeregisterInstance
。
-
以下代码示例演示了如何使用 deregister-rds-db-instance
。
- AWS CLI
-
从堆栈中取消注册 Amazon RDS 数据库实例
以下示例从堆栈中取消注册了 RDS 数据库实例(由其 ARN 标识)。
aws opsworks deregister-rds-db-instance --region
us-east-1
--rds-db-instance-arnarn:aws:rds:us-west-2:123456789012:db:clitestdb
输出:无。
更多信息
有关更多信息,请参阅《ASW OpsWorks 用户指南》中的“取消注册 Amazon RDS 实例”。
实例 ID:clitestdb 主用户名:cliuser 主 PWD:some23!pwd 数据库名称:mydb aws opsworks deregister-rds-db-instance --region us-east-1 --rds-db-instance-arn arn:aws:rds:us-west-2:645732743964:db:clitestdb
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeregisterRdsDbInstance
。
-
以下代码示例演示了如何使用 deregister-volume
。
- AWS CLI
-
取消注册 Amazon EBS 卷
以下示例从堆栈中取消注册了 EBS 卷。该卷由其卷 ID 标识,这是 AWS OpsWorks 在您向堆栈注册卷时分配的 GUID,而不是 EC2 卷 ID。
aws opsworks deregister-volume --region
us-east-1
--volume-id5c48ef52-3144-4bf5-beaa-fda4deb23d4d
输出:无。
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“取消注册 Amazon EBS 卷”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeregisterVolume
。
-
以下代码示例演示了如何使用 describe-apps
。
- AWS CLI
-
描述应用程序
以下
describe-apps
命令描述了指定堆栈中的应用程序。aws opsworks describe-apps \ --stack-id
38ee91e2-abdc-4208-a107-0b7168b3cc7a
\ --regionus-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 用户指南》中的“应用程序”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DescribeApps
。
-
以下代码示例演示了如何使用 describe-commands
。
- AWS CLI
-
描述命令
以下
describe-commands
命令描述了指定实例中的命令。aws opsworks describe-commands \ --instance-id
8c2673b9-3fe5-420d-9cfa-78d875ee7687
\ --regionus-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 生命周期事件”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DescribeCommands
。
-
以下代码示例演示了如何使用 describe-deployments
。
- AWS CLI
-
描述部署
以下
describe-deployments
命令描述了指定堆栈中的部署。aws opsworks --region
us-east-1
describe-deployments
--stack-id38ee91e2-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 用户指南》中的“部署应用程序”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DescribeDeployments
。
-
以下代码示例演示了如何使用 describe-elastic-ips
。
- AWS CLI
-
描述弹性 IP 实例
以下
describe-elastic-ips
命令描述了指定实例中的弹性 IP 地址。aws opsworks --region
us-east-1
describe-elastic-ips
--instance-idb62f3e04-e9eb-436c-a91f-d9e9a396b7b0
输出:
{ "ElasticIps": [ { "Ip": "192.0.2.0", "Domain": "standard", "Region": "us-west-2" } ] }
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的实例。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DescribeElasticIps
。
-
以下代码示例演示了如何使用 describe-elastic-load-balancers
。
- AWS CLI
-
描述堆栈的弹性负载均衡器
以下
describe-elastic-load-balancers
命令描述了指定堆栈的负载均衡器。aws opsworks --region
us-west-2
describe-elastic-load-balancers
--stack-id6f4660e5-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 用户指南》中的“应用程序”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DescribeElasticLoadBalancers
。
-
以下代码示例演示了如何使用 describe-instances
。
- AWS CLI
-
描述实例
以下
describe-instances
命令描述了指定堆栈中的实例:aws opsworks --region
us-east-1
describe-instances
--stack-id8c428b08-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 用户指南》中的实例。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DescribeInstances
。
-
以下代码示例演示了如何使用 describe-layers
。
- AWS CLI
-
描述堆栈的层
以下
describe-layers
命令描述了指定堆栈中的层:aws opsworks --region
us-east-1
describe-layers
--stack-id38ee91e2-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 用户指南》中的“层”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DescribeLayers
。
-
以下代码示例演示了如何使用 describe-load-based-auto-scaling
。
- AWS CLI
-
描述层的基于负载的扩展配置
以下示例说明了指定层的基于负载的扩展配置。层由其层 ID 标识,您可以在层的详细信息页面上找到该层 ID,也可以通过运行
describe-layers
来找到。aws opsworks describe-load-based-auto-scaling --region
us-east-1
--layer-ids6bec29c9-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 用户指南》中的“基于负载的自动扩展的工作原理”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DescribeLoadBasedAutoScaling
。
-
以下代码示例演示了如何使用 describe-my-user-profile
。
- AWS CLI
-
获取用户的配置文件
以下示例说明如何获取正在运行命令的 AWS Identity 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”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DescribeMyUserProfile
。
-
以下代码示例演示了如何使用 describe-permissions
。
- AWS CLI
-
获取用户的每堆栈 AWS OpsWorks 权限级别
以下示例说明如何获取指定堆栈上的 AWS Identity and Access Management(IAM)用户的权限级别。
aws opsworks --region
us-east-1
describe-permissions
--iam-user-arnarn:aws:iam::123456789012:user/cli-user-test
--stack-idd72553d4-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 用户指南》中的“授予每堆栈权限级别”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DescribePermissions
。
-
以下代码示例演示了如何使用 describe-raid-arrays
。
- AWS CLI
-
描述 RAID 数组
以下示例描述了连接到指定堆栈中实例的 RAID 数组。
aws opsworks --region
us-east-1
describe-raid-arrays
--stack-idd72553d4-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 卷”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DescribeRaidArrays
。
-
以下代码示例演示了如何使用 describe-rds-db-instances
。
- AWS CLI
-
描述堆栈中已注册的 Amazon RDS 实例
以下示例描述了在指定堆栈中注册的 Amazon RDS 实例。
aws opsworks --region
us-east-1
describe-rds-db-instances
--stack-idd72553d4-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 用户指南》中的“资源管理”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DescribeRdsDbInstances
。
-
以下代码示例演示了如何使用 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 用户指南》中的运行堆栈命令。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DescribeStackProvisioningParameters
。
-
以下代码示例演示了如何使用 describe-stack-summary
。
- AWS CLI
-
描述堆栈的配置
以下
describe-stack-summary
命令返回指定堆栈配置的摘要。aws opsworks --region
us-east-1
describe-stack-summary
--stack-id8c428b08-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 用户指南》中的“堆栈”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DescribeStackSummary
。
-
以下代码示例演示了如何使用 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 用户指南》中的“堆栈”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DescribeStacks
。
-
以下代码示例演示了如何使用 describe-timebased-auto-scaling
。
- AWS CLI
-
描述实例的基于时间的自动扩展配置
以下示例说明了指定实例的基于时间的扩展配置。实例由其实例 ID 标识,您可以在实例的详细信息页面上找到该实例 ID,也可以通过运行
describe-instances
来找到。aws opsworks describe-time-based-auto-scaling --region
us-east-1
--instance-ids701f2ffe-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 用户指南》中的“基于时间的自动扩展的工作原理”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DescribeTimebasedAutoScaling
。
-
以下代码示例演示了如何使用 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 用户”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DescribeUserProfiles
。
-
以下代码示例演示了如何使用 describe-volumes
。
- AWS CLI
-
描述堆栈的卷
以下示例描述了堆栈的 EBS 卷。
aws opsworks --region
us-east-1
describe-volumes
--stack-id8c428b08-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 用户指南》中的“资源管理”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DescribeVolumes
。
-
以下代码示例演示了如何使用 detach-elastic-load-balancer
。
- AWS CLI
-
将负载均衡器与层分离
以下示例将一个负载均衡器(由其名称标识)与其层分离。
aws opsworks --region
us-east-1
detach-elastic-load-balancer
--elastic-load-balancer-nameJava-LB
--layer-id888c5645-09a5-4d0e-95a8-812ef1db76a4
输出:无。
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“弹性负载均衡器”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DetachElasticLoadBalancer
。
-
以下代码示例演示了如何使用 disassociate-elastic-ip
。
- AWS CLI
-
取消弹性 IP 地址与实例的关联
以下示例取消了弹性 IP 地址与指定实例的关联。
aws opsworks --region
us-east-1
disassociate-elastic-ip
--elastic-ip54.148.130.96
输出:无。
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“资源管理”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DisassociateElasticIp
。
-
以下代码示例演示了如何使用 get-hostname-suggestion
。
- AWS CLI
-
获取层的下一个主机名
以下示例获取指定层的下一个生成的主机名。本示例中使用的层是带有一个实例的 Java 应用程序服务器层。堆栈的主机名主题是默认的主机名主题,即 Layer_Dependent。
aws opsworks --region
us-east-1
get-hostname-suggestion
--layer-id888c5645-09a5-4d0e-95a8-812ef1db76a4
输出:
{ "Hostname": "java-app2", "LayerId": "888c5645-09a5-4d0e-95a8-812ef1db76a4" }
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“创建新堆栈”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetHostnameSuggestion
。
-
以下代码示例演示了如何使用 reboot-instance
。
- AWS CLI
-
重启实例
以下示例重启了实例。
aws opsworks --region
us-east-1
reboot-instance
--instance-iddfe18b02-5327-493d-91a4-c5c0c448927f
输出:无。
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“重启实例”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 RebootInstance
。
-
以下代码示例演示了如何使用 register-elastic-ip
。
- AWS CLI
-
将弹性 IP 地址注册到堆栈
以下示例将弹性 IP 地址(由其 IP 地址标识)注册到指定堆栈。
注意:弹性 IP 地址必须与堆栈位于同一区域。
aws opsworks register-elastic-ip --region
us-east-1
--stack-idd72553d4-8727-448c-9b00-f024f0ba1b06
--elastic-ip54.148.130.96
输出
{ "ElasticIp": "54.148.130.96" }
更多信息
有关更多信息,请参阅《OpsWorks 用户指南》中的“将弹性 IP 地址注册到堆栈”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 RegisterElasticIp
。
-
以下代码示例演示了如何使用 register-rds-db-instance
。
- AWS CLI
-
将 Amazon RDS 实例注册到堆栈
以下示例将 Amazon RDS 数据库实例(由其 Amazon 资源名称(ARN)标识)注册到指定的堆栈。它还指定了实例的主用户名和密码。请注意,AWS OpsWorks 不会验证这两个值中的任何一个。如果其中一个值不正确,您的应用程序将无法连接到数据库。
aws opsworks register-rds-db-instance --region
us-east-1
--stack-idd72553d4-8727-448c-9b00-f024f0ba1b06
--rds-db-instance-arnarn:aws:rds:us-west-2:123456789012:db:clitestdb
--db-usercliuser
--db-passwordsome23!pwd
输出:无。
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“将 Amazon RDS 实例注册到堆栈”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 RegisterRdsDbInstance
。
-
以下代码示例演示了如何使用 register-volume
。
- AWS CLI
-
将 Amazon EBS 卷注册到 Stack
以下示例将一个 Amazon EBS 卷(由其卷 ID 标识)注册到指定的堆栈。
aws opsworks register-volume --region
us-east-1
--stack-idd72553d4-8727-448c-9b00-f024f0ba1b06
--ec-2-volume-idvol-295c1638
输出:
{ "VolumeId": "ee08039c-7cb7-469f-be10-40fb7f0c05e8" }
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“将 Amazon EBS 卷注册到堆栈”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 RegisterVolume
。
-
以下代码示例演示了如何使用 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
是 Amazon Linux 实例的标准用户名。对 Ubuntu 实例使用ubuntu
。aws opsworks register --infrastructure-class=ec2 --stack-id
935450cc-61e0-4b03-a3e0-160ac817d2bb
--ssh-usernameec2-user
--ssh-private-keyssh_private_key
i-12345678
以下示例注册了正在运行
register
命令的 EC2 实例。使用 SSH 登录实例,然后使用--local
参数(而不是实例 ID 或主机名)运行register
。aws opsworks register --infrastructure-class
ec2
--stack-id935450cc-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-id935450cc-61e0-4b03-a3e0-160ac817d2bb
192.0.2.3
以下示例从独立的工作站将本地实例注册到指定的堆栈。实例由其主机名(
host1
)标识。--override-...
参数指示 AWS OpsWorks 将webserver1
显示为主机名,并分别将192.0.2.3
和10.0.0.2
显示为实例的公有和私有 IP 地址。aws opsworks register --infrastructure-class
on-premises
--stack-id935450cc-61e0-4b03-a3e0-160ac817d2bb
--override-hostnamewebserver1
--override-public-ip192.0.2.3
--override-private-ip10.0.0.2
host1
以下示例从独立的工作站将本地实例注册到指定的堆栈。实例由其 IP 地址标识。
register
使用指定的 SSH 用户名和私钥文件登录实例。aws opsworks register --infrastructure-class
on-premises
--stack-id935450cc-61e0-4b03-a3e0-160ac817d2bb
--ssh-usernameadmin
--ssh-private-keyssh_private_key
192.0.2.3
以下示例从独立的工作站将现有本地实例注册到指定的堆栈。该命令使用指定了 SSH 密码和实例 IP 地址的自定义 SSH 命令字符串登录实例。
aws opsworks register --infrastructure-class
on-premises
--stack-id935450cc-61e0-4b03-a3e0-160ac817d2bb
--override-ssh"sshpass -p 'mypassword' ssh your-user@192.0.2.3"
以下示例注册了正在运行
register
命令的本地实例。使用 SSH 登录实例,然后使用--local
参数(而不是实例 ID 或主机名)运行register
。aws opsworks register --infrastructure-class
on-premises
--stack-id935450cc-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 命令参考》中的 Register
。
-
以下代码示例演示了如何使用 set-load-based-auto-scaling
。
- AWS CLI
-
为层设置基于负载的扩展配置
以下示例为指定层启用基于负载的扩展并设置该层的配置。必须使用
create-instance
向层中添加基于负载的实例。aws opsworks --region
us-east-1
set-load-based-auto-scaling
--layer-id523569ae-2faf-47ac-b39e-f4c4b381f36d
--enable --up-scalingfile://upscale.json
--down-scalingfile://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 用户指南》中的“使用基于负载的自动扩展”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 SetLoadBasedAutoScaling
。
-
以下代码示例演示了如何使用 set-permission
。
- AWS CLI
-
授予每堆栈 AWS OpsWorks 权限级别
当您通过调用
create-user-profile
将 AWS Identity and Access Management(IAM)用户导入 AWS OpsWorks 时,该用户仅拥有由附加的 IAM 策略授予的权限。您可以通过修改用户的策略来授予 AWS OpsWorks 权限。但是,对于用户需要访问的每个堆栈,导入用户并使用set-permission
命令向用户授予一个标准权限级别通常会更容易。以下示例向用户(由 Amazon 资源名称(ARN)标识)授予对指定堆栈的权限。该示例向用户授予管理权限级别,在堆栈的实例上具有 sudo 和 SSH 权限。
aws opsworks set-permission --region
us-east-1
--stack-id71c7ca72-55ae-4b6a-8ee1-a8dcded3fa0f
--levelmanage
--iam-user-arnarn:aws:iam::123456789102:user/cli-user-test
--allow-ssh --allow-sudo输出:无。
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“授予 AWS OpsWorks 用户每堆栈权限”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 SetPermission
。
-
以下代码示例演示了如何使用 set-time-based-auto-scaling
。
- AWS CLI
-
为层设置基于时间的扩展配置
以下示例为指定实例设置了基于时间的配置。必须先使用
create-instance
将实例添加到层。aws opsworks --region
us-east-1
set-time-based-auto-scaling
--instance-id69b6237c-08c0-4edb-a6af-78f3d01cedf2
--auto-scaling-schedulefile://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 用户指南》中的“使用基于时间的自动扩展”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 SetTimeBasedAutoScaling
。
-
以下代码示例演示了如何使用 start-instance
。
- AWS CLI
-
启动实例
以下
start-instance
命令启动了指定的全天候实例。aws opsworks start-instance --instance-id
f705ee48-9000-4890-8bd3-20eb05825aaf
输出:无。使用 describe-instances 检查实例的状态。
提示:通过调用 start-stack,可以使用一条命令启动堆栈中的每个离线实例。
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“手动启动、停止和重启全天候实例”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 StartInstance
。
-
以下代码示例演示了如何使用 start-stack
。
- AWS CLI
-
启动堆栈的实例
以下示例启动了堆栈的所有全天候实例。要启动特定实例,请使用
start-instance
。aws opsworks --region
us-east-1
start-stack
--stack-id8c428b08-a1a1-46ce-a5f8-feddc43771b8
输出:无。
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“启动实例”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 StartStack
。
-
以下代码示例演示了如何使用 stop-instance
。
- AWS CLI
-
停止实例
以下示例停止了指定的实例(由其实例 ID 标识)。您可以前往 AWS OpsWorks 控制台上的实例详细信息页面或运行
describe-instances
命令,以获取实例 ID。aws opsworks stop-instance --region
us-east-1
--instance-id3a21cfac-4a1f-4ce2-a921-b2cfba6f7771
您可以通过调用
start-instance
来重启已停止的实例,或通过调用delete-instance
来删除实例。输出:无。
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“停止实例”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 StopInstance
。
-
以下代码示例演示了如何使用 stop-stack
。
- AWS CLI
-
停止堆栈的实例
以下示例停止了堆栈的所有全天候实例。要停止特定实例,请使用
stop-instance
。aws opsworks --region
us-east-1
stop-stack
--stack-id8c428b08-a1a1-46ce-a5f8-feddc43771b8
输出:无输出。
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“停止实例”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 StopStack
。
-
以下代码示例演示了如何使用 unassign-instance
。
- AWS CLI
-
从层取消分配注册的实例
以下
unassign-instance
命令从实例的附加层取消分配实例。aws opsworks --region
us-east-1
unassign-instance
--instance-id4d6d1710-ded9-42a1-b08e-b043ad7af1e2
输出:无。
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“取消分配注册的实例”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UnassignInstance
。
-
以下代码示例演示了如何使用 unassign-volume
。
- AWS CLI
-
从卷的实例取消分配卷
以下示例从实例中取消分配注册的 Amazon Elastic Block Store(Amazon EBS)卷。该卷由其卷 ID 标识,这是 AWS OpsWorks 在您向堆栈注册卷时分配的 GUID,而不是 Amazon Elastic Compute Cloud(Amazon EC2)卷 ID。
aws opsworks --region
us-east-1
unassign-volume
--volume-id8430177d-52b7-4948-9c62-e195af4703df
输出:无。
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“取消分配 Amazon EBS 卷”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UnassignVolume
。
-
以下代码示例演示了如何使用 update-app
。
- AWS CLI
-
更新应用程序
以下示例更新了指定的应用程序以更改其名称。
aws opsworks --region
us-east-1
update-app
--app-id26a61ead-d201-47e3-b55c-2a7c666942f8
--nameNewAppName
输出:无。
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“编辑应用程序”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UpdateApp
。
-
以下代码示例演示了如何使用 update-elastic-ip
。
- AWS CLI
-
更新弹性 IP 地址名称
以下示例更新了指定的弹性 IP 地址的名称。
aws opsworks --region
us-east-1
update-elastic-ip
--elastic-ip54.148.130.96
--nameNewIPName
输出:无。
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“资源管理”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UpdateElasticIp
。
-
以下代码示例演示了如何使用 update-instance
。
- AWS CLI
-
更新实例
以下示例更新了指定实例的类型。
aws opsworks --region
us-east-1
update-instance
--instance-iddfe18b02-5327-493d-91a4-c5c0c448927f
--instance-typec3.xlarge
输出:无。
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“编辑实例配置”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UpdateInstance
。
-
以下代码示例演示了如何使用 update-layer
。
- AWS CLI
-
更新层
以下示例更新了指定的层,以使用 Amazon EBS 优化实例。
aws opsworks --region
us-east-1
update-layer
--layer-id888c5645-09a5-4d0e-95a8-812ef1db76a4
--use-ebs-optimized-instances输出:无。
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“编辑 OpsWorks 层配置”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UpdateLayer
。
-
以下代码示例演示了如何使用 update-my-user-profile
。
- AWS CLI
-
更新用户的配置文件
以下示例更新了
development
用户的配置文件,以使用指定的 SSH 公钥。用户的 AWS 凭证由credentials
文件(~\.aws\credentials
)中的development
配置文件表示,密钥位于工作目录中的.pem
文件中。aws opsworks --region
us-east-1
--profiledevelopment
update-my-user-profile
--ssh-public-keyfile://development_key.pem
输出:无。
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“编辑 AWS OpsWorks 用户设置”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UpdateMyUserProfile
。
-
以下代码示例演示了如何使用 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-password123456789
输出:无。
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“将 Amazon RDS 实例注册到堆栈”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UpdateRdsDbInstance
。
-
以下代码示例演示了如何使用 update-volume
。
- AWS CLI
-
更新已注册的卷
以下示例更新了注册的 Amazon Elastic Block Store(Amazon EBS)卷的挂载点。该卷由其卷 ID 标识,这是 AWS OpsWorks 在您向堆栈注册卷时分配的 GUID,而不是 Amazon Elastic Compute Cloud(Amazon EC2)卷 ID。
aws opsworks --region
us-east-1
update-volume
--volume-id8430177d-52b7-4948-9c62-e195af4703df
--mount-point/mnt/myvol
输出:无。
更多信息
有关更多信息,请参阅《AWS OpsWorks 用户指南》中的“将 Amazon EBS 卷分配给实例”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UpdateVolume
。
-