AWS OpsWorks CM 使用示例 AWS CLI - AWS SDK代码示例

AWS 文档 AWS SDK示例 GitHub 存储库中还有更多SDK示例

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

AWS OpsWorks CM 使用示例 AWS CLI

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

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

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

主题

操作

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

AWS CLI

关联节点

以下associate-node命令将名为的节点i-44de882p与名为的 Chef Automate 服务器相关联automate-06,这意味着automate-06服务器管理该节点,并通过 associate-node 命令安装在节点上的chef-client代理软件将配方命令传达给该节点。有效的节点名称是EC2实例IDs。 :

aws opsworks-cm associate-node --server-name "automate-06" --node-name "i-43de882p" --engine-attributes "Name=CHEF_ORGANIZATION,Value='MyOrganization' Name=CHEF_NODE_PUBLIC_KEY,Value='Public_key_contents'"

该命令返回的输出类似于以下内容。输出:

{ "NodeAssociationStatusToken": "AHUY8wFe4pdXtZC5DiJa5SOLp5o14DH//rHRqHDWXxwVoNBxcEy4V7R0NOFymh7E/1HumOBPsemPQFE6dcGaiFk" }

更多信息

有关更多信息,请参阅《AWS OpsWorks 用户指南》中的 AWS OpsWorks “Chef Automate 自动添加节点”。

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

AWS CLI

创建备份

以下create-backup命令启动us-east-1对该区域automate-06中名为 Chef Automate 服务器的手动备份。该命令在--description参数中向备份中添加一条描述性消息。

aws opsworks-cm create-backup \ --server-name 'automate-06' \ --description "state of my infrastructure at launch"

输出显示了与以下内容类似的新备份的信息。

输出:

{ "Backups": [ { "BackupArn": "string", "BackupId": "automate-06-20160729133847520", "BackupType": "MANUAL", "CreatedAt": 2016-07-29T13:38:47.520Z, "Description": "state of my infrastructure at launch", "Engine": "Chef", "EngineModel": "Single", "EngineVersion": "12", "InstanceProfileArn": "arn:aws:iam::1019881987024:instance-profile/automate-06-1010V4UU2WRM2", "InstanceType": "m4.large", "KeyPair": "", "PreferredBackupWindow": "", "PreferredMaintenanceWindow": "", "S3LogUrl": "https://s3.amazonaws.com/<bucket-name>/automate-06-20160729133847520", "SecurityGroupIds": [ "sg-1a24c270" ], "ServerName": "automate-06", "ServiceRoleArn": "arn:aws:iam::1019881987024:role/aws-opsworks-cm-service-role.1114810729735", "Status": "OK", "StatusDescription": "", "SubnetIds": [ "subnet-49436a18" ], "ToolsVersion": "string", "UserArn": "arn:aws:iam::1019881987024:user/opsworks-user" } ], }

有关更多信息,请参阅《AWS OpsWorks 用户指南》中的 “备份和恢复 f AWS OpsWorks or Chef Automate 服务器”。

以下代码示例演示如何使用 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 "Chef" \ --engine-model "Single" \ --engine-version "12" \ --server-name "automate-06" \ --instance-profile-arn "arn:aws:iam::1019881987024:instance-profile/aws-opsworks-cm-ec2-role" \ --instance-type "t2.medium" \ --key-pair "amazon-test" \ --service-role-arn "arn:aws:iam::044726508045:role/aws-opsworks-cm-service-role"

输出显示的有关新服务器的信息与以下内容类似:

{ "Server": { "BackupRetentionCount": 10, "CreatedAt": 2016-07-29T13:38:47.520Z, "DisableAutomatedBackup": FALSE, "Endpoint": "https://opsworks-cm.us-east-1.amazonaws.com", "Engine": "Chef", "EngineAttributes": [ { "Name": "CHEF_DELIVERY_ADMIN_PASSWORD", "Value": "1Password1" } ], "EngineModel": "Single", "EngineVersion": "12", "InstanceProfileArn": "arn:aws:iam::1019881987024:instance-profile/aws-opsworks-cm-ec2-role", "InstanceType": "t2.medium", "KeyPair": "amazon-test", "MaintenanceStatus": "", "PreferredBackupWindow": "Sun:02:00", "PreferredMaintenanceWindow": "00:00", "SecurityGroupIds": [ "sg-1a24c270" ], "ServerArn": "arn:aws:iam::1019881987024:instance/automate-06-1010V4UU2WRM2", "ServerName": "automate-06", "ServiceRoleArn": "arn:aws:iam::1019881987024:role/aws-opsworks-cm-service-role", "Status": "CREATING", "StatusReason": "", "SubnetIds": [ "subnet-49436a18" ] } }

