IBM WebSphere Application Server Network Deployment Edition on AWS

Amazon EC2 Installation guide

Instructions for Early Fixpack versions for WAS ND:

If you are using AWS Images at the following fixpack versions of IBM WebSphere Application Server Network Deployment Edition, please follow these installation instructions.

7.0.0.37, 7.0.0.398.0.0.7, 8.0.0.108.5.0.2.

For all other WebSphere Network Deployment images on any other fixpack versions, continue to follow the instructions on this page.

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 WebSphere Application Server Network Deployment 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 required profile(s) and activate (start) the WebSphere servers.

Visit the WebSphere Application Server Network Deployment Edition page on the AWS Marketplace

2. Launching an instance

In order to launch IBM WebSphere Application Server (referred as WAS), 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.

You can also view the YouTube video which will take you through the launch and configuration steps for this AMI.

Follow the step-by-step YouTube video to launch and configure your IBM WebSphere ND instance.

  • 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 t2.medium type or larger is recommended when running IBM WebSphere Application Server ND Edition. If running both a Dmgr and NodeAgent on the same instance, the minimum requirement is t2.large. Larger instances may be required based on the number of IBM WebSphere application servers, clusters 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), 
    All Ports for WebSphere ND communications between the Dmgr and Nodeagent
     
    • 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.
  • We strongly recommend that once launched, you assign an elastic IP address to the running instance before logging in for the first time to set up the profile(s).
  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 t2.medium type or larger is recommended when running IBM WebSphere Application Server Network Deployment Edition. If running both a Dmgr and NodeAgent on the same instance, the minimum requirement is t2.large. Larger instances may be required based on the number of IBM WebSphere application servers, clusters 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), 
    All Ports for WebSphere ND communications between the Dmgr and Nodeagent
     
    • 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‘.
  11. We strongly recommend that once launched, you assign an elastic IP address to the running instance before logging in for the first time to set up the profile(s).

3. Initial login and setup

The ‘default’ startup configuration is to have a cell created ‘in a box’ with one Deployment Manager and one Node Agent profile created and federated. Both created servers (Dmgr and nodeagent) will be started on the first and subsequent launches.

If you don’t want to perform any bespoke configuration, skip this section and move on to section 4, “Accessing the Web Consoles”.

Note: If you log in straight after the instance is launched WebSphere Application Server with default configuration may not have finished starting up so you need to wait at least 10 minutes and then use credentials from section 4 to log in.

Note: In the default configuration, both the Dmgr and node agent are configured using ‘localhost‘. This means it will work without the need to use elastic IP addresses. However, this means if you want to create a distributed cell across multiple hosts, you should use the bespoke configuration instructions instead.

The IBM WebSphere Application Server ND Edition products are shipped with a base binary installation and a ‘default’ configuration of one Dmgr and one Node Agent profile created and federated.

Before performing bespoke configuration you should create and assign an elastic IP address to the instance.

On the first login via SSH to the instance, you will be placed into a console wizard, which will guide you through the process of deleting the default profiles and then creating and starting new IBM WAS ND profile(s) 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.

