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

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

AWS OpsWorks 範例使用 AWS CLI

下列程式碼範例說明如何使用 AWS Command Line Interface 與來執行動作及實作常見案例 AWS OpsWorks。

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

Scenarios (案例) 是向您展示如何呼叫相同服務中的多個函數來完成特定任務的程式碼範例。

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

主題

動作

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

輸出:無。

更多資訊

如需詳細資訊,請參閱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-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

輸出:無。

更多資訊

如需詳細資訊,請參閱《使用指南》中的〈Elastic Load Balancing AWS OpsWorks 〉

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

AWS CLI

範例 1:建立應用程式

下列範例會從儲存在儲存庫中的程式碼建立名為 SimplephPapp 的 PHP 應用程式。 GitHub 該命令使用應用程序源定義的速記形式。

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

輸出:

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

範例 2:建立含有附加資料庫的應用程式

下列範例會根據公用 S3 儲存貯體中存放在 .zip 封存中的程式碼建立 JSP 應用程式。它會附加 RDS 資料庫執行個體,做為應用程式的資料存放區使用。應用程式和資料庫來源是在您執行命令的目錄中的個別 JSON 檔案中定義的。

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

應用程式來源資訊位於中appsource.json,其中包含下列項目。

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

資料庫來源資訊位於中datasource.json,其中包含下列項目。

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

備註:對於 RDS 資料庫執行個體,您必須先使用register-rds-db-instance將執行個體註冊到堆疊中。對於 MySQL 應用程式伺服器實例,請Type將設定為OpsworksMysqlInstance。這些執行個體是由建立的 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 gem。

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"

要使用自動生成的名稱,請調用 get-hostname-suggestion,該名稱根據您在創建堆棧時指定的主題生成主機名。然後將該名稱傳遞給主機名參數。

輸出:

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

更多資訊

若要取得更多資訊,請參閱《AWS OpsWorks 使用指南》中的〈將例證加入至圖層〉

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

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

AWS CLI

建立圖層的步驟

下列create-layer命令會在指定的堆疊中建立名為 MyPHPlayer 的 PHP 應用程式伺服器層。

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

輸出:

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

更多資訊

若要取得更多資訊,請參閱《AWS OpsWorks 使用指南》中的〈如何建立圖層〉

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

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

AWS CLI

若要建立伺服器

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

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

輸出:

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

有關更多信息,請參閱 Chef 自動化 API 參考CreateServer中的AWS OpsWorks 。

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

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

AWS CLI

建立堆疊的步驟

下面的create-stack命令創建一個名為 CLI 堆棧的堆棧。

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

service-role-arndefault-instance-profile-arn 是必要參數。當您建 AWS OpsWorks立第一個堆疊時,您通常會使用為您建立的項目。若要取得帳戶的 Amazon 資源名稱 (ARN),請前往 IAM 主控台,在導覽面板Roles中選擇,選擇角色或設定檔,然後選擇Summary索引標籤。

輸出:

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

更多資訊

若要取得更多資訊,請參閱《使用指南》中的AWS OpsWorks 〈建立新堆疊〉

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

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

AWS CLI

若要建立使用者設定檔

您可以 AWS OpsWorks 透過呼叫 create-user-profile 建立使用者設定檔,將 AWS 身分識別與存取管理員 (IAM) 使用者匯入。下列範例會為 cli-user-test IAM 使用者建立使用者設定檔,該使用者設定檔由 Amazon 資源名稱 (ARN) 識別。此範例會為使用者指派 SSH 使用者名稱,myusername並啟用自我管理,讓使用者指定 SSH 公開金鑰。

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

輸出:

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

提示:此命令會將 IAM 使用者匯入 AWS OpsWorks,但只會使用附加政策授與的許可。您可以使用set-permissions命令授與每個堆疊 AWS OpsWorks 權限。

更多資訊

若要取得更多資訊,請參閱《使用指南》 AWS OpsWorks 中的〈將AWS OpsWorks 使用者匯入

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

AWS CLI

若要刪除應用程式

下列範例會刪除以應用程式 ID 識別的指定應用程式。您可以前往 AWS OpsWorks 主控台上應用程式的詳細資料頁面或執行describe-apps指令來取得應用程式 ID。

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

輸出:無。

更多資訊

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

  • 如需 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 使用指南中的刪除 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 OpsWorks 執行個體。

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

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

AWS CLI

刪除堆疊的步驟

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

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

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

輸出:無。

更多資訊

若要取得更多資訊,請參閱《AWS OpsWorks 使用者指南》中的〈關閉堆疊〉

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

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

AWS CLI

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

