Manual Set Up of a VMR in AWS
This section will walk you through the steps required to manually get a single Solace VMR cloud image running and ready for messaging in AWS.
- Before you begin
- Step 1: Start VMR Instance in AWS
- Step 2: Access the Solace CLI
- Step 3: Review VMR Configuration Defaults
- Next Steps
It's assumed you have:
- Access to AWS.
The VMR Cloud Image provides a 30 GB disk partition, which is suitable for proof-of-concept use for up to 1,000 clients, but is insufficient for client connection tiers above 1,000 and most guaranteed messaging deployments in production environments. For production use, you must provision an additional drive for the message spool, and it is recommended to also provide an additional drive for diagnostics information. For instructions on provisioning additional storage space, see Externalizing the Message Spool & Diagnostics, and for information on other defaults, see VMR Configuration Defaults.
For Evaluation and Enterprise VMR editions, the number of client connections to the VMR that can be supported depends on the system resources you provision. The table below lists the minimum system resources that are required to support the client connections offered by each scaling tier.
Minimum System Resources Required For Connection Scaling Tiers
|Client Connections||CPUs||RAM (GiB)||Minimum Recommended Diagnostics Volume Size (GB)|
|up to 1,000||2||4||8.6|
|up to 10,000||minimum of 4||12||10.7|
|up to 100,000||minimum of 8||28||21.5|
|up to 200,000||minimum of 12||56||21.5|
- The minimum supported instance type for a Solace VMR message routing node is m4.large with a storage value type IO1 with 3000 IOPS. For a monitoring node, the minimum supported instance type is m4.large with a storage volume type IO1.
- Performance in AWS will vary depending on instance type and storage configuration. Solace has characterized that deterministic performance is achieved using an instance type of m4.10xlarge with a storage volume type IO1 with 10,000 IOPs. AWS provides different instance types between m4.large and m4.10xlarge which may be suitable for your requirements.
To deploy VMRs in high-availability (HA) redundancy groups, you must set up three separate VMR instances and then configure them appropriately as a group. For more information on how to manually configure existing VMRs as an HA group, see Managing VMR Redundancy.
Also, a Solace Quick Start template is available at GitHub, and at AWS Quick Starts, that makes use of AWS Cloud Formation to create VMRs in an HA group that is suitable for proof-of-concept testing.
To start a Solace VMR instance in AWS, perform the following steps:
- Obtain a Solace Amazon Machine Image (AMI) package for the type of VMR edition you will use.
For Evaluation and Community VMR editions, you must download the AMI through a Solace provided link. For Enterprise edition VMRs, Solace makes the AMI for AWS directly available to your AWS account.
- For an Evaluation and Community VMR edition, do the following:
- Go to the Downloads page of dev.solace.com. Then in the amazon web services square select Install AMI and choose either Community Edition or Evaluation Edition as well as the region to deploy it in.
- Under AMI for Amazon Web Services, select an AWS region appropriate for you, then after you accept the license agreement, you will be emailed a link that will take you to the AWS Instance Launch Wizard.
- For an Enterprise VMR edition, do the following:
- Log in to your AWS account, and from the main AWS dashboard, select EC2, then click Launch Instance.
- In the Choose AMI screen, select My AMIs, then select Ownership, and enable Shared with Me.
- Find the Solace AMI (the image name has a format of
soltr-<version>-vmr-enterprise-cloud), then click Select.
In the Choose Instance Type screen, choose an appropriate Amazon Virtual Private Cloud (VPC) and subnet, and then click Next: Configure Instance Details.
For information about VPCs and subnets, refer to AWS documentation.
- In the Configure Instance Details screen, configure the VPC, then click Next: Add Storage.
- In the Add Storage screen, select a sufficiently-sized volume, and then click Next: Add Tags.
- In the screen, add tags as appropriate to keep your VMR instances organized, then click Next: Configure Security Group.
The following example uses Name, Owner, and Version but you can choose any tags that make sense for your application.
- In the Configure Security Group screen, create an appropriate security rule for each port that the VMR uses for a service to enable connectivity to your VMR, and then click Review and Launch.
For information on the default ports the VMR uses, refer to VMR Configuration Defaults. The example below includes rules for all service ports that the VMR may use. Alternatively you may only expose the services required for your application.
- AWS can provide a private and public IP address. These addresses must be considered in the security group configuration.
- If you will be using the VMR in an HA redundancy group with other VMRs, you must create security rules for ports 8300, 8301, 8302, and 8741.
- In the Review Screen, review your instance. Ignore the warnings, and click Launch.
- The instance will start. In the dialog box that starts, choose an authentication key pair for the VMR instance, which can be used for this first login to the VMR, and then click Launch Instance.
The EC2 dashboard will show your VMR instance under Instances. Here you can find the external and internal IP address of the instance. (For more information, refer to IP Addressing in Cloud Instances.)
To log into the Linux Host shell, enter the following command:
ssh -i <auth_key> sysadmin@<public_ip>
You can access the Solace CLI from the console in the Linux host environment. This is done through the Solace Control Utility.
When you first access the Solace CLI, you should do the following:
- set a password for the admin user, which has access to all CLI commands
- determine the VMR’s IP address so that you can enable remote access
To access the Solace CLI, do the following:
- To enter the Solace CLI from the console in the Linux host environment, enter the following command in the Linux host shell.
[sysadmin@solace ~]$ solacectl cli
A CLI banner and prompt appears.
>prompt, you are at the User EXEC level of the Solace CLI command structure.
- Within the Solace CLI, enter the following commands to create an admin user named
solace(configure)# create username admin password <password>
solace(configure/username)# global-access-level admin
- To determine the IP address assigned to the VMR, enter the following command:
solace> show ip vrf management
The displayed output lists the IP address assigned to the VMR (listed for
eth0:1), which can be used to remotely manage the VMR (that is, not from the VM console).
- To remotely access the Solace CLI for the VMR, you can now ssh to port 2222 of the VMR’s IP address and login in as the
ssh -p 2222 admin@<public_ip>
Tip: In addition to the admin CLI User, you can create additional CLI and file transfer users through the Solace CLI in the manner described in Administering Management & Shell Users.
By default, a VMR starts with a basic configuration that has most common services enabled and ready for use. This basic configuration, and the default ports, can be modified as required. For details, see VMR Configuration Defaults.
You now have a VMR cloud image with a basic configuration that is ready for messaging tasks. However, there are additional configuration tasks you can perform. At this stage, you should consider doing the following:
- Review the extra configuration tasks specific to VMR images presented on the Configuration Tasks for VMR Cloud & Machine Images page.
These additional configurations allow you to further customize your VMR cloud image to better suit your particular use-case and to make it more suitable for a production deployment.
- Begin to configure and manage the VMR image’s messaging operations with either Solace CLI (refer to Using Solace CLI) , WebUI (refer to WebUI Overview), or SolAdmin (refer to SolAdmin Overview). For information on how to perform configuration and management tasks, refer to the topics in Configuration.