In this example we will create and configure a Dmgr and/or Nodeagent 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 ‘midvision’ user, using the key you selected above.  For example:
    • From the EC2 console by clicking  the “Connect to your instance” button with username “midvision” (if your instance contains IBM MQ installation use “mqm” as username), using the previously (instance launch-time) selected .pem keyfile.
    • Via SSH from your desktop, for example
      ssh -i ./MidVisionUSMC.pem midvision@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/product-category/amazon-web-services-marketplace
            * Support: http://support.midvision.com/redmine/projects/devtestcloud
            * Forum:   https://midvisioncloud.com/community/      
    
    
    Welcome, this is MidVisionCloud RapidDeploy and Websphere Application Server Network Deployment image first run configuration
    
    Note that you can rerun this configuration wizard again by executing /home/midvision/firstrunsetup.sh script
    
    Configuration steps
    - Review your current default profiles or create your own bespoke WebSphere ND configuration (optional)
    - Set RapidDeploy framework initial password
    - Open ports on RHEL firewall
    This WebSphere installation comes with default configuration. Deployment Manager and Node Agent profiles have been already created and started.
    WebSphere Admin Console is available from your browser: 
    ec2-34-201-141-84.compute-1.amazonaws.com:9060/ibm/console (admin agent credentials: wasadmin/i-098283f7593f3ccb7)
    Would you like to remove your current default profiles and create your own bespoke configuration ? [yes/no]
  3. Type ‘yes’ if you want to remove your current default configuration hit [return]. Initial script firstly stops and then removes two default profiles
    Stopping and removing existing default profiles...
    ADMU0116I: Tool information is being logged in file
               /opt/IBM/WebSphere/AppServer/profiles/Appsrv01/logs/nodeagent/stopServer.log
    ADMU0128I: Starting tool with the Appsrv01 profile
    ADMU3100I: Reading configuration for server: nodeagent
    ADMU3201I: Server stop request issued. Waiting for stop status.
    ADMU4000I: Server nodeagent stop completed.
    
    ADMU0116I: Tool information is being logged in file
               /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/logs/dmgr/stopServer.log
    ADMU0128I: Starting tool with the Dmgr01 profile
    ADMU3100I: Reading configuration for server: dmgr
    ADMU3201I: Server stop request issued. Waiting for stop status.
    ADMU4000I: Server dmgr stop completed.
    
    INSTCONFSUCCESS: Success: The profile no longer exists.
    INSTCONFSUCCESS: Success: The profile no longer exists.
    []
    Stopping and removing existing default profiles - complete!
    Create Deployment manager profile? [y/n]
    
    
  4. Type ‘y‘ if you want to use our initial script to create Deployment manager profile and hit [return]. You should see the following output ( We strongly advise use of elastic IP address ):
    Set Dmgr host name. Defaults to current public hostname of the instance: ec2-34-230-60-130.compute-1.amazonaws.com
    Recommended to use elastic ip address. Note that changing ip address of the instance will break the Websphere server profiles connectivity, so you will be prompted on the next login whether you want to reassign a new hostname to WebSphere services.
    
  5. Set Cell ID, Starting Port, Username, Password and Profile name. For all the questions listed here, we just accept the default. Once the Deployment Manager profile creation starts, you should allow up to 15 minutes for it to complete.
    Set cell id. Defaults to 'cell01'
    Set starting port. Dmgr will get a range of ports for the interfaces starting from this number. Defaults to 9060
    Set admin username. Defaults to 'wasadmin'
    Set admin password. Defaults to 'wasadmin'
    Set profile name. Defaults to 'Dmgr01'
    Creating deployment manager profile may take a few minutes, please be patient...
    
  6. You should see the following output following Dmgr creation:
    Profile creation finished, see output in /root/wasinstall_bespoke_dmgr.log.
    
  7. You will now be prompted whether to create a node agent profile. In this example we again type ‘y‘ and hit [return]. Accept the default of the instance IP address or enter a different one. Again, we strongly advise use of elastic IP address.
    Create node agent profile? [y/n]
    y
    Set node agent host name. Defaults to current public hostname of the instance: ec2-34-230-60-130.compute-1.amazonaws.com
    
  8. Set Cell ID, Starting Port, Username, Password and Profile name. For all the questions listed here, we just accept the default.
    Set starting port. Node agent will get a range of ports for the interfaces starting from this number. Defaults to 9160
    Set cell id. Defaults to 'cell01'
    Set admin username. Defaults to 'wasadmin'
    Set admin password. Defaults to 'wasadmin'
    Set profile name. Defaults to 'Appsrv01'
    Set deployment manager host. Defaults to current public hostname of the instance: ec2-34-230-60-130.compute-1.amazonaws.com
    Set Dmgr SOAP connector port. Defaults to 9063
    Creating node agent profile may take a few minutes, please be patient...
    
  9. You will be asked for the Deployment Manager to federate this node agent into. In this example we’re using the local one we just created, but this could just as easily be another AWS instance. Once the Node Agent profile creation starts, you should allow up to 15 minutes for it to complete.
    Set deployment manager host. Defaults to current public hostname of the instance: ec2-34-230-60-130.compute-1.amazonaws.com
    Set Dmgr SOAP connector port. Defaults to 9063
    Creating node agent profile may take a few minutes, please be patient...
    
  10. You should see the following output following Node Agent creation:
    Profile creation finished, see output in /root/wasinstall_bespoke_nodeagent.log.
    
  11. 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-380002a3
  12. Open required firewall ports on Red Hat Linux firewall. Select ‘y’ and hit [return].
    Open firewall ports for RapidDeploy and WebSphere Application Server Network Deployment (default port 9090 and 9060 9160 9043 9044) [y/n]?
    y
    Opening default web UI ports for WebSphere and RapidDeploy.
    Open firewall port 9090
    iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]
    Open firewall port 9060
    iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]
    Open firewall port 9160
    iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]
    Open firewall port 9043
    iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]
    Open firewall port 9044
    iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]
    Type port number to open. Type 'process' to open all ports used by WebSphere, type 'all' to open all ports, type 'exit' to finish.
    process
  13. Open required firewall ports on Red Hat Linux firewall.  Type ‘process’ to open all ports used by WebSphere and hit [return].
  14. You should see ports list of ports being opened. Type ‘exit’ to leave this section and the wizard. The correct URLs to access the WebSphere server are displayed.
    Configuration finished, you may now start using RapidDeploy services and other software. Web user interfaces are available on :
    
    WebSphere: ec2-52-91-9-147.compute-1.amazonaws.com:9060/ibm/console (admin agent credentials: [your_username]/[your_password])
    RapidDeploy: ec2-52-91-9-147.compute-1.amazonaws.com:9090/MidVision
  15. You can log in to WebSphere console with the username and password you set in step 5, in our case using the default answers this will be ‘wasadmin‘ using ‘wasadmin‘ as password.