下列範例會刪除指定 AWS 身分識別和存取管理 (IAM) 使用者的使用者設定檔,該使用者設定檔是以 Amazon 資源名稱 (ARN) 識別。此作業會從中移除使用者 AWS OpsWorks,但不會刪除 IAM 使用者。您必須針對該工作使用 IAM 主控台、CLI 或 API。

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

輸出:無。

更多資訊

若要取得更多資訊,請參閱《使用指南》 AWS OpsWorks 中的〈將AWS OpsWorks 使用者匯入

下列程式碼範例會示範如何使用deregister-elastic-ip

AWS CLI

從堆疊中取消註冊彈性 IP 位址

下列範例會從其堆疊中取消註冊彈性 IP 位址 (由其 IP 位址識別)。

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

輸出:無。

更多資訊

如需詳細資訊,請參閱AWS OpsWorks 使用指南中的取消註冊彈性 IP 位址。

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

AWS CLI

若要從堆疊中取消註冊已註冊的執行個體

下面的deregister-instance命令從它的堆棧中取消註冊的實例。

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

輸出:無。

更多資訊

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

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

AWS CLI

若要從堆疊中取消註冊 Amazon RDS 資料庫執行個體

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

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

輸出:無。

更多資訊

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

實例 ID:更新數據庫主用戶名:客戶主 PWD:一些 23! PWD 數據庫名稱:我的數據庫 AWS 操作 deregister-rds-db-instance --區域我們東部 -1--arn:AWS:美國西部-2:645732743964:分貝:鏈接數據庫 rds-db-instance-arn

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

AWS CLI

取消註冊 Amazon EBS 磁碟區

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

aws opsworks deregister-volume --region us-east-1 --volume-id 5c48ef52-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 \ --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

Output:下列輸出範例適用於具有兩個執行個體的堆疊。第一個是註冊的 EC2 實例,第二個是由創建的 AWS OpsWorks。

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

更多資訊

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

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

AWS CLI

描述堆疊的圖層

下列指describe-layers令描述指定堆疊中的圖層:

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

輸出:

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

更多資訊

若要取得更多資訊,請參閱AWS OpsWorks 使用指南中的〈圖層〉。

  • 如需 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-ids 6bec29c9-c866-41a0-aba5-fa3e374ce2a1

輸出:範例層具有單一以負載為基礎的執行個體。

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

更多資訊

如需詳細資訊,請參閱《AWS OpsWorks 使用指南》中的自動負載調整功能如何運作。

下列程式碼範例會示範如何使用describe-my-user-profile

AWS CLI

若要取得使用者的設定檔

下列範例顯示如何取得執行命令之 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

若要取得使用者的每個堆疊 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 } ] }

若要取得更多資訊,請參閱AWS OpsWorks 使用指南中的 EBS 磁碟區。

下列程式碼範例會示範如何使用describe-rds-db-instances

AWS CLI

說明堆疊的已註冊 Amazon RDS 執行個體

下列範例說明使用指定堆疊註冊的 Amazon RDS 執行個體。

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

輸出:以下是具有一個已註冊 RDS 執行個體之堆疊的輸出。

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

如需詳細資訊,請參閱《AWS OpsWorks 使用指南》中的〈資源管理〉

下列程式碼範例會示範如何使用describe-stack-provisioning-parameters

AWS CLI

若要傳回堆疊的佈建參數

下列describe-stack-provisioning-parameters範例會傳回指定堆疊的佈建參數。啟動設定參數包括 OpsWorks 用來管理堆疊中執行個體上代理程式的設定值,例如代理程式安裝位置和公開金鑰。

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

輸出:

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

若要取得更多資訊,請參閱使用指南中的〈執行堆疊AWS OpsWorks 指〉。

下列程式碼範例會示範如何使用describe-stack-summary

AWS CLI

描述堆疊的組態

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

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

輸出:

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

更多資訊

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

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

AWS CLI

描述堆疊

下列describe-stacks命令說明帳號的堆疊。

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

輸出:

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

更多資訊

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

  • 如需 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-ids 701f2ffe-5d8e-4187-b140-77b75f55de8d

輸出:此範例具有單一以時間為基礎的執行個體。

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

更多資訊

如需詳細資訊,請參閱AWS OpsWorks 使用指南中的自動以時間為基礎的縮放運作方式。

下列程式碼範例會示範如何使用describe-user-profiles

AWS CLI

描述使用者設定檔

下列describe-user-profiles命令說明帳戶的使用者設定檔。

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

輸出:

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

更多資訊

如需詳細資訊,請參閱使 AWS OpsWorks 用指南中的〈管理AWS OpsWorks 使用者〉

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

AWS CLI

描述堆疊的磁碟區

下列範例說明堆疊的 EBS 磁碟區。

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

