AWS OpsWorks 使用 的範例 AWS CLI - AWS SDK 程式碼範例

文件 AWS SDK AWS 範例 SDK 儲存庫中有更多可用的 GitHub 範例。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS OpsWorks 使用 的範例 AWS CLI

下列程式碼範例示範如何使用 AWS Command Line Interface 搭配 來執行動作和實作常見案例 AWS OpsWorks。

Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然 動作會示範如何呼叫個別服務函數,但您可以在其相關案例中查看內容中的動作。

每個範例都包含完整原始程式碼的連結,您可以在其中找到如何在內容中設定和執行程式碼的指示。

主題

動作

下列程式碼範例示範如何使用 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 使用者指南中的將註冊執行個體指派給 層。

  • 如需 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-id 4d6d1710-ded9-42a1-b08e-b043ad7af1e2 --volume-id 26cf1d32-6876-42fa-bbf1-9cadc0bff938

輸出:無。

更多資訊

如需詳細資訊,請參閱 EBS AWS 使用者指南中的將 Amazon OpsWorks 磁碟區指派給執行個體。

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 AssignVolume

下列程式碼範例示範如何使用 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 Balancing。

下列程式碼範例示範如何使用 create-app

AWS CLI

範例 1:建立應用程式

下列範例會從儲存在 aimplePHPApp 儲存庫中的程式碼建立名為 SWord 的 GitHub 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向堆疊註冊執行個體。對於 MySQL App Server 執行個體,請將 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-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 寶石。

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-id 935450cc-61e0-4b03-a3e0-160ac817d2bb --layer-ids 5c8c272a-f2d5-42e3-8245-5bf3927cb65b --hostname myinstance1 --instance-type m1.large --os "Amazon Linux"

若要使用自動產生的名稱,Call 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-id f6673d70-32e6-4425-8999-265dd002fec7 --type php-app --name MyPHPLayer --shortname myphplayer

輸出:

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

更多資訊

如需詳細資訊,請參閱 AWS OpsWorks 使用者指南中的如何建立層。

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 CreateLayer

下列程式碼範例示範如何使用 create-server

AWS CLI

建立伺服器

下列create-server範例會在您的預設區域中建立新的名為 automate-06的 Chef Automate 伺服器。請注意,預設值會用於大多數其他設定,例如要保留的備份數量,以及維護和備份開始時間。在您執行create-server命令之前,請先完成 Opsworks for Chef Automate 使用者指南中的開始使用 AWS OpsWorks for Chef Automate 中的先決條件。 AWS

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

如需詳細資訊,請參閱 CreateServer AWS OpsWorks for Chef Automate Word 參考中的 API

  • 如需 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-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 Resource Names (ARNs),請前往 IAM 主控台,在導覽面板Roles中選擇 ,選擇角色或設定檔,然後選擇 Summary索引標籤。

輸出:

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

更多資訊

如需詳細資訊,請參閱 AWS OpsWorks 使用者指南中的建立新堆疊。

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 CreateStack

下列程式碼範例示範如何使用 create-user-profile

AWS CLI

建立使用者設定檔

您可以透過呼叫 AWS OpsWorks 來建立使用者設定檔,將 AWS Identity and Access Manager (IAM) 使用者匯入至 create-user-profile。下列範例會為 Amazon Resource Name (IAM) 識別的 cli-user-test 使用者建立使用者設定檔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命令授予每個stack 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-id 577943b9-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-id 3a21cfac-4a1f-4ce2-a921-b2cfba6f7771

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS OpsWorks 使用者指南中的 DeleteWord 執行個體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-id a919454e-b816-4598-b29a-5796afb498ed

輸出:無。

更多資訊

如需詳細資訊,請參閱 AWS OpsWorks AWS 使用者指南中的 DeleteOpsWorks 執行個體。

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeleteLayer

下列程式碼範例示範如何使用 delete-stack

AWS CLI

若要刪除堆疊

下列範例會刪除指定的堆疊,以其堆疊 ID 識別。您可以按一下 AWS OpsWorks 主控台上的堆疊設定或執行 命令,以取得堆疊 ID。 describe-stacks

注意:刪除圖層之前,您必須使用 delete-appdelete-instancedelete-layer來刪除堆疊的所有應用程式、執行個體和圖層。

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

輸出:無。

更多資訊

如需詳細資訊,請參閱 AWS OpsWorks 使用者指南中的關閉堆疊。

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeleteStack

下列程式碼範例示範如何使用 delete-user-profile

AWS CLI

若要刪除使用者設定檔,並從 IAM 中移除 AWS OpsWorks 使用者

