Deploying in Amazon Web Services

Introduction

ScaleOut StateServer can be licensed from the AWS Marketplace for use in Amazon Web Services running on Amazon EC2. On Amazon EC2, you can quickly deploy many instances of the ScaleOut StateServer service and easily scale the size of the distributed store to meet the needs of your application. ScaleOut Software has released publicly available Linux Amazon Machine Images that are pre-configured with the ScaleOut StateServer daemon, and ScaleOut StateServer’s management tools have been enhanced to simplify the deployment and management of EC2 virtual machine instances. ScaleOut StateServer on AWS allows you to take advantage of cost-effective, pay-as-you-go pricing, so you pay only for the resources you need while allowing flexibility during periods of atypically high or low load. Visit http://www.scaleoutsoftware.com/evaluate-purchase/pricing/ for the most up-to-date pricing details.

Terminology

The following terms defined by Amazon Web Services are used in this help file and defined here for your convenience:

  • Amazon Machine Image (AMI): Amazon Machine Images are machine images stored within Amazon’s infrastructure. An AMI contains the operating system and other software such as ScaleOut StateServer. A pre-packaged AMI that is configured with ScaleOut StateServer is available in the AWS Marketplace.
  • Instance: An instance represents a single running copy of an Amazon Machine Image (AMI).
  • Region: Amazon EC2 allows you to run EC2 instances in multiple geographic locations called regions. When deploying your ScaleOut StateServer instances, it is highly recommended that you select a region with the closest geographical proximity to the majority of your WAN traffic, if applicable.
  • Availability Zone: Every AWS region comprises two or more isolated units of failure within the Amazon Web Services environment called availability zones. A failure in one availability zone is unlikely to propagate to other availability zones within the same region. Resources within the same availability zone will experience lower average network latency than resources that cross availability zones.
  • Key Pair: A key pair is a public-key, private-key encryption system used by Linux-based instances for authentication when logging in to the systems via SSH. A key pair consists of a public key and a private key, and the matching key must be provided to authenticate against a running EC2 instance. An instance may have only one key pair defined at launch, and it may not be changed after launch. An instance without a key pair defined at launch will not be able to grant authentication for advanced administration via remote SSH login.
  • Private IP: A private IP address belongs to a single instance and is only routable from within the instance’s associated EC2 Region. Data transfer fees do not apply to data transferred using private IP addresses. When operating within the same EC2 region, use of the private IP Address is preferred to avoid data transfer fees.
  • Public IP: A public IP address belongs to a single instance and is routable from within the EC2 environment, including from other EC2 regions, and from external, Internet locations.
  • Elastic IP (EIP): An Elastic IP (EIP) is a fixed (static) public IP address allocated through EC2 and assigned to a running virtual machine instance. Elastic IPs exist independently of virtual machine instances and may be attached to only a single instance at a time, but they may be reassigned to a different instances with complete transparency to end users. If an Elastic IP is associated with an instance, it invalidates and overrides the original public IP.
  • Security Group: A security group is a named set of allowed inbound network connection rules for EC2 instances. Each security group consists of a list of protocols, ports, and source IP address ranges. A security group can apply to multiple instances, and an instance can be a member of multiple security groups. Security groups may only be assigned to an instance when the instance is being launched. Changes to a security group’s allowed inbound network connections apply to all instances assigned to that Security Group. By default, the SOSS management tools create a new security group for each deployed SOSS store.
  • Placement Group: A cluster placement group is a logical entity that enables creating a cluster of instances with special characteristics, such as high speed networking. Using a placement group, a cluster of instances can have low latency, 10 gigabit Ethernet bandwidth connectivity between instances in the cluster.

Prerequisites

To deploy ScaleOut StateServer in Amazon EC2, begin by visiting http://aws.amazon.com/ and signing up for an AWS account.

