Deploying in Amazon Web Services

Introduction

ScaleOut StateServer can be licensed from the AWS Marketplace for use in Amazon Web Services. Using Amazon Web Services, 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 AWS 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 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.

  • 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 AWS, 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 AWS 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

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.

autoscaling:CreateAutoScalingGroup

Required to create new Auto Scaling Groups for clustered instances during stack creation.

autoscaling:CreateLaunchConfiguration

Required to create new Launch Configurations for clustered instances during stack creation.

autoscaling:DeleteAutoScalingGroup

Required to delete automatically created Auto Scaling Groups for clustered instances during stack deletions.

autoscaling:DeleteLaunchConfiguration

Required to delete automatically created Launch Configurations for clustered instances during stack deletions.

autoscaling:DeleteLifecycleHook

Required to delete automatically created Lifecycle Hooks for Auto Scaling Groups during stack deletions.

autoscaling:DescribeAutoScalingGroups

Required to retrieve Auto Scaling Groups during scale in or scale out requests.

autoscaling:DescribeLaunchConfigurations

Required to retrieve Launch Configurations during stack creation, scale in, or scale out requests.

autoscaling:DescribeLifecycleHooks

Required to retrieve Lifecycle Hooks during stack creation, scale out, or scale in requests.

autoscaling:DescribeScalingActivities

Required to retrieve Scaling Activities during stack creation, scale out, or scale in requests.

autoscaling:PutLifecycleHook

Required to create new Lifecycle Hooks for Auto Scaling Groups during stack creation.

autoscaling:UpdateAutoScalingGroup

Required to update Auto Scaling Groups during scale up or scale down requests to launch or terminate EC2 instances.

cloudformation:CreateStack

Required to create new CloudFormation Stacks during stack creation.

cloudformation:DeleteStack

Required to delete CloudFormation Stacks during stack deletions.

cloudformation:DescribeStacks

Required to retrieve the configuration for existing CloudFormation Stacks.

cloudformation:UpdateStack

Required to update CloudFormation Stacks during scale out or scale in requests.

ec2:AssociateRouteTable

Required to associate Route Tables to VPCs during stack creation.

ec2:AttachInternetGateway

Required to attach Internet Gateways to VPCs during stack creation.

ec2:AuthorizeSecurityGroupIngress

Required to authorize ports for inbound communication during stack creation.

ec2:CreateInternetGateway

Required to create new Internet Gateways for VPCs during stack creation.

ec2:CreatePlacementGroup

Required to create new Placement Groups for clustered instances to ensure low latency communication.

ec2:CreateRoute

Required to create new Routes for Route Tables during stack creation.

ec2:CreateRouteTable

Required to create new Route Tables for VPC Subnets during stack creation.

ec2:CreateSecurityGroup

Required to create new Security Groups for VPCs during stack creation.

ec2:CreateSubnet

Required to create new Subnets for VPCs during stack creation.

ec2:CreateTags

Required to launch new EC2 instances (for internal bookkeeping) during stack creation, scale out, or scale in requests.

ec2:CreateVpc

Required to create new VPCs during stack creation.

ec2:DeleteInternetGateway

Required to delete automatically created Internet Gateways during stack deletion.

ec2:DeletePlacementGroup

Required to delete automatically created Placement Groups during stack deletion.

ec2:DeleteRoute

Required to delete automatically created Routes for Route Tables during stack deletion.

ec2:DeleteRouteTable

Required to delete automatically created Route Tables for VPC Subnets during stack deletion.

ec2:DeleteSecurityGroup

Required to delete automatically created Security Groups for VPCs during stack deletion.

ec2:DeleteSubnet

Required to delete automatically created Subnets for VPCs during stack deletion.

ec2:DeleteVpc

Required to delete automatically created VPCs during stack deletion.

ec2:DescribeAvailabilityZones

Required to connect to AWS.

ec2:DescribeInstances

Required to retrieve and display information about EC2 instances.

ec2:DescribeInternetGateways

Required to retrieve Internet Gateways during stack creation.

ec2:DescribeKeyPairs

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

ec2:DescribePlacementGroups

Required to retrieve Placement Groups during stack creation, scale out, or scale in requests.

ec2:DescribeRouteTables

Required to retrieve Route Tables during stack creation.

ec2:DescribeSecurityGroups

Required to retrieve Security Groups during stack creation.

ec2:DescribeSubnets

Required to retrieve Subnets during stack creation.

ec2:DescribeVpcs

Required to retrieve VPCs during stack creation.

ec2:DetachInternetGateway

Required to detach automatically created Internet Gateways from VPCs during stack deletion.

ec2:DisassociateRouteTable

Required to disassociate Route Tables from VPCs during stack deletion.

ec2:ModifyVpcAttribute

Required to configure the automatically created VPC during stack creation.

ec2:RebootInstances

Required to reboot running instances.

ec2:RevokeSecurityGroupIngress

Required to remove ports from inbound communication of an automatically created Security Group during stack deletion.

ec2:RunInstances

Required to launch new EC2 instances during stack creation or scale out requests.

ec2:TerminateInstances

Required to terminate EC2 instances as part of a scale in event.

iam:AddRoleToInstanceProfile

Required to create the instance IAM role during stack creation.

iam:CreateInstanceProfile

Required to create the instance IAM role during stack creation.