下列範例會刪除指定的 AWS Identity and Access Management (IAM) 使用者的使用者設定檔,該使用者由 Amazon Resource Name (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

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeleteUserProfile

下列程式碼範例示範如何使用 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 資料庫執行個體

下列範例會從其堆疊取消註冊由其 RDS 識別的 ARN 資料庫執行個體。

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

輸出:無。

更多資訊

如需詳細資訊,請參閱 RDS 使用者指南中的取消註冊 Amazon OpsWorks ASW 執行個體。

執行個體 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

下列程式碼範例示範如何使用 deregister-volume

AWS CLI

若要取消註冊 Amazon EBS 磁碟區

下列範例會從其堆疊取消註冊 EBS 磁碟區。磁碟區會以磁碟區 ID 來識別,這是當您向堆疊註冊磁碟區時指派的 GUID AWS OpsWorks ,而不是 EC2 磁碟區 ID。

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

輸出:無。

更多資訊

如需詳細資訊,請參閱 EBS AWS 使用者指南中的取消註冊 Amazon OpsWorks 磁碟區。

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeregisterVolume

下列程式碼範例示範如何使用 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 使用者指南中的應用程式。

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeApps

下列程式碼範例示範如何使用 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 生命週期事件。

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeCommands

下列程式碼範例示範如何使用 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 使用者指南中的執行個體。

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeInstances

下列程式碼範例示範如何使用 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 使用者指南中的圖層。

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeLayers

下列程式碼範例示範如何使用 describe-load-based-auto-scaling

AWS CLI

描述層的負載型擴展組態

下列範例說明指定層的負載型擴展組態。圖層會以圖層 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 使用者指南中的 Automatic Load-based Scaling 如何運作。

下列程式碼範例示範如何使用 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

下列程式碼範例示範如何使用 describe-permissions

AWS CLI

取得使用者的每stack AWS OpsWorks 許可層級

下列範例示範如何在指定的堆疊上取得 AWS Identity 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 } ] }

如需詳細資訊,請參閱 EBS AWS 使用者指南中的 OpsWorks 磁碟區。

下列程式碼範例示範如何使用 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 使用者指南中的堆疊。

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeStacks

下列程式碼範例示範如何使用 describe-timebased-auto-scaling

AWS CLI

描述執行個體的時間型擴展組態

下列範例說明指定執行個體的時間型擴展組態。執行個體會依其執行個體 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 使用者指南中的 ManagingOpsWorks 使用者。

下列程式碼範例示範如何使用 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 使用者指南中的資源管理。

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeVolumes

下列程式碼範例示範如何使用 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 Balancing。

下列程式碼範例示範如何使用 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 Application Server 層。堆疊的主機名稱主題為預設值 Layer_Dependent。

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 使用者指南中的重新啟動執行個體。

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 RebootInstance

下列程式碼範例示範如何使用 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 地址。

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 RegisterElasticIp

下列程式碼範例示範如何使用 register-rds-db-instance

AWS CLI

向堆疊註冊 Amazon RDS 執行個體