ScaleOut’s management tools require a set of access credentials to perform actions in EC2 on your behalf. In Amazon Web Services, these credentials are referred to as Access Keys. To retrieve or configure Access Keys for your account, visit the Security Credentials page in the AWS site. Next, record the Access Key ID and the Secret Access Key to be used by ScaleOut StateServer management tools.

[Note] Note

Credentials defined on this page have full account privileges ("root credentials") and are recommended for debugging and initial testing only. For production environments or where security is a concern, use the AWS Identity and Access Management (IAM) feature to create security-limited credentials. When creating an IAM security policy, the following permissions are required:

IAM Permission Requirement

ec2:AllocateAddress

Required to create a new Elastic IP addresses.

ec2:AssociateAddress

Required to associate an Elastic IP address to a running instance.

ec2:AuthorizeSecurityGroupIngress

Required to authorize StateServer ports for inbound communication.

ec2:CreatePlacementGroup

Required to create new Placement Groups for groups of SOSS cluster compute instances launched with no explicit existing Placement Group.

ec2:CreateSecurityGroup

Required to create new Security Groups for groups of SOSS instances with no explicit existing Security Group defined at launch.

ec2:CreateTags

Required to launch new EC2 instances (for internal bookkeeping).

ec2:DeleteSecurityGroup

Required to delete auto-generated Security Groups for groups of SOSS instances with no explicit existing Security Group defined at launch.

ec2:DescribeAddresses

Required to query an existing Elastic IP address for association.

ec2:DescribeAvailabilityZones

Required to launch new EC2 instances with a preferred Availability Zone.

ec2:DescribeImages

Required to determine which AMI to use when launching new EC2 instances.

ec2:DescribeInstances

Required to retrieve and display information on existing instances.

ec2:DescribeKeyPairs

Required to list available Key Pairs for selection in the Management Console.

ec2:DescribePlacementGroups

Required to query an existing Placement Group for instance placement and selection in the Management Console.

ec2:DescribeRegions

Required to connect to EC2.

ec2:DescribeSecurityGroups

Required to query an existing Security Group for instance placement or Security Group deletion.

ec2:DescribeSubnets

Required to query an existing VPC for instance placement.

ec2:DescribeVpcs

Required to query an existing VPC Subnet for instance placement.

ec2:RebootInstances

Required to reboot running instances.

ec2:RunInstances

Required to launch new EC2 instances.

ec2:TerminateInstances

Required to terminate existing EC2 instances.

Managing AWS Using the SOSS Management Console

The SOSS Management Console can be used to easily launch and manage Amazon EC2 virtual machine images that are pre-configured with the ScaleOut StateServer service. On your local workstation, run the SOSS installer and select the Remote Client/Cloud Mgt. Setup Type, as described in the section Components.

Accessing AWS Management in the Console

After completing the installation wizard, the SOSS Console will start automatically and will immediately prompt you to configure your connection to a ScaleOut StateServer store. Dismiss this prompt. In the Console’s View menu, toggle the Show AWS Management menu item. This will cause the AWS Management node to appear in the Console’s tree list on the left side of the window:

images/winforms_console/aws/awsConsoleViewMenu.png

Creating an AWS Connection

To deploy SOSS to AWS EC2, the SOSS Management Console must be configured to establish a connection to AWS. Right click on the AWS Management node in the tree list and select Manage Connections from the context menu. The AWS Connection Management window will appear:

images/winforms_console/aws/awsConsoleManageConnections.png

Use this window to define connections to AWS using the credentials that you established earlier in the Deploying in Amazon Web Services topic. If you need to manage SOSS stores in multiple EC2 regions, you can click the Add button to define more connections for the different regions.

Once the connection details have been entered, close the window and select the AWS Management node on the left side of the Console to open the AWS Management pane in the main area of the window:

images/winforms_console/aws/awsManagement.png

Click the AWS Connection dropdown to connect to AWS using the connection details you have defined. (Note that the Manage Connections dialog also can be launched from this dropdown.)

