IBM Integration Bus Standard Edition and IBM MQ on AWS

Amazon EC2 Installation guide

1. Overview

This guide will provide step by step instructions how to start using the installed products on your AWS EC2 instance.

This AMI contains a ready-to-run IBM Integration Bus image at the selected version. In order to use this image, you need to launch it with your selected type, and log in via SSH to create and configure required Integration Nodes, Message Flows and Listeners etc.

Visit the IBM Integration Bus Standard Edition page on the AWS Marketplace

2. Launching an instance

In order to launch IBM Integration Bus (referred as IIB), a few settings need to be configured on the AWS console as follows. The instructions for launching an instance differ depending on where you launch from. Initially you will launch the instance from the AWS Marketplace.

 

  • Select the IBM WebSphere Product based on your requirements in the AWS Marketplace;
  • Click on the link to go to that versions page in AWS Marketplace;
  • Check the ‘Other Versions ‘ link to see other versions available (you can select the actual version later).
  • Under ‘Pricing Details‘ panel select your Region and either Hourly or Yearly fees.
  • Click on the ‘Continue‘, button to go to the ‘1-Click Launch‘ tab on the configuration page;
  • On the ‘Software Pricing‘ panel choose your instance type and pricing type;
  • On the ‘Version‘ panel, select the fix pack version you require;
  • On the ‘Region‘ panel, select the Region you require;
  • On the ‘EC2 Instance Type‘ panel, choose the instance type. The m3.large type or larger is recommended when running IBM Integration Bus. Larger instances may be required based on the number of IBM Integration Nodes etc required and the expected resource use of each;
  • On the ‘VPC Settings‘ panel Configure the VPC settings to your requirements or leave the defaults;
  • On the ‘Security Group‘ panel, specify the security group. The security group needs to permit to following ports [note that the internal firewall will be configured later to permit only ports used by WebSphere]:
    Port 22 to connect via SSH (enabled by default), 
    Port 9090 to reach RapidDeploy web console, 
    Port 4445 to reach the IIB Web UI,
    Port 5951 if using the remote toolkit, Port 20000 and 20100 to open for RapidDeploy Remote Agent (optional)
     
    • If you don’t already have a security group as above, go to your EC2 Control Panel and select ‘Security Groups‘ under ‘Network & Security
    • Click ‘Create Security Group‘ button
    • To open all ports, Click ‘Add Rule‘.
    • In the ‘Type‘ dropdown, Specify ‘All TCP‘ or your preferred configuration.
    • In the ‘Source‘ dropdown, Specify ‘Anywhere‘ or your preferred configuration.
  • On the ‘Key Pair‘ panel, select a key pair to use. You will need this key later to connect to the instance.
  • Scroll back to the top of the page and click ‘Accept Software Terms and Launch with 1-Click‘.
  • The Instance will be Launched.
  1. Select the IBM WAS AMI based on your requirements;
  2. Right click on the AMI, or from the drop down menu, choose the ‘Launch’ option;
  3. On the ‘Choose Instance Type‘ tab, choose the instance type. The M3.large type or larger is recommended when running IBM Integration Bus. Larger instances may be required based on the number of IBM Integration Nodes etc required and the expected resource use of each; Click ‘Next: Configure Instance Details‘.
  4. On the ‘Configure Instance‘ tab Configure the instance to your requirements or leave the defaults. Click ‘Next: Add Storage‘.
  5. On the ‘Add Storage‘ tab, add additional storage as required or leave as default. Click ‘Next: Tag Instance‘.
  6. On the ‘Tag Instance‘ tab, Tag your instance with a suitable name. Click ‘Next: Configure Security Group'.
  7. On the ‘Configure Security Group‘ tab, specify the security group. The security group needs to permit to following ports:
    Port 22 to connect via SSH (enabled by default), 
    Port 9090 to reach RapidDeploy web console, 
    Port 4445 to reach the IIB Web UI,
    Port 5951 if using the remote toolkit, Port 20000 and 20100 to open for RapidDeploy Remote Agent (optional)
     
    • To open all ports, Click ‘Add Rule‘.
    • In the ‘Type‘ dropdown, Specify ‘All TCP‘ or your preferred configuration.
    • In the ‘Source‘ dropdown, Specify ‘Anywhere‘ or your preferred configuration.
  8. Click ‘Review and Launch‘.
  9. Review settings, then click ‘Launch‘.
  10. Add your key pair, Check the ‘Acknowledge key file access’ checkbox and click ‘Launch Instance‘.

 3. Initial login and setup