有关更多信息,请参阅 for Ch AWS OpsWorks ef 自动API参考UpdateServer中的。

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

AWS CLI

删除备份

以下delete-backup命令删除由备份 ID 标识的 Chef Automate 服务器的手动或自动备份。当您接近可以保存的最大备份数量或想要最大限度地降低 Amazon S3 存储成本时,此命令非常有用。 :

aws opsworks-cm delete-backup --backup-id "automate-06-2016-11-19T23:42:40.240Z"

输出显示备份删除是否成功。

更多信息

有关更多信息,请参阅《AWS OpsWorks 用户指南》中的 “备份和恢复 f AWS OpsWorks or Chef Automate 服务器”。

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

AWS CLI

删除服务器

以下delete-server命令删除由服务器名称标识的 Chef Automate 服务器。服务器被删除后,DescribeServer请求将不再返回该服务器。 :

aws opsworks-cm delete-server --server-name "automate-06"

输出显示服务器删除是否成功。

更多信息

有关更多信息,请参阅《AWS OpsWorks 用户指南》中的删除 Chef Automate 服务器。 AWS OpsWorks

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

AWS CLI

描述账户属性

以下describe-account-attributes命令返回有关您的账户对 Chef Automat AWS OpsWorks e 资源的使用情况的信息。 :

aws opsworks-cm describe-account-attributes

该命令返回的每个账户属性条目的输出如下所示。输出:

{ "Attributes": [ { "Maximum": 5, "Name": "ServerLimit", "Used": 2 } ] }

更多信息

有关更多信息,请参阅 for Ch AWS OpsWorks ef 自动API参考 DescribeAccountAttributes 中的。

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

AWS CLI

描述备份

以下describe-backups命令返回有关默认区域中与您的账户关联的所有备份的信息。

aws opsworks-cm describe-backups

该命令返回的每个备份条目的输出类似于以下内容。

输出:

{ "Backups": [ { "BackupArn": "string", "BackupId": "automate-06-20160729133847520", "BackupType": "MANUAL", "CreatedAt": 2016-07-29T13:38:47.520Z, "Description": "state of my infrastructure at launch", "Engine": "Chef", "EngineModel": "Single", "EngineVersion": "12", "InstanceProfileArn": "arn:aws:iam::1019881987024:instance-profile/automate-06-1010V4UU2WRM2", "InstanceType": "m4.large", "KeyPair": "", "PreferredBackupWindow": "", "PreferredMaintenanceWindow": "", "S3LogUrl": "https://s3.amazonaws.com/<bucket-name>/automate-06-20160729133847520", "SecurityGroupIds": [ "sg-1a24c270" ], "ServerName": "automate-06", "ServiceRoleArn": "arn:aws:iam::1019881987024:role/aws-opsworks-cm-service-role.1114810729735", "Status": "Successful", "StatusDescription": "", "SubnetIds": [ "subnet-49436a18" ], "ToolsVersion": "string", "UserArn": "arn:aws:iam::1019881987024:user/opsworks-user" } ], }

有关更多信息,请参阅《AWS OpsWorks 用户指南》中的 “备份和恢复 f AWS OpsWorks or Chef Automate 服务器”。

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

AWS CLI

描述事件

以下describe-events示例返回与指定的 Chef Automate 服务器关联的所有事件的相关信息。

aws opsworks-cm describe-events \ --server-name 'automate-06'

该命令返回的每个事件条目的输出与以下示例类似:

{ "ServerEvents": [ { "CreatedAt": 2016-07-29T13:38:47.520Z, "LogUrl": "https://s3.amazonaws.com/<bucket-name>/automate-06-20160729133847520", "Message": "Updates successfully installed.", "ServerName": "automate-06" } ] }

有关更多信息,请参阅《AWS OpsWorks 用户指南》中的 “一般故障排除提示”。

以下代码示例演示如何使用 describe-node-association-status

AWS CLI

描述节点关联状态

以下describe-node-association-status命令返回将节点与名为的 Chef Automate 服务器关联的请求的状态automate-06。 :

aws opsworks-cm describe-node-association-status --server-name "automate-06" --node-association-status-token "AflJKl+/GoKLZJBdDQEx0O65CDi57blQe9nKM8joSok0pQ9xr8DqApBN9/1O6sLdSvlfDEKkEx+eoCHvjoWHaOs="

