FCSDK Install on AWS

Introduction

This document describes the considerations for running CaféX FCSDK on AWS. Before moving forward with AWS we should consider the following article http://bloggeek.me/aws-webrtc-hosting/ as this results overprovisioning to combat the resource issues, which in turn push up the costs.

FCSDK running on aws, we just need to be very careful to correctly provision capacity with sufficient overprovision of ECU’s and network bandwidth/priority. 

Options

We would strongly suggest that for best results in a production environment that we use a VPC. Details of the options and their considerations are below.

EC2

Amazon Elastic Compute Cloud (EC2) is not recommended at all for CaféX FCSDK as it does not support our recommended deployment. However the product will work in this environment if the following considerations are understood:

  • IP Changes with power off and on of Instance, which will require a product reinstall and manual configuration upon each power on
  • Recommended architecture not realistically possible (MB in DMZ, GW in Green Zone) and all are publically addressable
  • SIP Interop could be problematic
  • Overprovision required by at least 50% for acceptable performance

VPC

Amazon Virtual Private Cloud (Amazon VPC) is our preferred deployment option for AWS as it supports our recommend deployment architecture, further details can be found here.

http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario3.html

However the following items should be considered:

  • Overprovision required by at least 50% for acceptable performance
  • SIP interoperation supported by VPN tunnel which adds additional overhead’s to the bandwidth/latency requirements

OS Customisation

Covers the install of the Environment (VM) and FCSDK onto the BE6K’s VMware Platform.

Environment Install

Java 7.* tar.gz Downloaded from Oracle http://www.oracle.com/technetwork/java/javase/downloads/index.html?ssSourceSiteId=otnjp listed as the JDK. At the time of writing the current version was jdk-7u55-linux-x64.gz

Deploying Instance

As a minimum instance a c3.xlarge from the On-Demand instances would be suggested and using the RHEL AMI or more preferable using a dedicated instance c3.8xlarge. Pricing and specification details are available here https://aws.amazon.com/ec2/pricing/ for the ON-Demand and here https://aws.amazon.com/ec2/purchasing-options/dedicated-instances/ for Dedicated Instances.

Create instance following the details outlined here for:

EC2 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html

VPC http://docs.aws.amazon.com/AmazonVPC/latest/GettingStartedGuide/ExerciseOverview.html

Note the security group assigned to the instances needs to have the following ports opened. Some of these ports can be restricted to specific sources if required, assuming default ports.

Protocol

Port

Description

TCP

22

Allow SSH Connections

TCP

8080

Allow HTTP

TCP

8443

Allow HTTPS

TCP

9990

Allow FAS Management (HTTPS)

UDP

16000

Allow WEBRTC Media Port

UDP

17000-18000

Allow SIP Media Ports (only for SIP interoperation)

UDP & TCP

5060 & 5061

Allow SIP Signalling Ports (only for SIP interoperation)

UDP & TCP

5080 & 5081

Allow SIP Signalling Compatibility Ports (only for SIP interoperation)

Furthermore if you have a multi-box AWS solution then TCP port 8092 should also be open for the FAS/MB communication link.

Install and Configure VM’s Dependencies

Connect to the VM using a SSH client

Details are available in AWS documentation

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-connect-to-instance-linux.html

Connect to the vm with a sftp client (example is using WinSCP)

Details are available in AWS documentation

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html

 

Installing Java

Navigate to /opt

Copy in the downloaded java JDK file e.g. jdk-7u55-linux-x64.gz, normally completed by drag and dropping the file from the local file system into the right hand window of WinSCP

Switch windows back to the ssh client (putty in the example) and type the following to install java

cd /opt

yum remove java -y

tar -C /opt/ -xvzf jdk-7u55-linux-x64.gz

ln -s /opt/jdk1.7.0_55/ /opt/java

echo export "JAVA_HOME=/opt/java" >> /etc/profile.d/java.sh

echo export "PATH=\$PATH:\$JAVA_HOME/bin" >> /etc/profile.d/java.sh

 

Test that java is installing and working correctly

java –version

Install additional packages

yum install -y pango libXv libxm2 wget unzip

Turn off iptables

service iptables stop

service ip6tables stop

chkconfig iptables off

chkconfig ip6tables off

Disable SE Linux

vi /etc/selinux/config 

Edit the line

SELINUX=enforcing

Change to (hint i for insert mode then curser keys navigate and back space to remove characters)

SELINUX=disabled (hint type in disabled)

Write out and close the file (hint esc :wq return) Note: please consult a vi man page regarding vi navigation.

DNS Configuration

Set the hostname on the vm to the chosen DNS address

vi /etc/sysconfig/network

Add or edit (hint i for insert mode then curser keys navigate and back space to remove characters)

HOSTNAME=“FQDN”

Write out and close the file (hint esc :wq return) Note: please consult a vi man page regarding vi navigation.

Set the hosts file to allow local resolve of the hostname

vi /etc/hosts

Add or edit a line so the box looks up its hostname to the local ip

192.168.17.49 fcsdkbe6k.cafex.com fcsdkbe6k

 (hint i for insert mode then curser keys navigate and back space to remove characters)

Write out and close the file (hint esc :wq return) Note: please consult a vi man page regarding vi navigation.

Note: you must setup dns address in your DNS infrastructure.

Reboot the VM

FAS Install

Please refer to “Installing FAS” guide available with your software release from the download server https://download.cafex.com

FCSDK Install

Please refer to “Installing FCSDK” guide available with your software release from the download server https://download.cafex.com

Configuration

Please consult the FCSDK or FAS Documentation

Troubleshooting

Please consult the FCSDK or FAS Documentation

 

 

 

 

Comments are disabled on these articles if you require help contact support@cafex.com.

Have more questions? Submit a request

Comments

  • Avatar
    Kris

    Nice work guys! AWS is asked for all the time.

  • Avatar
    Kris

    To reiterate caution of using AWS, while we have had some success. Some industry experts feel that AWS is woefully insufficient for real-time media. For example, http://bloggeek.me/aws-webrtc-hosting/

Powered by Zendesk