images/winforms_console/aws/awsConsoleAWSConnPicker.png

When you select a connection from this dropdown, the SOSS Console will connect to Amazon EC2 and will display any instances you have running in the current EC2 region.

Launching a New SOSS Host Group

You are now ready to launch a group of SOSS hosts which will form a single SOSS store. The ScaleOut management tools take care of all the configuration steps required for the deployed AMIs to form a single SOSS host group. It is only necessary to select a store name and decide how many AMIs to deploy using the Launch New Group wizard. In addition, several configuration options are available to you.

To start the wizard, click the Launch New Group… button in the AWS Management pane. The wizard will automatically open to the summary page, where the name of the store and the count of the EC2 instances are the only two required fields:

images/winforms_console/aws/awsConsoleWizSummary.png

Prior to clicking the launch button, however, you may want to review the other pages in the wizard to confirm that the default selections are acceptable.

The EC2 Settings page allows you to fine-tune the Amazon EC2 settings for the instances that you are about to launch:

images/winforms_console/aws/awsConsoleWizEC2.png

The following settings may be adjusted from this page:

  • Instance Type: An instance type defines the memory, CPU, storage capacity, and hourly cost for an instance. Specify the size of the instances that you will be launching.
  • AMI Type: Select the Amazon Machine Image that you would like to launch. The AMIs listed here are provided by ScaleOut Software and run the ScaleOut StateServer service. Use of the latest version is recommended.
  • Key Pair Name: SSH key pairs are used for authentication when remotely logging in to an EC2 instance. Select a key pair if you plan to log in to your SOSS instances to manage them over SSH.
  • Availability Zone: An availability zone is a location within an EC2 Region that is engineered to be insulated from failures in other Availability Zones and, architecturally, is roughly equivalent to a datacenter.
  • Allocate New Elastic IPs: An Elastic IP is a static public IP address that can be assigned to a running EC2 instance. Elastic IPs can be reassigned to different instances or can left in a reserved, unassigned state for a small charge. Select Assign New to allocate new EIPs and assign them to your SOSS instances. By default, Amazon limits you to 5 Elastic IPs, but you can request more, if needed.
  • Assign Existing Elastic IPs: If you currently have any unassigned Elastic IPs that you’d like assigned to the new instances you’ll be launching, select them from this field to assign them to the EC2 instances that you are about to launch.
  • Placement group: You can optionally select a placement group so that a cluster of instances can have special characteristics such as 10 gigabit networking.

The SOSS Settings lets you specify the ports used by the ScaleOut StateServer service (daemon). Use of the default ports is recommended.

images/winforms_console/aws/awsConsoleWizPorts.png

Additionally, you can enable the Web-based management console from this page. Checking the Enable Web-based Management Console box will cause Apache to be installed on your EC2 instances, and the PHP-based management console will be installed. (Port 80 will also be opened to the IPs you specify in the wizard’s Client IPs page.)

The Security Group page lets you specify which security group(s) your new EC2 instances will belong to. A security group acts as a firewall that controls the network traffic allowed into a group of instances. By default, the Launch New Group wizard will create a new security group for your instances, and it will open up the ports required for your instances to communicate with each other. If you select an existing security group, the wizard will modify that group to open the ports required for SOSS network communication:

images/winforms_console/aws/awsConsoleWizSecGroup.png

The Client IPs page lets you specify the IP addresses that may access your instances. An EC2 security group will not allow network access to the instances you are launching unless you specifically provide it with a white list of allowed client IP addresses.

images/winforms_console/aws/awsConsoleWizClientIPs.png

By default, the wizard grants access to the external WAN IP of your local system. (Your external IP is determined by a quick request to an external "What’s My IP?" Web service operated by ScaleOut Software. No personal information is logged when determining your WAN IP.) If you have additional ranges of IP addresses that will need access to the SOSS store, they can be specified on the Client IPs page using CIDR notation.

