There are more AWS SDK examples available in the AWS Doc SDK Examples
AWS OpsWorks examples using AWS CLI
The following code examples show you how to perform actions and implement common scenarios by using the AWS Command Line Interface with AWS OpsWorks.
Actions are code excerpts from larger programs and must be run in context. While actions show you how to call individual service functions, you can see actions in context in their related scenarios.
Each example includes a link to the complete source code, where you can find instructions on how to set up and run the code in context.
Topics
Actions
The following code example shows how to use assign-instance
.
- AWS CLI
-
To assign a registered instance to a layer
The following example assigns a registered instance to a custom layer.
aws opsworks --region
us-east-1
assign-instance
--instance-id4d6d1710-ded9-42a1-b08e-b043ad7af1e2
--layer-ids26cf1d32-6876-42fa-bbf1-9cadc0bff938
Output: None.
More Information
For more information, see Assigning a Registered Instance to a Layer in the AWS OpsWorks User Guide.
-
For API details, see AssignInstance
in AWS CLI Command Reference.
-
The following code example shows how to use assign-volume
.
- AWS CLI
-
To assign a registered volume to an instance
The following example assigns a registered Amazon Elastic Block Store (Amazon EBS) volume to an instance. The volume is identified by its volume ID, which is the GUID that AWS OpsWorks assigns when you register the volume with a stack, not the Amazon Elastic Compute Cloud (Amazon EC2) volume ID. Before you run
assign-volume
, you must first runupdate-volume
to assign a mount point to the volume.aws opsworks --region
us-east-1
assign-volume
--instance-id4d6d1710-ded9-42a1-b08e-b043ad7af1e2
--volume-id26cf1d32-6876-42fa-bbf1-9cadc0bff938
Output: None.
More Information
For more information, see Assigning Amazon EBS Volumes to an Instance in the AWS OpsWorks User Guide.
-
For API details, see AssignVolume
in AWS CLI Command Reference.
-
The following code example shows how to use associate-elastic-ip
.
- AWS CLI
-
To associate an Elastic IP address with an instance
The following example associates an Elastic IP address with a specified instance.
aws opsworks --region
us-east-1
associate-elastic-ip
--instance-iddfe18b02-5327-493d-91a4-c5c0c448927f
--elastic-ip54.148.130.96
Output: None.
More Information
For more information, see Resource Management in the AWS OpsWorks User Guide.
-
For API details, see AssociateElasticIp
in AWS CLI Command Reference.
-
The following code example shows how to use attach-elastic-load-balancer
.
- AWS CLI
-
To attach a load balancer to a layer
The following example attaches a load balancer, identified by its name, to a specified layer.
aws opsworks --region
us-east-1
attach-elastic-load-balancer
--elastic-load-balancer-nameJava-LB
--layer-id888c5645-09a5-4d0e-95a8-812ef1db76a4
Output: None.
More Information
For more information, see Elastic Load Balancing in the AWS OpsWorks User Guide.
-
For API details, see AttachElasticLoadBalancer
in AWS CLI Command Reference.
-
The following code example shows how to use create-app
.
- AWS CLI
-
Example 1: To create an app
The following example creates a PHP app named SimplePHPApp from code stored in a GitHub repository. The command uses the shorthand form of the application source definition.
aws opsworks create-app \ --region
us-east-1
\ --stack-idf6673d70-32e6-4425-8999-265dd002fec7
\ --nameSimplePHPApp
\ --typephp
\ --app-sourceType=git,Url=git://github.com/amazonwebservices/opsworks-demo-php-simple-app.git,Revision=version1
Output:
{ "AppId": "6cf5163c-a951-444f-a8f7-3716be75f2a2" }
Example 2: To create an app with an attached database
The following example creates a JSP app from code stored in .zip archive in a public S3 bucket. It attaches an RDS DB instance to serve as the app's data store. The application and database sources are defined in separate JSON files that are in the directory from which you run the command.
aws opsworks create-app \ --region
us-east-1
\ --stack-id8c428b08-a1a1-46ce-a5f8-feddc43771b8
\ --nameSimpleJSP
\ --typejava
\ --app-sourcefile://appsource.json
\ --data-sourcesfile://datasource.json
The application source information is in
appsource.json
and contains the following.{ "Type": "archive", "Url": "https://s3.amazonaws.com/opsworks-demo-assets/simplejsp.zip" }
The database source information is in
datasource.json
and contains the following.[ { "Type": "RdsDbInstance", "Arn": "arn:aws:rds:us-west-2:123456789012:db:clitestdb", "DatabaseName": "mydb" } ]
Note: For an RDS DB instance, you must first use
register-rds-db-instance
to register the instance with the stack. For MySQL App Server instances, setType
toOpsworksMysqlInstance
. These instances are created by AWS OpsWorks, so they do not have to be registered.Output:
{ "AppId": "26a61ead-d201-47e3-b55c-2a7c666942f8" }
For more information, see Adding Apps in the AWS OpsWorks User Guide.
-
For API details, see CreateApp
in AWS CLI Command Reference.
-
The following code example shows how to use create-deployment
.
- AWS CLI
-
Example 1: To deploy apps and run stack commands
The following examples show how to use the
create-deployment
command to deploy apps and run stack commands. Notice that the quote ("
) characters in the JSON object that specifies the command are all preceded by escape characters (\). Without the escape characters, the command might return an invalid JSON error.The following
create-deployment
example deploys an app to a specified stack.aws opsworks create-deployment \ --stack-id
cfb7e082-ad1d-4599-8e81-de1c39ab45bf
\ --app-id307be5c8-d55d-47b5-bd6e-7bd417c6c7eb
--command "{\"Name\":\"deploy\"}"Output:
{ "DeploymentId": "5746c781-df7f-4c87-84a7-65a119880560" }
Example 2: To deploy a Rails App and Migrate the Database
The following
create-deployment
command deploys a Ruby on Rails app to a specified stack and migrates the database.aws opsworks create-deployment \ --stack-id
cfb7e082-ad1d-4599-8e81-de1c39ab45bf
\ --app-id307be5c8-d55d-47b5-bd6e-7bd417c6c7eb
\ --command "{\"Name\":\"deploy\", \"Args\":{\"migrate\":[\"true\"]}}"Output:
{ "DeploymentId": "5746c781-df7f-4c87-84a7-65a119880560" }
For more information on deployment, see Deploying Apps in the AWS OpsWorks User Guide.
Example 3: Run a Recipe
The following
create-deployment
command runs a custom recipe,phpapp::appsetup
, on the instances in a specified stack.aws opsworks create-deployment \ --stack-id
935450cc-61e0-4b03-a3e0-160ac817d2bb
\ --command "{\"Name\":\"execute_recipes\", \"Args\":{\"recipes\":[\"phpapp::appsetup\"]}}"Output:
{ "DeploymentId": "5cbaa7b9-4e09-4e53-aa1b-314fbd106038" }
For more information, see Run Stack Commands in the AWS OpsWorks User Guide.
Example 4: Install Dependencies
The following
create-deployment
command installs dependencies, such as packages or Ruby gems, on the instances in a specified stack.aws opsworks create-deployment \ --stack-id
935450cc-61e0-4b03-a3e0-160ac817d2bb
\ --command "{\"Name\":\"install_dependencies\"}"Output:
{ "DeploymentId": "aef5b255-8604-4928-81b3-9b0187f962ff" }
For more information, see Run Stack Commands in the AWS OpsWorks User Guide.
-
For API details, see CreateDeployment
in AWS CLI Command Reference.
-
The following code example shows how to use create-instance
.
- AWS CLI
-
To create an instance
The following
create-instance
command creates an m1.large Amazon Linux instance named myinstance1 in a specified stack. The instance is assigned to one layer.aws opsworks --region
us-east-1
create-instance
--stack-id935450cc-61e0-4b03-a3e0-160ac817d2bb
--layer-ids5c8c272a-f2d5-42e3-8245-5bf3927cb65b
--hostnamemyinstance1
--instance-typem1.large
--os"Amazon Linux"
To use an autogenerated name, call get-hostname-suggestion, which generates a hostname based on the theme that you specified when you created the stack. Then pass that name to the hostname argument.
Output:
{ "InstanceId": "5f9adeaa-c94c-42c6-aeef-28a5376002cd" }
More Information
For more information, see Adding an Instance to a Layer in the AWS OpsWorks User Guide.
-
For API details, see CreateInstance
in AWS CLI Command Reference.
-
The following code example shows how to use create-layer
.
- AWS CLI
-
To create a layer
The following
create-layer
command creates a PHP App Server layer named MyPHPLayer in a specified stack.aws opsworks create-layer --region
us-east-1
--stack-idf6673d70-32e6-4425-8999-265dd002fec7
--typephp-app
--nameMyPHPLayer
--shortnamemyphplayer
Output:
{ "LayerId": "0b212672-6b4b-40e4-8a34-5a943cf2e07a" }
More Information
For more information, see How to Create a Layer in the AWS OpsWorks User Guide.
-
For API details, see CreateLayer
in AWS CLI Command Reference.
-
The following code example shows how to use create-server
.
- AWS CLI
-
To create a server
The following
create-server
example creates a new Chef Automate server namedautomate-06
in your default region. Note that defaults are used for most other settings, such as number of backups to retain, and maintenance and backup start times. Before you run acreate-server
command, complete prerequisites in Getting Started with AWS OpsWorks for Chef Automate in the AWS Opsworks for Chef Automate User Guide.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"
Output:
{ "Server": { "AssociatePublicIpAddress": true, "BackupRetentionCount": 10, "CreatedAt": 2019-12-29T13:38:47.520Z, "DisableAutomatedBackup": FALSE, "Endpoint": "https://opsworks-cm.us-east-1.amazonaws.com", "Engine": "ChefAutomate", "EngineAttributes": [ { "Name": "CHEF_AUTOMATE_ADMIN_PASSWORD", "Value": "1Example1" } ], "EngineModel": "Single", "EngineVersion": "2019-08", "InstanceProfileArn": "arn:aws:iam::012345678901:instance-profile/aws-opsworks-cm-ec2-role", "InstanceType": "t2.medium", "PreferredBackupWindow": "Sun:02:00", "PreferredMaintenanceWindow": "00:00", "SecurityGroupIds": [ "sg-12345678" ], "ServerArn": "arn:aws:iam::012345678901:instance/automate-06-1010V4UU2WRM2", "ServerName": "automate-06", "ServiceRoleArn": "arn:aws:iam::012345678901:role/aws-opsworks-cm-service-role", "Status": "CREATING", "SubnetIds": [ "subnet-12345678" ] } }
For more information, see CreateServer in the AWS OpsWorks for Chef Automate API Reference.
-
For API details, see CreateServer
in AWS CLI Command Reference.
-
The following code example shows how to use create-stack
.
- AWS CLI
-
To create a stack
The following
create-stack
command creates a stack named CLI Stack.aws opsworks create-stack --name
"CLI Stack"
--stack-region"us-east-1"
--service-role-arnarn:aws:iam::123456789012:role/aws-opsworks-service-role
--default-instance-profile-arnarn:aws:iam::123456789012:instance-profile/aws-opsworks-ec2-role
--regionus-east-1
The
service-role-arn
anddefault-instance-profile-arn
parameters are required. You typically use the ones that AWS OpsWorks creates for you when you create your first stack. To get the Amazon Resource Names (ARNs) for your account, go to the IAM console, chooseRoles
in the navigation panel, choose the role or profile, and choose theSummary
tab.Output:
{ "StackId": "f6673d70-32e6-4425-8999-265dd002fec7" }
More Information
For more information, see Create a New Stack in the AWS OpsWorks User Guide.
-
For API details, see CreateStack
in AWS CLI Command Reference.
-
The following code example shows how to use create-user-profile
.
- AWS CLI
-
To create a user profile
You import an AWS Identity and Access Manager (IAM) user into AWS OpsWorks by calling create-user-profile to create a user profile. The following example creates a user profile for the cli-user-test IAM user, who is identified by Amazon Resource Name (ARN). The example assigns the user an SSH username of
myusername
and enables self management, which allows the user to specify an SSH public key.aws opsworks --region
us-east-1
create-user-profile
--iam-user-arnarn:aws:iam::123456789102:user/cli-user-test
--ssh-usernamemyusername
--allow-self-managementOutput:
{ "IamUserArn": "arn:aws:iam::123456789102:user/cli-user-test" }
Tip: This command imports an IAM user into AWS OpsWorks, but only with the permissions that are granted by the attached policies. You can grant per-stack AWS OpsWorks permissions by using the
set-permissions
command.More Information
For more information, see Importing Users into AWS OpsWorks in the AWS OpsWorks User Guide.
-
For API details, see CreateUserProfile
in AWS CLI Command Reference.
-
The following code example shows how to use delete-app
.
- AWS CLI
-
To delete an app
The following example deletes a specified app, which is identified by its app ID. You can obtain an app ID by going to the app's details page on the AWS OpsWorks console or by running the
describe-apps
command.aws opsworks delete-app --region
us-east-1
--app-id577943b9-2ec1-4baf-a7bf-1d347601edc5
Output: None.
More Information
For more information, see Apps in the AWS OpsWorks User Guide.
-
For API details, see DeleteApp
in AWS CLI Command Reference.
-
The following code example shows how to use delete-instance
.
- AWS CLI
-
To delete an instance
The following
delete-instance
example deletes a specified instance, which is identified by its instance ID. You can find an instance ID by opening the instance's details page in the AWS OpsWorks console, or by running thedescribe-instances
command.If the instance is online, you must first stop the instance by calling
stop-instance
, and then you must wait until the instance has stopped. Rundescribe-instances
to check the instance status.To remove the instance's Amazon EBS volumes or Elastic IP addresses, add the
--delete-volumes
or--delete-elastic-ip
arguments, respectively.aws opsworks delete-instance \ --region
us-east-1
\ --instance-id3a21cfac-4a1f-4ce2-a921-b2cfba6f7771
This command produces no output.
For more information, see Deleting AWS OpsWorks Instances in the AWS OpsWorks User Guide.
-
For API details, see DeleteInstance
in AWS CLI Command Reference.
-
The following code example shows how to use delete-layer
.
- AWS CLI
-
To delete a layer
The following example deletes a specified layer, which is identified by its layer ID. You can obtain a layer ID by going to the layer's details page on the AWS OpsWorks console or by running the
describe-layers
command.Note: Before deleting a layer, you must use
delete-instance
to delete all of the layer's instances.aws opsworks delete-layer --region
us-east-1
--layer-ida919454e-b816-4598-b29a-5796afb498ed
Output: None.
More Information
For more information, see Deleting AWS OpsWorks Instances in the AWS OpsWorks User Guide.
-
For API details, see DeleteLayer
in AWS CLI Command Reference.
-
The following code example shows how to use delete-stack
.
- AWS CLI
-
To delete a stack
The following example deletes a specified stack, which is identified by its stack ID. You can obtain a stack ID by clicking Stack Settings on the AWS OpsWorks console or by running the
describe-stacks
command.Note: Before deleting a layer, you must use
delete-app
,delete-instance
, anddelete-layer
to delete all of the stack's apps, instances, and layers.aws opsworks delete-stack --region
us-east-1
--stack-id154a9d89-7e9e-433b-8de8-617e53756c84
Output: None.
More Information
For more information, see Shut Down a Stack in the AWS OpsWorks User Guide.
-
For API details, see DeleteStack
in AWS CLI Command Reference.
-
The following code example shows how to use delete-user-profile
.
- AWS CLI
-
To delete a user profile and remove an IAM user from AWS OpsWorks
The following example deletes the user profile for a specified AWS Identity and Access Management (IAM) user, who is identified by Amazon Resource Name (ARN). The operation removes the user from AWS OpsWorks, but does not delete the IAM user. You must use the IAM console, CLI, or API for that task.
aws opsworks --region
us-east-1
delete-user-profile
--iam-user-arnarn:aws:iam::123456789102:user/cli-user-test
Output: None.
More Information
For more information, see Importing Users into AWS OpsWorks in the AWS OpsWorks User Guide.
-
For API details, see DeleteUserProfile
in AWS CLI Command Reference.
-
The following code example shows how to use deregister-elastic-ip
.
- AWS CLI
-
To deregister an Elastic IP address from a stack
The following example deregisters an Elastic IP address, identified by its IP address, from its stack.
aws opsworks deregister-elastic-ip --region
us-east-1
--elastic-ip54.148.130.96
Output: None.
More Information
For more information, see Deregistering Elastic IP Addresses in the AWS OpsWorks User Guide.
-
For API details, see DeregisterElasticIp
in AWS CLI Command Reference.
-
The following code example shows how to use deregister-instance
.
- AWS CLI
-
To deregister a registered instance from a stack
The following
deregister-instance
command deregisters a registered instance from its stack.aws opsworks --region
us-east-1
deregister-instance
--instance-id4d6d1710-ded9-42a1-b08e-b043ad7af1e2
Output: None.
More Information
For more information, see Deregistering a Registered Instance in the AWS OpsWorks User Guide.
-
For API details, see DeregisterInstance
in AWS CLI Command Reference.
-
The following code example shows how to use deregister-rds-db-instance
.
- AWS CLI
-
To deregister an Amazon RDS DB instance from a stack
The following example deregisters an RDS DB instance, identified by its ARN, from its stack.
aws opsworks deregister-rds-db-instance --region
us-east-1
--rds-db-instance-arnarn:aws:rds:us-west-2:123456789012:db:clitestdb
Output: None.
More Information
For more information, see Deregistering Amazon RDS Instances in the ASW OpsWorks User Guide.
instance ID: clitestdb Master usernams: cliuser Master PWD: some23!pwd DB Name: mydb aws opsworks deregister-rds-db-instance --region us-east-1 --rds-db-instance-arn arn:aws:rds:us-west-2:645732743964:db:clitestdb
-
For API details, see DeregisterRdsDbInstance
in AWS CLI Command Reference.
-
The following code example shows how to use deregister-volume
.
- AWS CLI
-
To deregister an Amazon EBS volume
The following example deregisters an EBS volume from its stack. The volume is identified by its volume ID, which is the GUID that AWS OpsWorks assigned when you registered the volume with the stack, not the EC2 volume ID.
aws opsworks deregister-volume --region
us-east-1
--volume-id5c48ef52-3144-4bf5-beaa-fda4deb23d4d
Output: None.
More Information
For more information, see Deregistering Amazon EBS Volumes in the AWS OpsWorks User Guide.
-
For API details, see DeregisterVolume
in AWS CLI Command Reference.
-
The following code example shows how to use describe-apps
.
- AWS CLI
-
To describe apps
The following
describe-apps
command describes the apps in a specified stack.aws opsworks describe-apps \ --stack-id
38ee91e2-abdc-4208-a107-0b7168b3cc7a
\ --regionus-east-1
Output:
{ "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" } ] }
For more information, see Apps in the AWS OpsWorks User Guide.
-
For API details, see DescribeApps
in AWS CLI Command Reference.
-
The following code example shows how to use describe-commands
.
- AWS CLI
-
To describe commands
The following
describe-commands
command describes the commands in a specified instance.aws opsworks describe-commands \ --instance-id
8c2673b9-3fe5-420d-9cfa-78d875ee7687
\ --regionus-east-1
Output:
{ "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 } ] }
For more information, see AWS OpsWorks Lifecycle Events in the AWS OpsWorks User Guide.
-
For API details, see DescribeCommands
in AWS CLI Command Reference.
-
The following code example shows how to use describe-deployments
.
- AWS CLI
-
To describe deployments
The following
describe-deployments
command describes the deployments in a specified stack.aws opsworks --region
us-east-1
describe-deployments
--stack-id38ee91e2-abdc-4208-a107-0b7168b3cc7a
Output:
{ "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" } ] }
More Information
For more information, see Deploying Apps in the AWS OpsWorks User Guide.
-
For API details, see DescribeDeployments
in AWS CLI Command Reference.
-
The following code example shows how to use describe-elastic-ips
.
- AWS CLI
-
To describe Elastic IP instances
The following
describe-elastic-ips
command describes the Elastic IP addresses in a specified instance.aws opsworks --region
us-east-1
describe-elastic-ips
--instance-idb62f3e04-e9eb-436c-a91f-d9e9a396b7b0
Output:
{ "ElasticIps": [ { "Ip": "192.0.2.0", "Domain": "standard", "Region": "us-west-2" } ] }
More Information
For more information, see Instances in the AWS OpsWorks User Guide.
-
For API details, see DescribeElasticIps
in AWS CLI Command Reference.
-
The following code example shows how to use describe-elastic-load-balancers
.
- AWS CLI
-
To describe a stack's elastic load balancers
The following
describe-elastic-load-balancers
command describes a specified stack's load balancers.aws opsworks --region
us-west-2
describe-elastic-load-balancers
--stack-id6f4660e5-37a6-4e42-bfa0-1358ebd9c182
Output: This particular stack has one load balancer.
{ "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" } ] }
More Information
For more information, see Apps in the AWS OpsWorks User Guide.
-
For API details, see DescribeElasticLoadBalancers
in AWS CLI Command Reference.
-
The following code example shows how to use describe-instances
.
- AWS CLI
-
To describe instances
The following
describe-instances
command describes the instances in a specified stack:aws opsworks --region
us-east-1
describe-instances
--stack-id8c428b08-a1a1-46ce-a5f8-feddc43771b8
Output: The following output example is for a stack with two instances. The first is a registered EC2 instance, and the second was created by 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" } ] }
More Information
For more information, see Instances in the AWS OpsWorks User Guide.
-
For API details, see DescribeInstances
in AWS CLI Command Reference.
-
The following code example shows how to use describe-layers
.
- AWS CLI
-
To describe a stack's layers
The following
describe-layers
command describes the layers in a specified stack:aws opsworks --region
us-east-1
describe-layers
--stack-id38ee91e2-abdc-4208-a107-0b7168b3cc7a
Output:
{ "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": [] } ] }
More Information
For more information, see Layers in the AWS OpsWorks User Guide.
-
For API details, see DescribeLayers
in AWS CLI Command Reference.
-
The following code example shows how to use describe-load-based-auto-scaling
.
- AWS CLI
-
To describe a layer's load-based scaling configuration
The following example describes a specified layer's load-based scaling configuration. The layer is identified by its layer ID, which you can find on the layer's details page or by running
describe-layers
.aws opsworks describe-load-based-auto-scaling --region
us-east-1
--layer-ids6bec29c9-c866-41a0-aba5-fa3e374ce2a1
Output: The example layer has a single load-based instance.
{ "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" } ] }
More Information
For more information, see How Automatic Load-based Scaling Works in the AWS OpsWorks User Guide.
-
For API details, see DescribeLoadBasedAutoScaling
in AWS CLI Command Reference.
-
The following code example shows how to use describe-my-user-profile
.
- AWS CLI
-
To obtain a user's profile
The following example shows how to obtain the profile of the AWS Identity and Access Management (IAM) user that is running the command.
aws opsworks --region
us-east-1
describe-my-user-profile
Output: For brevity, most of the user's SSH public key is replaced by an ellipsis (...).
{ "UserProfile": { "IamUserArn": "arn:aws:iam::123456789012:user/myusername", "SshPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQ...3LQ4aX9jpxQw== rsa-key-20141104", "Name": "myusername", "SshUsername": "myusername" } }
More Information
For more information, see Importing Users into AWS OpsWorks in the AWS OpsWorks User Guide.
-
For API details, see DescribeMyUserProfile
in AWS CLI Command Reference.
-
The following code example shows how to use describe-permissions
.
- AWS CLI
-
To obtain a user's per-stack AWS OpsWorks permission level
The following example shows how to to obtain an AWS Identity and Access Management (IAM) user's permission level on a specified stack.
aws opsworks --region
us-east-1
describe-permissions
--iam-user-arnarn:aws:iam::123456789012:user/cli-user-test
--stack-idd72553d4-8727-448c-9b00-f024f0ba1b06
Output:
{ "Permissions": [ { "StackId": "d72553d4-8727-448c-9b00-f024f0ba1b06", "IamUserArn": "arn:aws:iam::123456789012:user/cli-user-test", "Level": "manage", "AllowSudo": true, "AllowSsh": true } ] }
More Information
For more information, see Granting Per-Stack Permissions Levels in the AWS OpsWorks User Guide.
-
For API details, see DescribePermissions
in AWS CLI Command Reference.
-
The following code example shows how to use describe-raid-arrays
.
- AWS CLI
-
To describe RAID arrays
The following example describes the RAID arrays attached to the instances in a specified stack.
aws opsworks --region
us-east-1
describe-raid-arrays
--stack-idd72553d4-8727-448c-9b00-f024f0ba1b06
Output: The following is the output for a stack with one RAID array.
{ "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 } ] }
For more information, see EBS Volumes in the AWS OpsWorks User Guide.
-
For API details, see DescribeRaidArrays
in AWS CLI Command Reference.
-
The following code example shows how to use describe-rds-db-instances
.
- AWS CLI
-
To describe a stack's registered Amazon RDS instances
The following example describes the Amazon RDS instances registered with a specified stack.
aws opsworks --region
us-east-1
describe-rds-db-instances
--stack-idd72553d4-8727-448c-9b00-f024f0ba1b06
Output: The following is the output for a stack with one registered RDS instance.
{ "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" } ] }
For more information, see Resource Management in the AWS OpsWorks User Guide.
-
For API details, see DescribeRdsDbInstances
in AWS CLI Command Reference.
-
The following code example shows how to use describe-stack-provisioning-parameters
.
- AWS CLI
-
To return the provisioning parameters for a stack
The following
describe-stack-provisioning-parameters
example returns the provisioning parameters for a specified stack. Provisioning parameters include settings such as the agent installation location and public key that OpsWorks uses to manage the agent on instances in a stack.aws opsworks describe-stack-provisioning-parameters \ --stack-id
62744d97-6faf-4ecb-969b-a086fEXAMPLE
Output:
{ "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" } }
For more information, see Run Stack Commands in the AWS OpsWorks User Guide.
-
For API details, see DescribeStackProvisioningParameters
in AWS CLI Command Reference.
-
The following code example shows how to use describe-stack-summary
.
- AWS CLI
-
To describe a stack's configuration
The following
describe-stack-summary
command returns a summary of the specified stack's configuration.aws opsworks --region
us-east-1
describe-stack-summary
--stack-id8c428b08-a1a1-46ce-a5f8-feddc43771b8
Output:
{ "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/" } }
More Information
For more information, see Stacks in the AWS OpsWorks User Guide.
-
For API details, see DescribeStackSummary
in AWS CLI Command Reference.
-
The following code example shows how to use describe-stacks
.
- AWS CLI
-
To describe stacks
The following
describe-stacks
command describes an account's stacks.aws opsworks --region
us-east-1
describe-stacks
Output:
{ "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" } ] }
More Information
For more information, see Stacks in the AWS OpsWorks User Guide.
-
For API details, see DescribeStacks
in AWS CLI Command Reference.
-
The following code example shows how to use describe-timebased-auto-scaling
.
- AWS CLI
-
To describe the time-based scaling configuration of an instance
The following example describes a specified instance's time-based scaling configuration. The instance is identified by its instance ID, which you can find on the instances's details page or by running
describe-instances
.aws opsworks describe-time-based-auto-scaling --region
us-east-1
--instance-ids701f2ffe-5d8e-4187-b140-77b75f55de8d
Output: The example has a single time-based instance.
{ "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" } } } ] }
More Information
For more information, see How Automatic Time-based Scaling Works in the AWS OpsWorks User Guide.
-
For API details, see DescribeTimebasedAutoScaling
in AWS CLI Command Reference.
-
The following code example shows how to use describe-user-profiles
.
- AWS CLI
-
To describe user profiles
The following
describe-user-profiles
command describes the account's user profiles.aws opsworks --region
us-east-1
describe-user-profiles
Output:
{ "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" } ] }
More Information
For more information, see Managing AWS OpsWorks Users in the AWS OpsWorks User Guide.
-
For API details, see DescribeUserProfiles
in AWS CLI Command Reference.
-
The following code example shows how to use describe-volumes
.
- AWS CLI
-
To describe a stack's volumes
The following example describes a stack's EBS volumes.
aws opsworks --region
us-east-1
describe-volumes
--stack-id8c428b08-a1a1-46ce-a5f8-feddc43771b8
Output:
{ "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 } ] }
More Information
For more information, see Resource Management in the AWS OpsWorks User Guide.
-
For API details, see DescribeVolumes
in AWS CLI Command Reference.
-
The following code example shows how to use detach-elastic-load-balancer
.
- AWS CLI
-
To detach a load balancer from its layer
The following example detaches a load balancer, identified by its name, from its layer.
aws opsworks --region
us-east-1
detach-elastic-load-balancer
--elastic-load-balancer-nameJava-LB
--layer-id888c5645-09a5-4d0e-95a8-812ef1db76a4
Output: None.
More Information
For more information, see Elastic Load Balancing in the AWS OpsWorks User Guide.
-
For API details, see DetachElasticLoadBalancer
in AWS CLI Command Reference.
-
The following code example shows how to use disassociate-elastic-ip
.
- AWS CLI
-
To disassociate an Elastic IP address from an instance
The following example disassociates an Elastic IP address from a specified instance.
aws opsworks --region
us-east-1
disassociate-elastic-ip
--elastic-ip54.148.130.96
Output: None.
More Information
For more information, see Resource Management in the AWS OpsWorks User Guide.
-
For API details, see DisassociateElasticIp
in AWS CLI Command Reference.
-
The following code example shows how to use get-hostname-suggestion
.
- AWS CLI
-
To get the next hostname for a layer
The following example gets the next generated hostname for a specified layer. The layer used for this example is a Java Application Server layer with one instance. The stack's hostname theme is the default, Layer_Dependent.
aws opsworks --region
us-east-1
get-hostname-suggestion
--layer-id888c5645-09a5-4d0e-95a8-812ef1db76a4
Output:
{ "Hostname": "java-app2", "LayerId": "888c5645-09a5-4d0e-95a8-812ef1db76a4" }
More Information
For more information, see Create a New Stack in the AWS OpsWorks User Guide.
-
For API details, see GetHostnameSuggestion
in AWS CLI Command Reference.
-
The following code example shows how to use reboot-instance
.
- AWS CLI
-
To reboot an instance
The following example reboots an instance.
aws opsworks --region
us-east-1
reboot-instance
--instance-iddfe18b02-5327-493d-91a4-c5c0c448927f
Output: None.
More Information
For more information, see Rebooting an Instance in the AWS OpsWorks User Guide.
-
For API details, see RebootInstance
in AWS CLI Command Reference.
-
The following code example shows how to use register-elastic-ip
.
- AWS CLI
-
To register an Elastic IP address with a stack
The following example registers an Elastic IP address, identified by its IP address, with a specified stack.
Note: The Elastic IP address must be in the same region as the stack.
aws opsworks register-elastic-ip --region
us-east-1
--stack-idd72553d4-8727-448c-9b00-f024f0ba1b06
--elastic-ip54.148.130.96
Output
{ "ElasticIp": "54.148.130.96" }
More Information
For more information, see Registering Elastic IP Addresses with a Stack in the OpsWorks User Guide.
-
For API details, see RegisterElasticIp
in AWS CLI Command Reference.
-
The following code example shows how to use register-rds-db-instance
.
- AWS CLI
-
To register an Amazon RDS instance with a stack
The following example registers an Amazon RDS DB instance, identified by its Amazon Resource Name (ARN), with a specified stack. It also specifies the instance's master username and password. Note that AWS OpsWorks does not validate either of these values. If either one is incorrect, your application will not be able to connect to the database.
aws opsworks register-rds-db-instance --region
us-east-1
--stack-idd72553d4-8727-448c-9b00-f024f0ba1b06
--rds-db-instance-arnarn:aws:rds:us-west-2:123456789012:db:clitestdb
--db-usercliuser
--db-passwordsome23!pwd
Output: None.
More Information
For more information, see Registering Amazon RDS Instances with a Stack in the AWS OpsWorks User Guide.
-
For API details, see RegisterRdsDbInstance
in AWS CLI Command Reference.
-
The following code example shows how to use register-volume
.
- AWS CLI
-
To register an Amazon EBS volume with a stack
The following example registers an Amazon EBS volume, identified by its volume ID, with a specified stack.
aws opsworks register-volume --region
us-east-1
--stack-idd72553d4-8727-448c-9b00-f024f0ba1b06
--ec-2-volume-idvol-295c1638
Output:
{ "VolumeId": "ee08039c-7cb7-469f-be10-40fb7f0c05e8" }
More Information
For more information, see Registering Amazon EBS Volumes with a Stack in the AWS OpsWorks User Guide.
-
For API details, see RegisterVolume
in AWS CLI Command Reference.
-
The following code example shows how to use register
.
- AWS CLI
-
To register instances with a stack
The following examples show a variety of ways to register instances with a stack that were created outside of AWS Opsworks. You can run
register
from the instance to be registered, or from a separate workstation. For more information, see Registering Amazon EC2 and On-premises Instances in the AWS OpsWorks User Guide.Note: For brevity, the examples omit the
region
argument.To register an Amazon EC2 instance
To indicate that you are registering an EC2 instance, set the
--infrastructure-class
argument toec2
.The following example registers an EC2 instance with the specified stack from a separate workstation. The instance is identified by its EC2 ID,
i-12345678
. The example uses the workstation's default SSH username and attempts to log in to the instance using authentication techniques that do not require a password, such as a default private SSH key. If that fails,register
queries for the password.aws opsworks register --infrastructure-class=ec2 --stack-id
935450cc-61e0-4b03-a3e0-160ac817d2bb
i-12345678
The following example registers an EC2 instance with the specifed stack from a separate workstation. It uses the
--ssh-username
and--ssh-private-key
arguments to explicitly specify the SSH username and private key file that the command uses to log into the instance.ec2-user
is the standard username for Amazon Linux instances. Useubuntu
for Ubuntu instances.aws opsworks register --infrastructure-class=ec2 --stack-id
935450cc-61e0-4b03-a3e0-160ac817d2bb
--ssh-usernameec2-user
--ssh-private-keyssh_private_key
i-12345678
The following example registers the EC2 instance that is running the
register
command. Log in to the instance with SSH and runregister
with the--local
argument instead of an instance ID or hostname.aws opsworks register --infrastructure-class
ec2
--stack-id935450cc-61e0-4b03-a3e0-160ac817d2bb
--localTo register an on-premises instance
To indicate that you are registering an on-premises instance, set the
--infrastructure-class
argument toon-premises
.The following example registers an existing on-premises instance with a specified stack from a separate workstation. The instance is identified by its IP address,
192.0.2.3
. The example uses the workstation's default SSH username and attempts to log in to the instance using authentication techniques that do not require a password, such as a default private SSH key. If that fails,register
queries for the password.aws opsworks register --infrastructure-class
on-premises
--stack-id935450cc-61e0-4b03-a3e0-160ac817d2bb
192.0.2.3
The following example registers an on-premises instance with a specified stack from a separate workstation. The instance is identified by its hostname,
host1
. The--override-...
arguments direct AWS OpsWorks to displaywebserver1
as the host name and192.0.2.3
and10.0.0.2
as the instance's public and private IP addresses, respectively.aws opsworks register --infrastructure-class
on-premises
--stack-id935450cc-61e0-4b03-a3e0-160ac817d2bb
--override-hostnamewebserver1
--override-public-ip192.0.2.3
--override-private-ip10.0.0.2
host1
The following example registers an on-premises instance with a specified stack from a separate workstation. The instance is identified by its IP address.
register
logs into the instance using the specified SSH username and private key file.aws opsworks register --infrastructure-class
on-premises
--stack-id935450cc-61e0-4b03-a3e0-160ac817d2bb
--ssh-usernameadmin
--ssh-private-keyssh_private_key
192.0.2.3
The following example registers an existing on-premises instance with a specified stack from a separate workstation. The command logs into the instance using a custom SSH command string that specifies the SSH password and the instance's IP address.
aws opsworks register --infrastructure-class
on-premises
--stack-id935450cc-61e0-4b03-a3e0-160ac817d2bb
--override-ssh"sshpass -p 'mypassword' ssh your-user@192.0.2.3"
The following example registers the on-premises instance that is running the
register
command. Log in to the instance with SSH and runregister
with the--local
argument instead of an instance ID or hostname.aws opsworks register --infrastructure-class
on-premises
--stack-id935450cc-61e0-4b03-a3e0-160ac817d2bb
--localOutput: The following is typical output for registering an EC2 instance.
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.
More Information
For more information, see Registering an Instance with an AWS OpsWorks Stack in the AWS OpsWorks User Guide.
-
For API details, see Register
in AWS CLI Command Reference.
-
The following code example shows how to use set-load-based-auto-scaling
.
- AWS CLI
-
To set the load-based scaling configuration for a layer
The following example enables load-based scaling for a specified layer and sets the configuration for that layer. You must use
create-instance
to add load-based instances to the layer.aws opsworks --region
us-east-1
set-load-based-auto-scaling
--layer-id523569ae-2faf-47ac-b39e-f4c4b381f36d
--enable --up-scalingfile://upscale.json
--down-scalingfile://downscale.json
The example puts the upscaling threshold settings in a separate file in the working directory named
upscale.json
, which contains the following.{ "InstanceCount": 2, "ThresholdsWaitTime": 3, "IgnoreMetricsTime": 3, "CpuThreshold": 85, "MemoryThreshold": 85, "LoadThreshold": 85 }
The example puts the downscaling threshold settings in a separate file in the working directory named
downscale.json
, which contains the following.{ "InstanceCount": 2, "ThresholdsWaitTime": 3, "IgnoreMetricsTime": 3, "CpuThreshold": 35, "MemoryThreshold": 30, "LoadThreshold": 30 }
Output: None.
More Information
For more information, see Using Automatic Load-based Scaling in the AWS OpsWorks User Guide.
-
For API details, see SetLoadBasedAutoScaling
in AWS CLI Command Reference.
-
The following code example shows how to use set-permission
.
- AWS CLI
-
To grant per-stack AWS OpsWorks permission levels
When you import an AWS Identity and Access Management (IAM) user into AWS OpsWorks by calling
create-user-profile
, the user has only those permissions that are granted by the attached IAM policies. You can grant AWS OpsWorks permissions by modifying a user's policies. However, it is often easier to import a user and then use theset-permission
command to grant the user one of the standard permission levels for each stack to which the user will need access.The following example grants permission for the specified stack for a user, who is identified by Amazon Resource Name (ARN). The example grants the user a Manage permissions level, with sudo and SSH privileges on the stack's instances.
aws opsworks set-permission --region
us-east-1
--stack-id71c7ca72-55ae-4b6a-8ee1-a8dcded3fa0f
--levelmanage
--iam-user-arnarn:aws:iam::123456789102:user/cli-user-test
--allow-ssh --allow-sudoOutput: None.
More Information
For more information, see Granting AWS OpsWorks Users Per-Stack Permissions in the AWS OpsWorks User Guide.
-
For API details, see SetPermission
in AWS CLI Command Reference.
-
The following code example shows how to use set-time-based-auto-scaling
.
- AWS CLI
-
To set the time-based scaling configuration for a layer
The following example sets the time-based configuration for a specified instance. You must first use
create-instance
to add the instance to the layer.aws opsworks --region
us-east-1
set-time-based-auto-scaling
--instance-id69b6237c-08c0-4edb-a6af-78f3d01cedf2
--auto-scaling-schedulefile://schedule.json
The example puts the schedule in a separate file in the working directory named
schedule.json
. For this example, the instance is on for a few hours around midday UTC (Coordinated Universal Time) on Monday and Tuesday.{ "Monday": { "10": "on", "11": "on", "12": "on", "13": "on" }, "Tuesday": { "10": "on", "11": "on", "12": "on", "13": "on" } }
Output: None.
More Information
For more information, see Using Automatic Time-based Scaling in the AWS OpsWorks User Guide.
-
For API details, see SetTimeBasedAutoScaling
in AWS CLI Command Reference.
-
The following code example shows how to use start-instance
.
- AWS CLI
-
To start an instance
The following
start-instance
command starts a specified 24/7 instance.aws opsworks start-instance --instance-id
f705ee48-9000-4890-8bd3-20eb05825aaf
Output: None. Use describe-instances to check the instance's status.
Tip You can start every offline instance in a stack with one command by calling start-stack.
More Information
For more information, see Manually Starting, Stopping, and Rebooting 24/7 Instances in the AWS OpsWorks User Guide.
-
For API details, see StartInstance
in AWS CLI Command Reference.
-
The following code example shows how to use start-stack
.
- AWS CLI
-
To start a stack's instances
The following example starts all of a stack's 24/7 instances. To start a particular instance, use
start-instance
.aws opsworks --region
us-east-1
start-stack
--stack-id8c428b08-a1a1-46ce-a5f8-feddc43771b8
Output: None.
More Information
For more information, see Starting an Instance in the AWS OpsWorks User Guide.
-
For API details, see StartStack
in AWS CLI Command Reference.
-
The following code example shows how to use stop-instance
.
- AWS CLI
-
To stop an instance
The following example stops a specified instance, which is identified by its instance ID. You can obtain an instance ID by going to the instance's details page on the AWS OpsWorks console or by running the
describe-instances
command.aws opsworks stop-instance --region
us-east-1
--instance-id3a21cfac-4a1f-4ce2-a921-b2cfba6f7771
You can restart a stopped instance by calling
start-instance
or by deleting the instance by callingdelete-instance
.Output: None.
More Information
For more information, see Stopping an Instance in the AWS OpsWorks User Guide.
-
For API details, see StopInstance
in AWS CLI Command Reference.
-
The following code example shows how to use stop-stack
.
- AWS CLI
-
To stop a stack's instances
The following example stops all of a stack's 24/7 instances. To stop a particular instance, use
stop-instance
.aws opsworks --region
us-east-1
stop-stack
--stack-id8c428b08-a1a1-46ce-a5f8-feddc43771b8
Output: No output.
More Information
For more information, see Stopping an Instance in the AWS OpsWorks User Guide.
-
For API details, see StopStack
in AWS CLI Command Reference.
-
The following code example shows how to use unassign-instance
.
- AWS CLI
-
To unassign a registered instance from its layers
The following
unassign-instance
command unassigns an instance from its attached layers.aws opsworks --region
us-east-1
unassign-instance
--instance-id4d6d1710-ded9-42a1-b08e-b043ad7af1e2
Output: None.
More Information
For more information, see Unassigning a Registered Instance in the AWS OpsWorks User Guide.
-
For API details, see UnassignInstance
in AWS CLI Command Reference.
-
The following code example shows how to use unassign-volume
.
- AWS CLI
-
To unassign a volume from its instance
The following example unassigns a registered Amazon Elastic Block Store (Amazon EBS) volume from its instance. The volume is identified by its volume ID, which is the GUID that AWS OpsWorks assigns when you register the volume with a stack, not the Amazon Elastic Compute Cloud (Amazon EC2) volume ID.
aws opsworks --region
us-east-1
unassign-volume
--volume-id8430177d-52b7-4948-9c62-e195af4703df
Output: None.
More Information
For more information, see Unassigning Amazon EBS Volumes in the AWS OpsWorks User Guide.
-
For API details, see UnassignVolume
in AWS CLI Command Reference.
-
The following code example shows how to use update-app
.
- AWS CLI
-
To update an app
The following example updates a specified app to change its name.
aws opsworks --region
us-east-1
update-app
--app-id26a61ead-d201-47e3-b55c-2a7c666942f8
--nameNewAppName
Output: None.
More Information
For more information, see Editing Apps in the AWS OpsWorks User Guide.
-
For API details, see UpdateApp
in AWS CLI Command Reference.
-
The following code example shows how to use update-elastic-ip
.
- AWS CLI
-
To update an Elastic IP address name
The following example updates the name of a specified Elastic IP address.
aws opsworks --region
us-east-1
update-elastic-ip
--elastic-ip54.148.130.96
--nameNewIPName
Output: None.
More Information
For more information, see Resource Management in the AWS OpsWorks User Guide.
-
For API details, see UpdateElasticIp
in AWS CLI Command Reference.
-
The following code example shows how to use update-instance
.
- AWS CLI
-
To update an instance
The following example updates a specified instance's type.
aws opsworks --region
us-east-1
update-instance
--instance-iddfe18b02-5327-493d-91a4-c5c0c448927f
--instance-typec3.xlarge
Output: None.
More Information
For more information, see Editing the Instance Configuration in the AWS OpsWorks User Guide.
-
For API details, see UpdateInstance
in AWS CLI Command Reference.
-
The following code example shows how to use update-layer
.
- AWS CLI
-
To update a layer
The following example updates a specified layer to use Amazon EBS-optimized instances.
aws opsworks --region
us-east-1
update-layer
--layer-id888c5645-09a5-4d0e-95a8-812ef1db76a4
--use-ebs-optimized-instancesOutput: None.
More Information
For more information, see Editing an OpsWorks Layer's Configuration in the AWS OpsWorks User Guide.
-
For API details, see UpdateLayer
in AWS CLI Command Reference.
-
The following code example shows how to use update-my-user-profile
.
- AWS CLI
-
To update a user's profile
The following example updates the
development
user's profile to use a specified SSH public key. The user's AWS credentials are represented by thedevelopment
profile in thecredentials
file (~\.aws\credentials
), and the key is in a.pem
file in the working directory.aws opsworks --region
us-east-1
--profiledevelopment
update-my-user-profile
--ssh-public-keyfile://development_key.pem
Output: None.
More Information
For more information, see Editing AWS OpsWorks User Settings in the AWS OpsWorks User Guide.
-
For API details, see UpdateMyUserProfile
in AWS CLI Command Reference.
-
The following code example shows how to use update-rds-db-instance
.
- AWS CLI
-
To update a registered Amazon RDS DB instance
The following example updates an Amazon RDS instance's master password value. Note that this command does not change the RDS instance's master password, just the password that you provide to AWS OpsWorks. If this password does not match the RDS instance's password, your application will not be able to connect to the database.
aws opsworks --region
us-east-1
update-rds-db-instance
--db-password123456789
Output: None.
More Information
For more information, see Registering Amazon RDS Instances with a Stack in the AWS OpsWorks User Guide.
-
For API details, see UpdateRdsDbInstance
in AWS CLI Command Reference.
-
The following code example shows how to use update-volume
.
- AWS CLI
-
To update a registered volume
The following example updates a registered Amazon Elastic Block Store (Amazon EBS) volume's mount point. The volume is identified by its volume ID, which is the GUID that AWS OpsWorks assigns to the volume when you register it with a stack, not the Amazon Elastic Compute Cloud (Amazon EC2) volume ID.:
aws opsworks --region
us-east-1
update-volume
--volume-id8430177d-52b7-4948-9c62-e195af4703df
--mount-point/mnt/myvol
Output: None.
More Information
For more information, see Assigning Amazon EBS Volumes to an Instance in the AWS OpsWorks User Guide.
-
For API details, see UpdateVolume
in AWS CLI Command Reference.
-