该命令返回的每个账户属性条目的输出如下所示。输出:

{ "NodeAssociationStatus": "IN_PROGRESS" }

更多信息

有关更多信息,请参阅 for Ch AWS OpsWorks ef 自动API参考 DescribeNodeAssociationStatus 中的。

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

AWS CLI

描述服务器

以下describe-servers命令返回与您的账户关联的所有服务器以及您的默认区域中的所有服务器的信息。 :

aws opsworks-cm describe-servers

该命令返回的每个服务器条目的输出如下所示。输出:

{ "Servers": [ { "BackupRetentionCount": 8, "CreatedAt": 2016-07-29T13:38:47.520Z, "DisableAutomatedBackup": FALSE, "Endpoint": "https://opsworks-cm.us-east-1.amazonaws.com", "Engine": "Chef", "EngineAttributes": [ { "Name": "CHEF_DELIVERY_ADMIN_PASSWORD", "Value": "1Password1" } ], "EngineModel": "Single", "EngineVersion": "12", "InstanceProfileArn": "arn:aws:iam::1019881987024:instance-profile/automate-06-1010V4UU2WRM2", "InstanceType": "m4.large", "KeyPair": "", "MaintenanceStatus": "SUCCESS", "PreferredBackupWindow": "03:00", "PreferredMaintenanceWindow": "Mon:09:00", "SecurityGroupIds": [ "sg-1a24c270" ], "ServerArn": "arn:aws:iam::1019881987024:instance/automate-06-1010V4UU2WRM2", "ServerName": "automate-06", "ServiceRoleArn": "arn:aws:iam::1019881987024:role/aws-opsworks-cm-service-role.1114810729735", "Status": "HEALTHY", "StatusReason": "", "SubnetIds": [ "subnet-49436a18" ] } ] }

更多信息

有关更多信息,请参阅 for Ch AWS OpsWorks ef 自动化API指南 DescribeServers 中的。

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

AWS CLI

取消与节点的关联

以下disassociate-node命令取消名为的节点的关联i-44de882p,将该节点从名为的 Chef Automate 服务器的管理中移除。automate-06有效的节点名称是EC2实例IDs。 :

aws opsworks-cm disassociate-node --server-name "automate-06" --node-name "i-43de882p" --engine-attributes "Name=CHEF_ORGANIZATION,Value='MyOrganization' Name=CHEF_NODE_PUBLIC_KEY,Value='Public_key_contents'"

该命令返回的输出类似于以下内容。输出:

{ "NodeAssociationStatusToken": "AHUY8wFe4pdXtZC5DiJa5SOLp5o14DH//rHRqHDWXxwVoNBxcEy4V7R0NOFymh7E/1HumOBPsemPQFE6dcGaiFk" }

更多信息

有关更多信息,请参阅《AWS OpsWorks 用户指南》中的删除 Chef Automate 服务器。 AWS OpsWorks

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

AWS CLI

恢复服务器

以下restore-server命令从 ID 为的备份就地恢复默认区域automate-06中命名的 Chef Automate 服务器。automate-06-2016-11-22T16:13:27.998Z恢复服务器会恢复与执行指定备份时Chef Automate服务器正在管理的节点的连接。

aws opsworks-cm restore-server —backup-id “automate-06-2016-11-22T 16:13:27.998 Z” —服务器名称 “automate-06”

输出仅为命令 ID。输出:

(None)

更多信息

有关更多信息,请参阅《AWS OpsWorks 用户指南》中的 “恢复失败 AWS OpsWorks 的 Chef Automate 服务器”。

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

AWS CLI

要开始维护

以下start-maintenance示例手动启动默认区域中指定的 Chef Automate 或 Puppet Enterprise 服务器的维护。如果之前的自动维护尝试失败,并且维护失败的根本原因已得到解决,则此命令很有用。

aws opsworks-cm start-maintenance \ --server-name 'automate-06'

输出:

{ "Server": { "AssociatePublicIpAddress": true, "BackupRetentionCount": 10, "ServerName": "automate-06", "CreatedAt": 1569229584.842, "CloudFormationStackArn": "arn:aws:cloudformation:us-west-2:123456789012:stack/aws-opsworks-cm-instance-automate-06-1606611794746/EXAMPLE0-31de-11eb-bdb0-0a5b0a1353b8", "DisableAutomatedBackup": false, "Endpoint": "automate-06-EXAMPLEvr8gjfk5f.us-west-2.opsworks-cm.io", "Engine": "ChefAutomate", "EngineModel": "Single", "EngineAttributes": [], "EngineVersion": "2020-07", "InstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/aws-opsworks-cm-ec2-role", "InstanceType": "m5.large", "PreferredMaintenanceWindow": "Sun:01:00", "PreferredBackupWindow": "Sun:15:00", "SecurityGroupIds": [ "sg-EXAMPLE" ], "ServiceRoleArn": "arn:aws:iam::123456789012:role/service-role/aws-opsworks-cm-service-role", "Status": "UNDER_MAINTENANCE", "SubnetIds": [ "subnet-EXAMPLE" ], "ServerArn": "arn:aws:opsworks-cm:us-west-2:123456789012:server/automate-06/0148382d-66b0-4196-8274-d1a2b6dff8d1" } }

有关更多信息,请参阅《AWS OpsWorks 用户指南》中的系统维护(Puppet Enterprise 服务器)系统维护(Chef Automate 服务器)

以下代码示例演示如何使用 update-server-engine-attributes

AWS CLI

更新服务器引擎属性

以下update-server-engine-attributes命令更新名为 Chef Automate 服务器的CHEF_PIVOTAL_KEY引擎属性的值automate-06。目前无法更改其他引擎属性的值。

aws opsworks-cm update-server-engine-attributes \ --attribute-name CHEF_PIVOTAL_KEY \ --attribute-value "new key value" \ --server-name "automate-06"

输出显示了与以下内容类似的有关更新的服务器的信息。

{ "Server": { "BackupRetentionCount": 2, "CreatedAt": 2016-07-29T13:38:47.520Z, "DisableAutomatedBackup": FALSE, "Endpoint": "https://opsworks-cm.us-east-1.amazonaws.com", "Engine": "Chef", "EngineAttributes": [ { "Name": "CHEF_PIVOTAL_KEY", "Value": "new key value" } ], "EngineModel": "Single", "EngineVersion": "12", "InstanceProfileArn": "arn:aws:iam::1019881987024:instance-profile/automate-06-1010V4UU2WRM2", "InstanceType": "m4.large", "KeyPair": "", "MaintenanceStatus": "SUCCESS", "PreferredBackupWindow": "Mon:09:15", "PreferredMaintenanceWindow": "03:00", "SecurityGroupIds": [ "sg-1a24c270" ], "ServerArn": "arn:aws:iam::1019881987024:instance/automate-06-1010V4UU2WRM2", "ServerName": "automate-06", "ServiceRoleArn": "arn:aws:iam::1019881987024:role/aws-opsworks-cm-service-role.1114810729735", "Status": "HEALTHY", "StatusReason": "", "SubnetIds": [ "subnet-49436a18" ] } }

有关更多信息,请参阅 for Ch AWS OpsWorks ef 自动API参考UpdateServerEngineAttributes中的。

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

AWS CLI

更新服务器

以下update-server命令更新默认区域中指定 Chef Automate 服务器的维护开始时间。添加该--preferred-maintenance-window参数是为了将服务器维护的开始日期和时间更改为星期一上午 9:15。UTC。 :

aws opsworks-cm update-server \ --server-name "automate-06" \ --preferred-maintenance-window "Mon:09:15"

输出显示了与以下内容类似的有关更新的服务器的信息。

{ "Server": { "BackupRetentionCount": 8, "CreatedAt": 2016-07-29T13:38:47.520Z, "DisableAutomatedBackup": TRUE, "Endpoint": "https://opsworks-cm.us-east-1.amazonaws.com", "Engine": "Chef", "EngineAttributes": [ { "Name": "CHEF_DELIVERY_ADMIN_PASSWORD", "Value": "1Password1" } ], "EngineModel": "Single", "EngineVersion": "12", "InstanceProfileArn": "arn:aws:iam::1019881987024:instance-profile/automate-06-1010V4UU2WRM2", "InstanceType": "m4.large", "KeyPair": "", "MaintenanceStatus": "OK", "PreferredBackupWindow": "Mon:09:15", "PreferredMaintenanceWindow": "03:00", "SecurityGroupIds": [ "sg-1a24c270" ], "ServerArn": "arn:aws:iam::1019881987024:instance/automate-06-1010V4UU2WRM2", "ServerName": "automate-06", "ServiceRoleArn": "arn:aws:iam::1019881987024:role/aws-opsworks-cm-service-role.1114810729735", "Status": "HEALTHY", "StatusReason": "", "SubnetIds": [ "subnet-49436a18" ] } }

有关更多信息,请参阅 for Ch AWS OpsWorks ef 自动API参考UpdateServer中的。