In addition to client IP addresses, access to your store’s security group can be granted to other security groups. So if you have EC2 instances running in a different security group, you can grant them access to your SOSS store by selecting them in the wizard’s Client Security page:

images/winforms_console/aws/awsConsoleWizSecGroup.png

After completing the Launch New Group wizard, you can launch the new SOSS host group from the wizard’s summary page using the Launch button. A status window will appear as instances are started in the AWS EC2 environment. Once completed, you can close the wizard; the new instances should now be visible in the Console’s AWS Management pane.

[Note] Note

It may take several minutes to launch an SOSS host group in Amazon EC2 because the AMIs need to boot their operating systems and configure SOSS to form a host group.

Immediately after launch, the SOSS Management Console will prompt you to connect to the newly launched SOSS host group so that you can manage it identically to an on-premise host group:

images/winforms_console/aws/awsClientPrompt.png

Managing and Scaling SOSS Host Groups Deployed in Amazon EC2

The AWS Management pane shows you the AMIs that have been launched for a specified AWS connection. For each AMI, several attributes are displayed, including the SOSS store name, instance ID and type, private and public IPs, elastic IP if assigned, availability zone, security group, key pair name, and public DNS name. You can refresh the table of AMIs using the Refresh button to see the latest information. You also can terminate or reboot selected AMIs, as described below.

images/winforms_console/aws/awsManagement.png

You can reboot selected AMIs if necessary by selecting the AMIs and then clicking the Reboot Selected button.

To add more AMIs to an SOSS host group, fill out the fields in the SOSS Group Scaling box:

images/winforms_console/aws/awsConsoleAddInstances.png

The fields are as follows:

  • SOSS Store to Grow: Select the name of the SOSS store that you’d like to add instances to. This field will be disabled if you do not have an existing store.
  • # of EC2 Instances to Launch: Specify the number of EC2 instances that you would like to add to the store.
  • EC2 Instance Type: An instance type defines the memory, CPU, storage capacity, and hourly cost for an instance. Specify the size of the instances that you’ll be launching.
  • SOSS Version: Select the Amazon Machine Image that you would like to launch. The AMIs listed here are provided by ScaleOut Software and run the ScaleOut StateServer service. ScaleOut Software recommends running the same version of ScaleOut StateServer across all instances in your farm, so select the version that matches the existing hosts in your deployment.
  • EC2 Key Pair Name: SSH key pairs are used for authentication when remotely logging in to an EC2 instance. Select a key pair if you plan to log in to your SOSS instances to manage them over SSH.
  • Allocate New Elastic IPs: Select Assign New to allocate new EIPs and assign them to your SOSS instances. By default, Amazon limits you to 5 Elastic IPs, but you can request more, if needed.
  • Assign Existing Elastic IPs: If you currently have any unassigned Elastic IPs that you’d like assigned to the new instances you’ll be launching, select them from this field to assign them to the EC2 instances that you are about to launch.
  • Enable Web-based Management Console: Select this option to enable the web-based management console. This will cause Apache to be installed on your EC2 instances, and the PHP-based management console will be installed.

After filling out the fields, click the Launch Additional Instances button to add EC2 instances to the specified SOSS store. A status window will appear and will report progress as instances are started in the Amazon EC2 environment.

Shrinking or Stopping an Existing SOSS Store

As a best practice, issue a leave command to the SOSS service prior to terminating its EC2 instance. As described in the Management Console section, right-click on each host that you would like to stop and issue a leave command. Wait for its icon to turn red before issuing a leave command to another host. The remaining hosts will rebalance the object load after the host leaves. Issuing a leave command prior to termination minimizes the recovery work that surviving hosts will need to perform.

To terminate selected instances, first select the AWS connection that you would like to use from the AWS Connection dropdown control in the AWS Management pane. Select one or more hosts that you would like to terminate from the list of EC2 instances and click on the Terminate Selected button. A status window will appear and will report progress as instances are terminated in the Amazon EC2 environment. If all hosts in the store have been terminated and the store was using an auto-generated EC2 security group, the security group also will be removed.