4. Accessing the Command Line & Web Consoles

4.1 Access the IBM WebSphere Application Server Admin Console

You should now be able to access the WebSphere AdminConsole, at the URL specified below.

http://[publicip]:9060/ibm/console
You can log in to WebSphere console as “wasadmin” using your ‘[instance-id]‘ as password.

You should now be able to access the WebSphere AdminConsole, at the URL specified below.

http://[publicip]:[your_dmgr_starting_port]/ibm/console
You can log in to WebSphere console with the credentials you chose in the wizard.
 
If you accepted the default answers in the setup wizard, the URL will be:
http://[publicip]:9060/ibm/console
and the Username/Password is ‘wasadmin‘/’wasadmin

4.2 Subsequent logins via SSH to the instance

When logging into the instance after the first time, you will be asked if you need to reassign the bound hostnames in the IBM WebSphere configuration. You will only need to do this if you have not used the default (localhost) configuration and have not used elastic IP addresses in bespoke configuration, and you have stopped and started your instance.

In this situation, your instance will probably get a new IP address, whereas the IBM WebSphere configuration still references the old host name of the instance in the deployment manager and node agent profile configurations.

In order to fix this issue, you can run the setuphost.sh script provided in the midvision user home directory, which will search and replace for the old host name occurrences in the configuration files. See the section below for detailed instructions running setuphost.sh

4.3 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.

[midvision@ ] 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.
  • midvision: This is the default user, 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 midvision
  • 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.

The IBM WebSphere Application Server Network Deployment Admin Console is initially configured so that you can log in to WebSphere console as “wasadmin” using your ‘[instance-id]‘ as password.

You can further configure WebSphere security in the normal way according to your requirements. However you should pay attention to some AWS specifics covered on this page.

You can use the managewas.sh in the midvision home directory to stop and start profiles (Deployment Manager and/or Node Agent) on your instance. The script takes the argument ‘stop‘ or ‘start’. It will detect all profiles and perform the action on each profile in turn. For example:

sudo /home/midvision/managewas.sh stop

You can open the necessary ports quickly using the setup wizard.  To re-run this section of the wizard, from the midvision home directory run:

sudo /home/midvision/openwasports.sh

There is an option to open all ports used by IBM WebSphere services, by entering ‘process‘ input. Alternatively, you can choose to open all ports on the instance by entering ‘all‘ input. If you are creating a distributed cell over multiple nodes, we strongly recommend you don’t try to estimate which ports should be opened, but select the ‘process’ option, which will open all the required ports to ensure node agent synchronisation will work correctly. Port opening options:

  • <port number> – Open this port. Multiple ports can be entered, separated by pressing the ‘[return]’ key.
  •  ‘process’           – Open all WebSphere ports for all WebSphere processes detected on the instance.
  • all’                    – Open all ports on the instance (effectively remove the firewall).
  • exit’                  – Exit the port opening script.

You can re-run the first run setup wizard at any time by issuing the following command:

sudo /home/midvision/firstrunsetup.sh

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/midvision), which is also the starting location when logged in. You will need to be the root user to run this script. Example usage:

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