下列範例會使用指定的堆疊,註冊由其 Amazon Resource Name (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

輸出:無。

更多資訊

如需詳細資訊,請參閱 RDS AWS 使用者指南中的使用堆疊註冊 Amazon OpsWorks 執行個體。

下列程式碼範例示範如何使用 register-volume

AWS CLI

向堆疊註冊 Amazon EBS 磁碟區

下列範例會使用指定的堆疊,註冊由 Amazon EBS 磁碟區 ID 識別的 Amazon Word 磁碟區。

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

更多資訊

如需詳細資訊,請參閱 EBS AWS 使用者指南中的使用堆疊註冊 Amazon OpsWorks 磁碟區。

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 RegisterVolume

下列程式碼範例示範如何使用 register

AWS CLI

使用堆疊註冊執行個體

下列範例顯示使用 AWS Opsworks 外部建立的堆疊註冊執行個體的各種方式。您可以從要註冊register的執行個體執行,或從單獨的工作站執行。如需詳細資訊,請參閱 EC2 AWS 使用者指南中的註冊 Amazon OpsWorks 和內部部署執行個體。

注意:為了簡潔起見,範例會省略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-username ec2-user --ssh-private-key ssh_private_key i-12345678

下列範例會註冊正在執行 register命令的 EC2 執行個體。使用 SSH 登入執行個體,並使用 --local 引數執行register,而非執行個體 ID 或主機名稱。

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

註冊內部部署執行個體

若要指出您正在註冊內部部署執行個體,請將--infrastructure-class引數設定為 on-premises

下列範例會將現有的內部部署執行個體註冊為來自個別工作站的指定堆疊。執行個體會以其 IP 地址 識別192.0.2.3。此範例使用工作站的預設 SSH 使用者名稱,並嘗試使用不需要密碼的身分驗證技術登入執行個體,例如預設的私有 SSH 金鑰。如果失敗,register請查詢密碼。

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

下列範例會將內部部署執行個體註冊為來自個別工作站的指定堆疊。執行個體會以其主機名稱 來識別host1。分別顯示webserver1為主機名稱192.0.2.310.0.0.2執行個體公有和私有 IP 地址的--override-...引數 direct AWS OpsWorks。

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 地址識別。 會使用指定的 SSH 使用者名稱和私有金鑰檔案register登入執行個體。

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

下列範例會將現有的內部部署執行個體註冊為來自個別工作站的指定堆疊。命令會使用指定 SSH 密碼和執行個體 IP 地址的自訂 SSH 命令字串登入執行個體。

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

下列範例會註冊正在執行 register命令的內部部署執行個體。使用 SSH 登入執行個體,並使用 --local 引數執行register,而非執行個體 ID 或主機名稱。

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

輸出:下列是註冊 EC2 執行個體的典型輸出。

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

更多資訊

如需詳細資訊,請參閱 AWS OpsWorks AWS 使用者指南中的使用 aOpsWorks Stack 註冊執行個體。

  • 如需 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

授予每個stack AWS OpsWorks 許可層級

當您透過呼叫 將 AWS Identity and Access Management (IAM) 使用者匯入至 AWS OpsWorks 時create-user-profile,該使用者只有由附加的 IAM 政策授予的許可。您可以修改使用者的政策來授予 AWS OpsWorks 許可。不過,匯入使用者通常比較容易,然後使用 set-permission命令,為使用者需要存取的每個堆疊授予使用者一個標準許可層級。

下列範例會授予由 Amazon Resource Name (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 GrantingOpsWorks 使用者每堆疊許可。

  • 如需 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-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命令會啟動指定的 24 小時全年無休執行個體。

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

輸出:無。使用 describe-instances 檢查執行個體的狀態。

秘訣 您可以呼叫 start-stack,以一個命令啟動堆疊中的每個離線執行個體。

更多資訊

如需詳細資訊,請參閱 AWS OpsWorks 使用者指南中的手動啟動、停止和重新啟動 24 小時全年無休的執行個體。

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 StartInstance

下列程式碼範例示範如何使用 start-stack

AWS CLI

啟動堆疊的執行個體

下列範例會啟動堆疊的所有 24 小時全年無休執行個體。若要啟動特定執行個體,請使用 start-instance

aws opsworks --region us-east-1 start-stack --stack-id 8c428b08-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-id 3a21cfac-4a1f-4ce2-a921-b2cfba6f7771

您可以呼叫 來重新啟動停止的執行個體,start-instance也可以呼叫 來刪除執行個體delete-instance

輸出:無。

更多資訊

如需詳細資訊,請參閱 AWS OpsWorks 使用者指南中的停止執行個體。

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 StopInstance

下列程式碼範例示範如何使用 stop-stack

AWS CLI

停止堆疊的執行個體

下列範例會停止堆疊的所有 24 小時全年無休執行個體。若要停止特定執行個體,請使用 stop-instance

aws opsworks --region us-east-1 stop-stack --stack-id 8c428b08-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-id 4d6d1710-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-id 8430177d-52b7-4948-9c62-e195af4703df

輸出:無。

更多資訊

如需詳細資訊,請參閱 EBS AWS 使用者指南中的取消指派 Amazon OpsWorks 磁碟區。

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 UnassignVolume

下列程式碼範例示範如何使用 update-app

AWS CLI

更新應用程式

下列範例會更新指定的應用程式以變更其名稱。

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

輸出:無。

更多資訊

如需詳細資訊,請參閱 AWS OpsWorks 使用者指南中的編輯應用程式。

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 UpdateApp

下列程式碼範例示範如何使用 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 使用者指南中的資源管理。

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 UpdateElasticIp

下列程式碼範例示範如何使用 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 使用者指南中的編輯執行個體組態。

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 UpdateInstance

下列程式碼範例示範如何使用 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

輸出:無。

更多資訊

如需詳細資訊,請參閱 OpsWorks AWS 使用者指南中的編輯 aOpsWorks Layer 的組態。

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 UpdateLayer

下列程式碼範例示範如何使用 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 執行個體的主要密碼,只會變更您提供給 to AWS OpsWorks 的密碼。如果此密碼與 RDS 執行個體的密碼不相符,您的應用程式將無法連線至資料庫。

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

輸出:無。

更多資訊

如需詳細資訊,請參閱 RDS AWS 使用者指南中的使用堆疊註冊 Amazon OpsWorks 執行個體。

下列程式碼範例示範如何使用 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-id 8430177d-52b7-4948-9c62-e195af4703df --mount-point /mnt/myvol

輸出:無。

更多資訊

如需詳細資訊,請參閱 EBS AWS 使用者指南中的將 Amazon OpsWorks 磁碟區指派給執行個體。

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 UpdateVolume