Creating a custom Windows image in AWS

To create a custom Amazon Machine Image (AMI) for Windows, first manually launch an Amazon EC2 instance with a base Windows image. Then, customize the instance by installing IBM® Spectrum Symphony.

Before you begin

  • At least 30 GB of disk space is required to provision an EC2 instance with IBM Spectrum Symphony installed. Ensure that the EC2 instance has the required EBS storage.
  • For Spot instances, only a subset of AWS base images are allowed for custom images. To check which base images are available for use, go to EC2 > Spot Requests and click Request Spot Instances.
  • If your cluster is a mixed environment that contains a combination of Linux® hosts, see Configuring a mixed operating system cluster.

Procedure

For instructions on creating an EC2 instance, see Getting Started with Amazon EC2 Windows Instances

  1. Use the key file (keyfile.pem) to obtain the administrator password and log on to the instance that you created through Remote Desktop. For more information, see Connecting to Windows instances.
  2. Create a separate Windows account for the cluster administrator (for example, symadmin). It is recommended that the Administrator user account is not used.
  3. Update the C:\Windows\System32\drivers\etc\hosts file on the EC2 host to add the IP addresses and host names of the primary host and primary host candidates in your IBM Spectrum Symphony cluster.
    If the ego.conf file in your cluster uses a short name for the primary host, add the short name of the host as well. For example:
    192.0.2.0 winprimary.mycompany.com winprimary

    If an external DNS is not available, you can configure the ServiceDirector in IBM Spectrum Symphony as an internal DNS server (see Running IBM Spectrum Symphony without external DNS).

  4. Copy the IBM Spectrum Symphony Windows package (for example, sym-version.exe) to the EC2 host.

    While you can copy the .exe installation package and install IBM Spectrum Symphony using a guided wizard, installation might take an extended period of time. You can reduce installation time by performing a silent installation, which involves extracting .msi files from the .exe installation package as follows:

    1. Run the command to extract .msi files from the IBM Spectrum Symphony .exe installation package:
      sym-version.exe --extract extract_dir

      where extract_dir specifies the absolute path to an existing directory where the files are extracted.

    2. Copy the egocore-version.msi and soamcore-version.msi files to the EC2 host.
  5. Install IBM Spectrum Symphony either interactively or silently.

    For instructions on interactively installing IBM Spectrum Symphony on a Windows compute host, see Installing on a Windows compute host. For a silent installation, complete the following steps:

    1. Set the following environment variables based on your cluster setup:
      • MASTERHOST: Specify the host name of your IBM Spectrum Symphony primary host. For example:
        set MASTERHOST=winprimary.mycompany.com
      • EGO_TOP: Specify the path to your IBM Spectrum Symphony installation directory. Default is C:\Program Files\IBM\SpectrumComputing. For example:
        set EGO_TOP="C:\Program Files\IBM\SpectrumComputing"
      • CLUSTERNAME: Specify the name of your cluster. Default is cluster1. For example:
        set CLUSTERNAME=MYCLUSTER

        If you chose a non-default value for your cluster during installation and are not sure of this value, in the %EGO_CONFDIR% directory, find the ego.cluster.* file, where * identifies the name of your cluster. For example, if your file is ego.cluster.MYCLUSTER, MYCLUSTER is the CLUSTERNAME value in your cluster.

      • CLUSTER_ADMIN: Specify the cluster administrator OS user account that you created in step 2 in the format domain\user_name. If you are using a local user, specify .\user_name. For example:
        set CLUSTERADMIN=.\symadmin
      • BASEPORT: Specify the base port for the cluster. Default is 7869. For example:
        set BASEPORT=14899

        If you chose a non-default value for your cluster during installation and are not sure of this value, in the %EGO_CONFDIR% directory, open the ego.conf file and look for the EGO_LIM_PORT line. The LIM port is the BASEPORT value in your cluster.

    2. Install the egocore-version.msi and soamcore-version.msi files in the specified order:
      msiexec /i egocore-version.msi /l*v install1.log /qn masterhost=%MASTERHOST% INSTALLDIR=%EGO_TOP% 
      CLUSTERNAME=%CLUSTERNAME% CLUSTERADMIN=%CLUSTERADMIN% BASEPORT=%BASEPORT%
      
      msiexec /i soamcore-version.msi /l*v install3.log /qn INSTALLDIR=%EGO_TOP%
  6. Configure the LIM service in IBM Spectrum Symphony.
    1. Set LIM to restart after a minute in case of initial failure to start. From the command prompt, enter:
      sc failure "LIM" actions= restart/60000/restart/60000// reset= 240
      sc failureflag "LIM" 1
    2. Disable automatic startup, so that all custom configuration defined in a post-provisioning script takes effect. With automatic startup, IBM Spectrum Symphony is started on the host before a post-provisioning script runs on it, preventing any configuration from taking effect. To disable auto startup, from the command prompt, enter:
      sc config "LIM" start= demand
  7. Edit the file C:\Program Files\Amazon\Ec2ConfigService\Settings\config.xml to enable the following settings:
    • Ec2SetPassword: Change this setting to Enabled to generate a random encrypted password each time you launch an instance.
    • Ec2HandleUserData: Change this setting to Enabled to create and execute user scripts on the first launch of an instance after Sysprep is run.
  8. Create an Amazon Machine Image (AMI) using this EC2 instance with IBM Spectrum Symphony preinstalled. Select the instance on the EC2 portal and click Actions > Image > Create Image.

What to do next

After creating your custom image, configure a post-provisioning script for greater flexibility in managing your configuration. See Configuring post-provisioning for AWS on Windows.