The IBM Integration Bus products are shipped with a base binary installation but without the necessary Integration Nodes created. On the first login to the instance, you will be placed into a console wizard, which will guide you through the process of creating and starting IBM Integration Nodes and other configuration steps. The following is an overview of the steps you will be guided through to get started with the installed products on the instance. Once the instance has started up (you can see it by having ” 2/2 checks passed ” in EC2 console).
  1. Log onto the instance from the EC2 console or via SSH as the ‘mqm’ user, using the key you selected above.  For example:
    • From the EC2 console by clicking  the “Connect to your instance” button with username “mqm” , using the previously (instance launch-time) selected .pem keyfile.
    • Via SSH from your desktop, for example
      ssh -i ./MidVisionUSMC.pem mqm@ec2-52-87-198-23.compute-1.amazonaws.com
  2. You should see the MidVision banner and then you are placed in a setup wizard.
    Welcome to                                                                                                                                             
    
     __  __ _     ___     ___     _                    ____ _                 _
    |  \/  (_) __| \ \   / (_)___(_) ___  _ __        / ___| | ___  _   _  __| |
    | |\/| | |/ _` |\ \ / /| / __| |/ _ \| '_ \ _____| |   | |/ _ \| | | |/ _` |
    | |  | | | (_| | \ V / | \__ \ | (_) | | | |_____| |___| | (_) | |_| | (_| |
    |_|  |_|_|\__,_|  \_/  |_|___/_|\___/|_| |_|      \____|_|\___/ \__,_|\__,_|
    
                                                           A MidVision Service
    
            * WebSite: https://www.midvisioncloud.com/
            * Support: http://support.midvision.com/redmine/projects/devtestcloud
            * Forum:    https://www.midvisioncloud.com/community/
    
    
    Welcome, this is MidVisionCloud RapidDeploy and  IBM Integration Bus Server  and  IBM MQ  image first run configuration
    
    Note that you can rerun this configuration wizard again by executing /home/mqm/firstrunsetup.sh script
    
    Configuration steps
    - Create and Start IBM Integration Bus server
    - Set RapidDeploy framework initial password
    - Open ports on RHEL firewall
    Start IBM Integration Bus server? [y/n]
    
  3. On the first login to the instance, you will be placed into a console wizard, which will guide you through the process of creating and configuring IBM Integration Bus. After logging onto the instance via SSH as the ‘mqm’ user you will be placed in a setup wizard. The following is an overview of the steps you will be guided through to create the required profiles on the instance:
    1. Create and start an IBM Integration Bus server.
    2. Set initial password for RapidDeploy user “mvadmin“.
    3. Choose which ports to open on Red Hat Linux firewall. You should open port 9090 for the RapidDeploy web console if required.
    Please refer to IBM documentation for IBM Integration Bus configuration.
  4. Type ‘y‘ and hit [return]. You should see the following output. Depending on your instance type, the following output will be displayed over several minutes.
    Creating and starting a sample IBM Integration Bus server...
    WebSphere MQ queue manager created.
    Directory '/var/mqm/qmgrs/MVQMGR01' created.
    The queue manager is associated with installation 'Installation1'.
    Creating or replacing default objects for queue manager 'MVQMGR01'.
    Default objects statistics : 79 created. 0 replaced. 0 failed.
    Completing setup.
    Setup completed.
    WebSphere MQ queue manager 'MVQMGR01' starting.
    The queue manager is associated with installation 'Installation1'.
    5 log records accessed on queue manager 'MVQMGR01' during the log replay phase.
    Log replay for queue manager 'MVQMGR01' complete.
    Transaction manager state recovered for queue manager 'MVQMGR01'.
    WebSphere MQ queue manager 'MVQMGR01' started using V8.0.0.6.
    BIP8071I: Successful command completion. 
    BIP8096I: Successful command initiation, check the system log to ensure that the component started without problem and that it continues to run without problem. 
    BIP8071I: Successful command completion. 
    BIP8071I: Successful command completion.
    BIP1124I: Creating execution group 'sample' on broker 'MVCLD01'...
    BIP1117I: The execution group was created successfully. 
    
    The broker has initialized the execution group.
    BIP8071I: Successful command completion.
    IIB Node and server created! IIB server is available at http://ec2-34-230-51-127.compute-1.amazonaws.com:4445. Log in as mqm using i-090a826faa3b56f75 as the initial password!
    
  5. Set initial password for RapidDeploy user “mvadmin“. Hit [return] to accept the default of the instance id.
    Configuring password for RapidDeploy default user 'mvadmin'
    Set password for user 'mvadmin'. Submit blank for default value of the instance id: i-090a826faa3b56f75
    
  6. Open required firewall ports on Red Hat Linux firewall. Select ‘y‘ and hit [return].
    Open firewall ports for RapidDeploy and  IBM Integration Bus Server  and  IBM MQ  (default port 9090 and  4445 and  1414 and 1415)  [y/n]?
    
  7. You should see ports list of ports being opened. Type ‘exit‘ to leave this section and the wizard. The correct URLs to access the IIB Node are displayed.
    Configuration finished, you may now start using RapidDeploy services and other software. Web user interfaces are available on:
    IBM Integration Bus: http://ec2-34-230-51-127.compute-1.amazonaws.com:4445
    RapidDeploy: ec2-34-230-51-127.compute-1.amazonaws.com:9090/MidVision
    
    

4. Accessing the web consoles

4.1 Accessing the IIB Interface

After the initial node creation upon first login, the user interface can be accessed via

http://[publicip]:4445

You can log in to IIB console as “mqm”  using your ‘[instance-id]‘ as password.

Please refer to the IIB documentation for further usage information.

4.2 Subsequent logins via SSH to the instance

When logging into the instance after the first time, you will be asked if you wish to enter the console menu. Selecting ‘y‘ places you in a management console. Selecting ‘n‘ will take you to a command prompt. You can access the menu at any time by typing ‘menu’ at the command prompt. In the menu context, after first login you can perform the following actions:

  • Display WMQ installation details
  • Manage IBM MQ – this option is very helpful and lets you create/manage/delete queue managers, listeners, channels and queues
  • Open Firewall Port if you wish. Usually you will need to open ports 1414 and 1415
Main Application Administration Menu on ip-172-31-44-143
========================================================
Please select from list
 1. Display Status for ip-172-31-44-143
 2. Manage IBM MQ
 3. Open Firewall Port on ip-172-31-44-143
 4. Help for the Management menu
 x. Quit
>3

We prepared sample configuration of WMQ for you. Following the steps below you will create two queue managers with local and remote queues, then you will define listeners and channels that will allow communication between these queue managers.

 1. Select Manage IBM MQ from main menu and Create new Queue Managers with names QMGRA and QMGRB
 2. Select QMGRA and then select option 5 to start it. 
 3. You can check if QMGRA is running using option 6
 4. Select Manage Queues option for QMGRA and select option 2 to define new transmission queue (name: QMGRB.XMIT.DF, init queue name: SYSTEM.CHANNEL.INITQ)
 5. Now select option 1 to define new local queue (name:QMGRB.QMGRA.RQSTIN)
 6. Using option 5 to define new remote queue (name: QMGRA.QMGRB.RQST, transmission queue: QMGRB.XMIT.DF, remote queue: QMGRA.QMGRB.RQSTIN, queue manager: QMGRB)
 7. Leave current menu using x. Quit option and select Manage Channels for QMGRA
 8. Define Sender Channel (name: QMGRA.QMGRB.DF, transmission queue name: QMGRB.XMIT.DF, ip address: localhost, port: 1414)
 9. Define Receiver Channel (name: QMGRB.QMGRA.DF)
 10. Leave current menu and select Manage Listener
 11. Define new Listener (name: LISTENER.TCP.QMGRB, port: 1415)
 12. Go to main menu and Select Queue Manager QMGRB
 13. Start QMGRB and then go to Manage Queues for this queue manager
 14. Define Transmission queue (name: QMGRA.XMIT.DF, init queue name: SYSTEM.CHANNEL.INITQ)
 15. Define Local queue (name: QMGRA.QMGRB.RQSTIN)
 16. Define Remote queue (name: QMGRB.QMGRA.RQST, transmission queue name: QMGRA.XMIT.DF, remote queue: QMGRB.QMGRA.RQSTIN, queue manager: QMGRA)
 17. Go to Manage Channels option for QMGRB and define new Sender Channel (name: QMGRB.QMGRA.DF, transmission queue name: QMGRA.XMIT.DF, ip address: localhost, port 1415) 
 18. Define Receiver Channel for QMGRB: (name: QMGRA.QMGRB.DF) 
 19. Go to Manage Listeners for QMGRB and define new Listener (name: LISTENER.TCP.QMGRA, port: 1414)
 20. Use option 3 to Start Listener (select LISTENER.TCP.QMGRA) and then use option 5 to Display status of Listeners for QMGRB
 21. Go to main menu and now select QMGRA
 22. Go to Manage Listeners and start Listener LISTENER.TCP.QMGRB
 23. Go to Manage Channels for QMGRA and Start Channel: QMGRA.QMGRB.DF
 24. Select Queue Manager QMGRB, go to Manage Channels and Start Channel: QMGRB.QMGRA.DF)

Of course you can still use all the commands directly from WMQ without using our prepared menu.

4.3 IIB Licensing

The IIB node created as a part of the first login process will be created at your purchased licensing level. Each additional node MUST be created at your entitled level to comply with licensing restrictions. One can check their current license level per node from the command line. Where “integration_nodeName” is the name of the integration node to be queried. Please refer to the IBM IIB documentation for more specifics. 

[mqm@ ] mqsimode –o

4.4 Access the RapidDeploy Web Console

RapidDeploy server and agent will start up automatically when you start your instance. You can access the web console on:

http://[publicip]:9090/MidVision

Note: make sure you have port 9090 open in your Security group when trying to access RapidDeploy web console. For the first time, you can set the password for the default username ” mvadmin “. You can prevent auto starting RapidDeploy on instance startup by removing it from the system chkconfig list.

[mqm@ ] systemctl disable rapiddeploystart.service
 

5. Maintaining the installation

The following sections cover some of the activities you might want to perform after the instance has been started.
  • [mqm]: This is the default user for AMIs where both IIB and MQ are installed, which you can log in as. It is permitted to use all SUDO rights. To switch to the root user, type “sudo su“.
  • root:      This is the superuser in linux systems. You can log in as any other user without using passwords. E.g: “su ec2-user“, “su mqm
  • ec2-user:  This user does not have SUDO rights. If you want to switch back to root user, type “exit“, this will take you back to the previous user session.

To restart an IIB node from the command line, use the mqsi commands on the midvision users $PATH.
Example usage:

[mqm@ ] mqsistart
[mqm@ ] mqsistop

RHEL instances are shipped with a firewall by default to protect your machine. For security reasons, the instance is only accessible via SSH (port 22) at first, so further ports can be opened on the firewall as needed. You will need to open all the ports in this internal firewall, which you have open in your Security group. There is a script placed in the user home of midvision (/home/mqm), which is also the starting location when logged in. You will need to be the root user to run this script. Example usage:

[mqm@ ] sudo ./open-firewall.sh 9090
Open firewall port 9090 iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
 

There are a few scripts and other files in mqm and root users home directory, which will need to remain unchanged in order to keep the provided scripts working.

There are a set of scripts in midvision home directory. Those scripts are executed when logging into the instance controlled by  .bash_profile , but you can also execute them manually whenever they are needed.

There are some hidden files used as well,  

.firstrun  indicates that the setup wizard has already ran once,  

.dontask  indicates that the user will not be prompted again for running the setuphost script (if chosen not to ask again), 

.host file is needed to determine the previously bound hostname to WebSphere service.

To restart RapidDeploy manually from the filesystem, use the rapiddeploy linux service. The RapidDeploy version is 4.0.7. RapidDeploy home is located at /var/rd/mqm Example usage:

[mqm@ ] sudo service rapiddeploystart start 
[mqm@ ] sudo service rapiddeploystart stop

The RapidDeploy server uses an in-memory database, so your RapidDeploy framework needs to be shut down properly to save your work. This happens when the instance is stopping or when calling the stop service manually from the command line. Note that on instance restart, unsaved data will be lost.

For security reasons, you will need to change the default password (default value is ‘[instance-id]‘) for user mvadmin. This will be requested the first time only when you log in to the RapidDeploy server.

6. Troubleshooting

6.1 Session loss during setup

If you lose your SSH connection to the target instance during the first run setup script execution (e.g. as a result of a network problem), we advise you to delete and recreate the EC2 instance and run the script again.

6.2 Cannot access the IIB admin console (ISC)

Check that  the default server is running, and you have correctly opened all the required ports on the firewall, and that your instance was created using a security group definition that allows TCP access to the instance on the required ports.

6.3 Contacting MidVision support

Please visit our support website.