WE RECOMMEND USING THE DEFAULT CONFIGURATION OR AN ELASTIC IP ADDRESS DURING BESPOKE CONFIGURATION TO AVOID PERFORMING THESE OPERATIONS ON EACH RESTART

If you restart your instance(s) and are using a bespoke configuration and have not assigned elastic IP addresses, your instance(s) will probably get new IP address(es), whereas the IBM WebSphere configuration still references the old host name of the instance in the deployment manager and node agent profile configurations. In order to fix this issue, you can run the setuphost.sh script provided in the midvision user home directory, which will search and replace for the old host name occurrences in the configuration files. See the section below for detailed instructions running setuphost.sh

sudo /home/midvision/setuphost.sh

Example changing IP addresses in a distributed system

Please see below for the example steps for the case where a Deployment Manager and remote Node Agent instance are both stopped and restarted without an elastic IP address: Take a note of the four IP addresses: the original deployment manager host (referred as oldDmgrHost), the original node agent host (ref oldNodeagentHost), the current deployment manager host (ref newDmgrHost), the current node agent host (refnewNodeAgentHost)

  • Record [oldDmgrHost] and [oldNodeagentHost] addresses
  • Start DMGR instance – get a [newDmgrHost] instance address
  • Login to Dmgr instance – You will be prompted for [oldDmgrHost] and [newDmgrHost] host to replace. Answer and run.
  • Start NodeAgent instance – get a [newNodeAgentHost] instance address
  • Login to NodeAgent instance – You will be prompted for [oldNodeagentHost] and [newNodeAgentHost] host to replace. Answer and run.
  • On Dmgr host , run sudo ./setuphost.sh, entering the [oldNodeagentHost] and [newNodeAgentHost]
  • On NodeAgent host, run ./setuphost.sh, entering the [oldDmgrHost] and [newDmgrHost]
  • Restart the NodeAgent
  • In the AdminConsole, run a full resynchronise from System Administration -> Nodes -> Select the nodes and click “Full resynchronise

There are a few scripts and other files in midvision and root users home directory, which will need to remain unchanged in order to keep the provided scripts working. Files are placed under /root/WAS_install are required to create the IBM WebSphere profiles. 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 5.0.4. RapidDeploy home is located at /var/rd/midvision Example usage:

[midvision@ ] sudo service rapiddeploystart start 
[midvision@ ] 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 Profile startup exceptions

If the profile fails to start with the startmanager.sh or startnode.sh commands, check that you are running as the root user, either by being in a root shell, or by prepending ‘sudo’ to the start command.

6.3 Cannot access the IBM WebSphere 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.4 Contacting MidVision support

Please visit our support website.

7. Reference

7.1 Creating a Deployment manager profile

You will be prompted to enter the following values, or accept the defaults:

  • dmgrHostName: the host name binding for the deployment manager profile. This resource has a default value of the current public host name of the instance. You are strongly recommended to assign an elastic IP address for the instance before proceeding with the deployment manager profile creation.
  • cellID: the id of the WebSphere cell containing the profile
  • startingPort: the WebSphere service ports will be incremented from this number, assigning each unused ports to the WebSphere services.
  • profileName: the name of the profile to create

7.2 Creating a Node agent profile

You will be prompted to enter the following values, or accept the defaults:

  • nodeAgentHostName: the host name binding for the Node Agent profile. This resource has a default value of the current public host name of the instance. It is strongly recommended to assign an elastic IP address for the instance before proceeding with the node agent profile creation.

  • nodeAgentStartingPort: the WebSphere service ports will be incremented from this number, assigning each unused port to the WebSphere services.

  • nodeAgentCellID: the id of the WebSphere cell containing the profile

  • nodeAgentAdminUserName: the username to authenticate against the deployment manager (if required)

  • nodeAgentAdminPassword: the password to authenticate against the deployment manager (if required)

  • nodeAgentProfileName: the name of the profile

  • dmgrHostName: the host name the deployment manager is running at. This resource has a default value of the current public host name of the instance. If necessary,change this to the hostname, IP or DNS of the remote Deployment Manager instance. Note that if you use a remote deployment manager host, you will need to make sure all the required ports are open on both machines.

  • dmgrPort: the deployment manager SOAP connector port to connect to for the purposes of federation and subsequent synchronisation.