Deploy the Management Console Behind an ELB

This section describes the process for deploying the console behind a load balancer (ELB).

To run the console behind a load balancer:

  1. If you don't have a RHEL / CentOS 7 image on your cloud, perform the following steps to install one:
    1. Download a RHEL / CentOS 7 image from the Eucalyptus Machine Image catalog.
      Note: Keep its ID handy as it will be required in the subsequent steps.
    2. Install the image onto your cloud. For more information, see Install an HVM Image
  2. Establish a user account to install and run Euca2ools commands to set up your console. For more information, see Working with Euca2ools Configuration Files.
  3. Once you have designated which user account to set up the console, complete the remaining procedure using Euca2ools. You can invoke Euca2ools commands anywhere.
  4. Create or import an SSH key. For more information, see Create Key Pairs or euca-import-keypair.
  5. Create the console stack using a pre-defined template from the eucaconsole github repository:
    1. First, download the template by running:
      wget https://raw.githubusercontent.com/eucalyptus/eucaconsole/maint-4.2/scripts/console-deploy.cfn
    2. Run the following command supplying your own values for each attribute, as outlined in the table below:
      euform-create-stack -—template-file console-deploy.cfn <stack_name> -p KeyName=<your_ssh_key> -p ImageId=<emi_id> -p InstanceType=<instance_size> -p CloudIP=<fully_qualified_domain_name>
      Attribute Variable Example
      stack_name <stack_name> eucaconsole-stack
      keyName <your_ssh_key> dak-ssh-key
      ImageId <emi_id> emi-2fb14ad7
      Note: Obtained from step 1.a
      InstanceType <instance_size> m1.medium
      Note: The InstanceType shown in the above example is generally sufficient in size. The image type (size) you choose should rarely be larger than m1.medium or c1.medium, unless you plan on accommodating more than 1000 users.
      CloudIP <fully_qualified_domain_name> (fqdn) a-09.autoqa.qa1.eucalyptus-systems.com
  6. Create an SSL certificate using the domain name for the ELB:
    1. run euform-describe-stacks <stack_name> to obtain the domain name from the resulting output URL.
    2. See Uploading SSL Certificates for Elastic Load Balancing to create an SSL certificate.
  7. Upload the SSL certificate by running the following command, supplying your own values for each attribute outlined in the table below:
    euare-servercertupload –s eucaconsole-cert -—private-key-file <your_private_key>.pem -—certificate-file <cert_name>.cert
    Attribute Variable Example
    -—private-key-file <your_private_key> console-pk.pem
    -—certificate-file <cert_name> console.crt
  8. Obtain the name of your load balancer by running the eulb-describe-lbs command in order to provide it later in step 9.b.
    The results display all the ELBs. There may be only one ELB if you haven’t run others. Look for the ELB name that was prefixed with the <stack_name> you specified or “eucaconsole-stack" if you used the one supplied in step 5.b.
  9. Add the HTTPS listener to your ELB:
    1. Obtain the SSL certificate ARN by running the command:
      euare-servercertgetattributes –s <cert_name> | head –1
    2. Then add the listener by running the command:
      eulb-create-lb-listeners <elb_name> --listener "protocol=HTTPS,lb-port=443,instance-port=443,instance-protocol=HTTPS,cert-id=<cert_arn>”
      Now you should be able to reach the console via "https://<cloudIP>” (the cloudIP is the FQDN you provided when creating the stack in step 5.b).