images/winforms_console/aws/awsConsoleTerminate.png

[Note] Note

It may take several minutes to terminate AMIs in Amazon EC2.

Upgrading an SOSS Store Deployed in Amazon EC2

ScaleOut Software provides new base Amazon Machine Images (AMIs) with every software release of ScaleOut StateServer. Minor and hot fix releases are backwards compatible with previous minor releases within the same major release. For example, version 5.1.6 is backwards compatible with version 5.0.5. This lets you maintain service to applications while upgrading individual SOSS hosts one at a time. In addition to improvements made to subsequent versions of SOSS, each new release also provides the latest software and security updates to the underlying operating system and its installed software packages.

To perform an upgrade to a newer version, take the following actions for each host in turn, one host at a time. Make sure that you fully complete all steps and then verify that the SOSS store is running normally before upgrading the next host:

  1. Open the SOSS Console, click on the AWS Management node in the Console’s tree and select the AWS connection that you’d like to work in from the AWS Connection dropdown control.
  2. Select the instance to be replaced and click Leave to cause the host to leave the store.
  3. Wait for the host to completely finish leaving. Its icon will change from green with a triangle, through yellow with a minus, to red with a square.
  4. Ensure the instance to be replaced is still selected and click the Terminate Selected button to terminate and remove the instance from the host group. If the instance holds an Elastic IP, make note of it to assign it to the new, replacement instance.
  5. Wait for the host to reach the terminated state and disappear from the host list to the left.
  6. Launch an additional instance into the SOSS Store with the new version of SOSS, choosing the former instance’s Elastic IP from the Assign Existing Elastic IPs dropdown, if applicable. It is highly recommended that the new instance be of the same size or greater than the instance it is replacing in order to avoid a low memory condition.
  7. Wait for the new instance to appear in the host list on the left and select Join Store from the right-click context menu.
  8. Wait for the host to finish joining. Its icon will change from red with a square, through yellow with a plus, to green with a triangle.
  9. Wait for load balancing to complete by selecting Local Store from the tree list on the left and viewing either the Store Hosts or Store Map tab. The Store Hosts tab will indicate load balancing has completed when all active hosts in the store possess approximately the same number of objects. The Store Map tab will indicate load balancing has completed when all objects have finished moving. (Moving objects are indicated by a blue square.) The time it takes for load balancing to complete will vary based on the size of your store and the amount of active load it is under.

Verify that load-balancing has completed and that the SOSS store is running normally before upgrading the next host.

Managing AWS Using the SOSS Command-Line Control Program

The command-line control program, soss_aws_actions.py, encapsulates all the logic necessary to launch and manage a ScaleOut StateServer (SOSS) store running in the Amazon EC2 environment.

This command line control program requires Python 2.6 or greater and the Amazon Python library, boto, which is available through the Python package management utilities pip and easy_install, or may also be installed directly from https://github.com/boto/boto. For Linux-based operating systems, boto may be available in your distribution’s software repository.

The command-line syntax for soss_aws_actions.py is as follows:

soss_aws_actions.py command arguments [options]

where the commands are:

create_group
Create a new host group.
add_instances
Add new instances to an existing group.
read_gateways
Print SOSS gateway information for an existing host group.
list_group
Print SOSS instance information for an existing host group.
terminate
Terminate a single instance or existing host group.
help
Display helps information.

Each command has its own set of required arguments and optional parameters as follows:

create_group

The command-line syntax to create a new SOSS host group is as follows:

