Skip to main content

Cloud

Configuring Amazon EC2 for WebCenter

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.

Key Pair

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.

 

Instances

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 (11.1.1.8.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.

Configuration Instance Details
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
Public IP “unchecked”
IAM role None
Shutdown behavior Stop
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.

Security Groups Used in the VPC Instances
Purpose Group name
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.

Instance Names
Name Type
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’.

 

Load Balancer

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)

Listener configuration
field value
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 configuration
field value
Ping Protocol http
Ping Port 7777
Ping Path /healthcheck.html
Response Timeout 5
Health Check Interval 30
Unhealthy Threshold 2
Healthy Threshold 10

 

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.

Thoughts on “Configuring Amazon EC2 for WebCenter”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Andre McMillan

Andre McMillan is a Lead Technical Consultant within the Oracle Technology Group at Perficient, Inc. where he is responsible for the technical architecture, design, implementation, and customization of Oracle middleware based solutions for Perficient clients, with a focus on WebCenter Portal, WebCenter Content, and Oracle Cloud.

More from this Author

Categories
Follow Us