This post is the second in a series of three related to the implementation of Oracle WebCenter in the Amazon Web Services (AWS) Cloud. In the first post, I covered the steps for configuring the Amazon Virtual Private Cloud (VPC). In this post, I’ll cover the Elastic Compute Cloud (EC2).
Elastic Compute Cloud (EC2) Setup
Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizeable computing capacity (i.e.: virtual servers) in Amazon’s data centers. These virtual severs are known as Amazon EC2 instances. You will create and launch the EC2 instances required to host the WebCenter system.
On the dashboard screen, click on the EC2 icon.
Public key cryptography uses a public key to encrypt a piece of data, then a private key to decrypt it. Amazon EC2 uses public key cryptography to encrypt and decrypt login information to its instances.
If a key pair already exists and can be used for this exercise, skip this section and go to the next topic, Instances. Otherwise, proceed with this section.
You will create a public and private key pair to secure all instances used in you WebCenter configuration. Click on the ‘Key Pairs’ link then click ‘Create Key Pair’. I named my key pair ‘webcenter’, but you can name it whatever you like. Click the ‘Create’ button.
Amazon EC2 stores the public key only. You’ll be prompted to save the private key file to your local machine. You will need this private key to log in to the SSH session on the Linux/Unix instances you will create. Anyone who possesses the private key can decrypt the login information, so it’s important to store this and all private keys in a secure place.
You will create 3 types of instances to support the enterprise deployment:
- Web tier instances
- WebCenter application tier instances
- Database tier instances
Therefore, you will run through the instance creation process three times, once for each type. To create instances, click the ‘Launch Instance’ button in the ‘Create Instance’ section of the dashboard page.
Step 1. Chose the Amazon Machine Image (AMI). Click ‘Community AMIs’ then search for Oracle Linux AMI ‘ami-d30a3dba’. You can use this AMI for all instance types for your WebCenter 11g (18.104.22.168.x) installation
** Or another option is to choose ‘Red Hat Enterprise Linux 6.5 ‘ 64 bit’ from the list of available Amazon Machine Images (AMIs) in the quick start tab.
Step 2. Chose the appropriate AWS instance type. Use the following guide according to Oracle’s published typical hardware requirements for an Enterprise Deployment on Linux:
- Web tier instances: 4GB min
- WebCenter application tier instances: 10GB min
- Database tier instances: 8GB min
Amazon’s general purpose m3.xlarge instance type might be a suitable choice for the DB an App instances, but it’s best to perform the appropriate capacity planning to determine the number of CPUs and memory requirements depending on the system’s anticipated load, throughput and response requirements. Click ‘Next: Configure Instance Details’ to continue.
Step 3. Configure instance details. Update the form according to the table below, then click ‘Next: Add Storage’. As you can see, I am creating two instances for each type. You may want to follow my approach, or just create one and build snapshots to create additional instances of each type.
|Type||Web tier instances||WC app tier instance||DB tier instances|
|Number of instances (2 or more for high availability)||Create at least 2 instances of each type to achieve high availability.|
|Network||Your VPC, in my case it’s “OracleTechVPC”|
|Subnet||Your web tier subnet||Your app tier subnet||Your DB tier subnet|
|Enable termination protection||“checked”|
Step 4. Add storage. You can set the root volume according your overall size requirements. Or as an alternative, you may want to create a small root volume and add a new EBS volume according to your size requirements. In this scenario the root volume would only be used for OS files and temp folders while the second volume would be home to the Oracle applications and their data. If you choose this path you’ll need to take note of the additional volume’s device name, you’ll need it when preparing the host. Click ‘Next: Tag Instance to Continue’.
I encourage you to review and consider Oracle Maximum Availability Architecture White Paper on WebLogic Shared Storage Best Practices before creating your volumes.
Step 5. There’s no requirement to tag instances, however, For administrative purposes I tagged mine for the environment to which they belong. Click ‘Next: Configure Security Group’ to continue.
Step 6. Configure the security groups. Click the ‘existing security group’ radio button then select two groups: select the first based on the type of instance you are creating (web, app, or DB), and for the second select ‘SSH’. You’ll need the SSH group applied to install the software. It can be removed once the install is complete and the environment hardened. I used the following names, but you can name them whatyever you like.
|Web tier instances||OHSWeb|
|WebCenter Application tier instances||WCApp|
|Database tier instances||DB|
Step 7. Review before launching. You’ll be notified that the instances are not free (the instance selected in this exercise cost $0.54/hour at the time this post was written). Go ahead and launch the instance.
You’ll need a key pair to be able to securely SSH to your instance. For all the instances you created for this application, select the key pair you created in the previous section of this post, then launch the instance.
Next you’ll see the ‘Launch Status’ screen where you’ll be notified that X number of instances are launching. Click the instance ID link to see the details of your new instance(s).
Notice that the instances have not been named. For each of them, click on the name field and name appropriately. I used the following, but you can used whatever you wish.
|WebCenter OHS01||Web tier instance|
|WebCenter OHS02||Web tier instance|
|WebCenter App01||Application tier instance|
|WebCenter App02||Application tier instance|
|WebCenter DB||Database tier instance|
Click the ‘Elastic IPs’ menu option, highlight one of the EIPs you created previously, then click the ‘Associate Address’ button. Select one of the instances you just created then click ‘Associate’. Repeat this for each instance.
Note: You’ll see the private IP address that AWS created for this instance and that it fits in the range associated with its subnet. Unlike classic EC2, a VPC will always associate the same private and elastic IP with this instance each time the system is stopped and restarted.
With all the Elastic IPs associated, click on the ‘Instances’ link in the left side menu. You should see your new instances listed with instance state shown as ‘running’.
As shown in the Architectural Overview, the web tier is front ended by a load-balancer which automatically distributes incoming web traffic across multiple EC2 instances running OHS. To create the load balancer click ‘Load Balancer’ on the EC2 dashboard then click the ‘Create Load Balancer’ button. Give your load balancer a name, and create it in your Oracle WebCenter VPC. Configure the listeners by specifying the protocol and port for the front end connection (client to load balancer) and back-end (load balancer to OHS instances)
|Load Balancer Protocol (client to load balancer)||http|
|Load Balancer Port (client to load balancer)||80|
|Instance Protocol (load balancer to OHS instances)||http|
|Instance Port (load balancer to OHS instances)||7777|
Configure the health check. If necessary, change the advanced details defaults. I used the following:
|Health Check Interval||30|
Select the subnet associated with your Web Tier
Assign the security group associated with the load balancer.
Add the Web Tier EC2 Instances to the load balancer.
No tags are required
Review the settings then click ‘Create’ to finish the process.
You will see your new load balancer listed in load balancer screen. Of course none of the instances will be in service as the webservers haven’t be installed with the required software, and the health check file hasn’t been created. You’ll complete that step as part of the software installation process.
At this point all the required EC2 instances have been create and exist in your Virtual Private Cloud. Now you can begin the respective Oracle software installation processes on each of the EC2 machines types. In my next post I’ll cover the setup of Amazon’s Route 53. You’ll use it to provide a friendly DNS name to your WebCenter system and to provide secure and reliable routing to the Amazon Elastic Load Balancer you just created.