soss_aws_actions.py create_group [-h]
    [--access-key ACCESS_KEY]
    [--secret-key SECRET_KEY]
    [--region REGION]
    [--avail_zone AVAIL_ZONE]
    [--version VERSION]
    [--security_groups SECURITY_GROUPS [SECURITY_GROUPS ...]]
    [--key_pair KEY_NAME]
    [--client CLIENT [CLIENT ...]]
    [--eip_none | --eip_existing | --eip_new]
    [--pub_mgt_port PUB_MGT_PORT]
    [--pub_svr_port PUB_SVR_PORT]
    [--pvt_mgt_port PVT_MGT_PORT]
    [--pvt_svr_port PVT_SVR_PORT]
    [--pvt_int_port PVT_INT_PORT]
    [--placement_group PLACEMENT_GROUP]
    store_name num_instances instance_type

where the arguments and options are:

ACCESS_KEY
Access Key ID used for administrative AWS operations. If not specified, will attempt to read from boto config.
SECRET_KEY
Secret access key paired with above access key ID. If not specified, will attempt to read from boto config.
REGION
AWS EC2 region to connect to and query. If not specified, will attempt to read from boto config (default: us-east-1).
store_name
Name for the new AWS SOSS Store (must be unique)
num_instances
Number of instances to launch
instance_type
The type of the instance to launch
AVAIL_ZONE
AWS EC2 availability zone in which to launch the new AWS SOSS host group (default: no preference)
VERSION
SOSS version to install, for example 5.0.3.203. If not specified, use latest version.
SECURITY_GROUP
AWS Security Group Name in which to launch the new AWS SOSS host group. If not specified, create and configure a new Security Group. The Security Group will be modified to support internal communication between instances.
ADDITIONAL_GROUPS
AWS Security Group Name(s) in which to launch the new AWS SOSS host group. These groups are not modified.
KEY_NAME
AWS Key Pair name to allow you to securely connect to your instance after it launches (default: None)
CLIENT
Client access source(s) to add to the Security Group. These sources may be single IP addresses, IP ranges in CIDR format (e.g., 10.11.12.0/24), or the name or unique ID of an existing Security Group (e.g., "My Web Farm" or sg-01234567). Additionally, "localhost" may be specified to determine and add the public-facing IP of the localhost as a client (recommended for management access).
--web
Install the SOSS Web Management Console on the launched instance(s). This option installs Apache and PHP on the instance and configures the SOSS Web Management Console on http://INSTANCE/soss_mgt. If specified, port 80 will be opened to the client access source(s) specified by the --client option in the primary Security Group.
--eip_none
No Elastic IPs will be allocated or assigned (default).
--eip_existing
Assign existing Elastic IPs if available.
--eip_
Allocate new Elastic IPs and assign them.
PUB_MGT_PORT
Public management port (default: 720).
PUB_SVR_PORT
Public server port (default: 721).
PVT_MGT_PORT
Private management port (default: 720).
PVT_SVR_PORT
Private server port (default: 721).
PVT_INT_PORT
Private interconnect port (default: 722).
PLACEMENT_GROUP
(Cluster Compute instances only) AWS Placement Group Name in which to launch the new AWS SOSS host group. If not specified, create a new Placement Group.

Examples:

soss_aws_actions.py create_group MySOSSGroup 20 m2.4xlarge --access-key=MY_ACCESS_KEY --secret-key=MY_SECRET_KEY --client sg-01234567

Create a new SOSS host group of 20 m2.4xlarge instances with the name "MySOSSGroup", and allow a pre-existing Security Group with the id "sg-01234567" to access the private SOSS ports.

soss_aws_actions.py create_group MySOSSGroup 20 m2.4xlarge --access-key=MY_ACCESS_KEY --secret-key=MY_SECRET_KEY --client sg-01234567 --region us-west-1 --avail-zone us-west-1b --key_pair my_ssh_key_pair --eip_new --security_group "ScaleOut" --additional_groups "default"

As above, but launch in the us-west-1 Region, in the us-west-1b Availability Zone, specifies the "my_ssh_key_pair" as the SSH authentication key pair name, attempt to allocate a new Elastic IP for each instance (maximum of 5 by default), launch the instances into an existing "ScaleOut" Security Group as its primary group, and add the "default" group as a secondary Security Group.