輸出:

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

更多資訊

如需詳細資訊,請參閱《AWS OpsWorks 使用指南》中的〈資源管理〉

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

輸出:無。

更多資訊

如需詳細資訊,請參閱《使用指南》中的〈Elastic Load Balancing AWS OpsWorks 〉

下列程式碼範例會示範如何使用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 應用程式伺服器層。堆棧的主機名主題是默認的,層 _ 依賴。

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 位址註冊至堆疊。

下列程式碼範例會示範如何使用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-id d72553d4-8727-448c-9b00-f024f0ba1b06 --rds-db-instance-arn arn:aws:rds:us-west-2:123456789012:db:clitestdb --db-user cliuser --db-password some23!pwd

輸出:無。

更多資訊

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

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

AWS CLI

使用堆疊註冊 Amazon EBS 磁碟區

下列範例會使用指定的堆疊註冊 Amazon EBS 磁碟區 (以其磁碟區 ID 識別)。

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

輸出:

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

更多資訊

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

  • 如需 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 使用者名稱,並嘗試使用不需要密碼的驗證技術 (例如預設私密安全殼層金鑰) 登入執行個體。如果失敗,請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 使用者名稱,並嘗試使用不需要密碼的驗證技術 (例如預設私密安全殼層金鑰) 登入執行個體。如果失敗,請register查詢密碼。

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

下列範例會從個別工作站註冊具有指定堆疊的內部部署執行個體。執行個體由其 IP 位址識別。 register使用指定的安全殼層使用者名稱和私密金鑰檔案登入執行個體。

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

下列範例會從個別工作站使用指定的堆疊註冊現有的內部部署執行個體。該命令會使用自訂安全殼層指令字串登入執行個體,該字串會指定安全殼層密碼和執行個體的 IP 位址。

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 OpsWorks 堆疊註冊執行個體。

  • 如需 API 詳細資訊,請參閱在AWS CLI 命令參考註冊

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

AWS CLI

若要為圖層設定以負載為基礎的調整規模組態

下列範例會針對指定的層啟用以負載為基礎的調整,並設定該層的組態。您必須使用create-instance將以負載為基礎的例證新增至圖層。

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

此範例會將升頻臨界值設定放在名為的工作目錄中的個別檔案中upscale.json,其中包含下列項目。

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

此範例會將縮減比例臨界值設定放在名為的工作目錄中的個別檔案中downscale.json,其中包含下列項目。

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

輸出:無。

更多資訊

如需詳細資訊,請參閱使用指南中的使AWS OpsWorks 用以負載為基礎的自動調整比例

下列程式碼範例會示範如何使用set-permission

AWS CLI

若要授與每個堆疊的 AWS OpsWorks 權限層級

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

下列範例會為以 Amazon 資源名稱 (ARN) 識別的使用者授予指定堆疊的權限。此範例會授與使用者「管理」權限層級,並在堆疊的執行個體上具有 sudo 和 SSH 權限。

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

輸出:無。

更多資訊

如需詳細資訊,請參閱《使 AWS OpsWorks 用指南》中的「授與每堆疊AWS OpsWorks 使用者權限」。

  • 如需 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/7 實例。

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

輸出:無。使用說明執行個體來檢查執行個體的狀態。

提示:您可以使用一個命令啟動堆疊中的每個離線執行個體,方法是呼叫 start-stack。

更多資訊

如需詳細資訊,請參閱AWS OpsWorks 使用指南中的手動啟動、停止和重新啟動 24/7 執行個體。

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

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

AWS CLI

若要啟動堆疊的執行個體

下列範例會啟動堆疊的所有 24/7 執行個體。若要啟動特定的執行個體,請使用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/7 執行個體。若要停止特定執行個體,請使用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 彈性區塊存放區 (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

輸出:無。

更多資訊

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

  • 如需 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 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 --profile development update-my-user-profile --ssh-public-key file://development_key.pem

輸出:無。

更多資訊

若要取得更多資訊,請參閱 AWS OpsWorks 使用指南中的〈編輯AWS OpsWorks 使用者設定〉

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

AWS CLI

更新已註冊的 Amazon RDS 資料庫執行個體

下列範例會更新 Amazon RDS 執行個體的主密碼值。請注意,此命令不會變更 RDS 執行個體的主要密碼,只會變更您提供的密碼 AWS OpsWorks。如果此密碼不符合 RDS 執行個體的密碼,您的應用程式將無法連線到資料庫。

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

輸出:無。

更多資訊

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

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

AWS CLI

若要更新已註冊的磁碟區

下列範例會更新已註冊的亞馬遜彈性區塊存放區 (Amazon 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

輸出:無。

更多資訊

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

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