iam:CreateRole

Required to create the instance IAM role during stack creation.

iam:DeleteInstanceProfile

Required to delete the instance IAM role during stack termination.

iam:DeleteRole

Required to delete the instance IAM role during stack termination.

iam:DeleteRolePolicy

Required to delete the instance IAM role during stack termination.

iam:GetRole

Required to create the instance IAM role during stack creation.

iam:PassRole

Required to create the instance IAM role during stack creation.

iam:PutRolePolicy

Required to create the instance IAM role during stack creation.

iam:RemoveRoleFromInstanceProfile

Required to delete the instance IAM role during stack termination.

sqs:CreateQueue

Required to create an SQS queue used for scale out or scale in requests.

sqs:DeleteQueue

Required to delete the automatically created SQS queue used for scale out or scale in requests.

sqs:GetQueueAttributes

Required to create an SQS queue used for scale out or scale in requests.

Managing AWS Using the ScaleOut Management Console

The ScaleOut 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 ScaleOut 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 ScaleOut Management 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/awsConsoleViewMenu.png

Creating an AWS Connection

To deploy the ScaleOut service to AWS, the ScaleOut 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/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 ScaleOut stores in multiple AWS 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/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/awsConsoleAWSConnPicker.png

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

Launching a New ScaleOut Host Group

You are now ready to launch a group of ScaleOut hosts which will form a single ScaleOut store. The ScaleOut management tools take care of all the configuration steps required for the deployed instances to form a single ScaleOut host group. It is only necessary to select a store name, an SSH keypair (used for optional remote login), and decide how many instances to deploy using the Launch New Store wizard. In addition, several configuration options are available to you.

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

../_images/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/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.

  • Tenancy: The physical tenancy of the launched instances. An instance with ‘dedicated’ tenancy runs on single-tenant hardware at an additional cost (billed by Amazon).

  • Enable Detailed CloudWatch Metrics: If checked, adds additional ScaleOut StateServer-related metrics to Amazon CloudWatch, which can be used for monitoring or alarms.

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

The Service Network Binding lets you specify whether the ScaleOut hosts should use their public or private IP address as their advertised gateway.

../_images/awsConsoleWizPorts.png

Additionally, you can enable the Web-based management console from this page. Checking the Enable Management REST API Service box will enable the ScaleOut Management REST API Service to be started by default, and will open port 4000 to any clients specified on the following Client IPs page. Similarly, checking the Enable Client REST API Service box will enable the ScaleOut Client REST API Service to be started by default, and will open port 4000 to specified clients.

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/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 ScaleOut store, they can be specified on the Client IPs page using CIDR notation.

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

Note

It may take several minutes to launch a ScaleOut host group in Amazon Web Services because several AWS resources must be created and configured before the instances boot their operating systems and configure the ScaleOut service to form a cohesive host group.

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

../_images/awsClientPrompt.png

Managing and Scaling ScaleOut Host Groups Deployed in AWS

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

../_images/awsManagement.png

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

To add or remove instances to or from a ScaleOut host group, fill out the fields in the ScaleOut Group Scaling box:

../_images/awsConsoleAddInstances.png

The fields are as follows:

  • ScaleOut Store to Grow: Select the name of the ScaleOut store that you’d like to add instances to. This field will be disabled if you do not have an existing store.

  • New Number of Instances: Specify the total number of desired instances to trigger a scale out or scale in request.

  • EC2 Instance Type: Read-only. Displays the instance type used for this deployment, which defines the memory, CPU, storage capacity, and hourly cost for an instance.

  • ScaleOut Version: Read-only. Displays the selected AMI used for this deployment.

After filling out the fields, click the Resize Store button to add or remove EC2 instances to or from the specified ScaleOut store. A status window will appear and will report progress as instances are started in the AWS environment.

Lastly, you can terminate an entire deployment by selecting its store name in the ScaleOut Group Scaling box and clicking Delete Entire Store.

Warning

This option is irreversible and will result in complete data loss of all objects stored in the data grid!

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 store running in the Amazon AWS 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 gateway information for an existing host group.

list_group

Print 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 ScaleOut 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 ScaleOut 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 host group (default: no preference)

VERSION

ScaleOut 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 ScaleOut 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 ScaleOut 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 ScaleOut Web Management Console on the launched instance(s). This option installs Apache and PHP on the instance and configures the ScaleOut 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 ScaleOut host group. If not specified, create a new Placement Group.

Examples:

Create a new ScaleOut 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 ScaleOut ports:

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

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:

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"

add_instances

The command-line syntax to add instances to an existing ScaleOut 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 ScaleOut host group was launched.

Example: Adding 3 m1.large instances to the “MySOSSGroup” ScaleOut 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 ScaleOut 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 ScaleOut host group was launched.

Example: List the gateway information for the “MySOSSGroup” ScaleOut 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 ScaleOut 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 ScaleOut host group was launched.

By default, the following information is displayed: Instance ID, Private IP, Instance Type, ScaleOut 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

Examples:

List the default instance information for the “MySOSSGroup” ScaleOut host group:

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

List additional instance information for the “MySOSSGroup” ScaleOut group (Instance ID, Private IP, Instance Type, ScaleOut 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 ScaleOut 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 ScaleOut 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 ScaleOut 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” ScaleOut 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