add_instances

The command-line syntax to add instances to an existing SOSS host group is as follows:

soss_aws_actions.py add_instances [-h]
    [--access-key ACCESS_KEY]
    [--secret-key SECRET_KEY]
    [--region REGION]
    [--version VERSION]
    [--web]
    [--eip_none | --eip_existing | --eip_new]
    store_name num_instances instance_type

where the arguments and options are defined above. If specified, the region parameter must be the same region into which the SOSS host group was launched.

Example: Adding 3 m1.large instances to the "MySOSSGroup" SOSS group. 

soss_aws_actions.py add_instances MySOSSGroup 3 m1.large --access-key=MY_ACCESS_KEY --secret-key=MY_SECRET_KEY

read_gateways

The command-line syntax to display gateway information for an existing SOSS host group is as follows:

soss_aws_actions.py read_gateways [-h]
    [--access-key ACCESS_KEY]
    [--secret-key SECRET_KEY]
    [--region REGION]
    store_name

where the arguments and options are defined above. If specified, the region parameter must be the same region into which the SOSS host group was launched.

Example: List the gateway information for the "MySOSSGroup" SOSS group. 

soss_aws_actions.py read_gateways MySOSSGroup --access-key=MY_ACCESS_KEY --secret-key=MY_SECRET_KEY

list_group

The command-line syntax to display instance information for all instances in an existing SOSS host group is as follows:

soss_aws_actions.py list_group [-h]
    [--access-key ACCESS_KEY]
    [--secret-key SECRET_KEY]
    [--region REGION] [--name] [--pub_ip]
    [--pub_dns] [--status] [--avail_zone]
    [--security_groups] [--key_pair]
    store_name

where the arguments and options are defined above. If specified, the region parameter must be the same region into which the SOSS host group was launched.

By default, the following information is displayed: Instance ID, Private IP, Instance Type, SOSS Version. Additional information may be displayed for each instance by specifying the following optional parameters; columns are displayed in the order that the parameters are specified.

--name
AWS Name tag
--pub_ip
Public IP
--pub_dns
Public DNS
--status
Status
--avail_zone
Availability Zone
--security_groups
Security Group(s)
--key_pair
SSH Key Pair Name

Example: List the default instance information for the "MySOSSGroup" SOSS host group. 

soss_aws_actions.py list_group MySOSSGroup --access-key=MY_ACCESS_KEY --secret-key=MY_SECRET_KEY

Example: List additional instance information for the "MySOSSGroup" SOSS group (Instance ID, Private IP, Instance Type, SOSS Version, AWS Name tag, Public DNS). 

soss_aws_actions.py list_group MySOSSGroup --access-key=MY_ACCESS_KEY --secret-key=MY_SECRET_KEY --name --pub_dns

terminate

The command-line syntax to terminate an instance or existing SOSS host group is as follows:

soss_aws_actions.py terminate [-h]
    [--access-key ACCESS_KEY]
    [--secret-key SECRET_KEY]
    [--region REGION]
    {--store_name STORE_NAME | --instance INSTANCE}

where the arguments and options are defined above. If specified, the region parameter must be the same region into which the SOSS host group was launched. Either a store name or an instance ID must be specified. If a store name is supplied, all instances with that SOSS store name are terminated. If an instance ID is specified with the instance parameter, only the specified instance is terminated.

Example: Terminate all instances in the "MySOSSGroup" SOSS group. 

soss_aws_actions.py terminate --store_name MySOSSGroup --access-key=MY_ACCESS_KEY --secret-key=MY_SECRET_KEY

Example: Terminate the instance with id "i-01234567". 

soss_aws_actions.py terminate --instance i-01234567 --access-key=MY_ACCESS_KEY --secret-key=MY_SECRET_KEY