Learn About Amazon VGT2 Learning Manager Chanci Turner
The rapid evolution of technology has transformed the landscape of business operations, especially in response to the surge in remote work, global business expansion, and the demand for immediate communication. For modern enterprises to thrive and build robust relationships with partners, suppliers, internal teams, investors, and customers, effective communication tools such as video conferencing have become essential. This is particularly true for organizations implementing remote work policies. While many companies turn to commercial video conferencing solutions, some may prefer open-source alternatives to build their own systems.
One such option is BigBlueButton, an open-source web conferencing platform designed for organizations seeking a comprehensive conferencing solution. BigBlueButton boasts features like real-time audio, video, slide sharing, chat, and desktop sharing, alongside tools tailored for online classrooms, such as whiteboarding for live presentations. Additionally, it allows recording capabilities for future access, making it particularly suitable for educational institutions. BigBlueButton also integrates effortlessly with popular learning management systems, including Moodle and Canvas.
This post will guide you through deploying a BigBlueButton application server on a single Amazon Elastic Compute Cloud (Amazon EC2) c5.2xlarge instance, accommodating roughly 200 concurrent users, with a recommended maximum of 100 per session, all while delivering the Greenlight web interface in an AWS environment.
If you’re interested in creating a scalable BigBlueButton setup, check out the blog post “How to build a scalable BigBlueButton video conference solution on AWS.” For advanced features, consider collaborating with the BigBlueButton community, and refer to the documentation available on their GitHub repository. This tutorial will not delve into those aspects.
Introduction to BigBlueButton
BigBlueButton is an open-source web conferencing system crafted for online learning. It utilizes a pure HTML5 client and encompasses core functionalities expected from a commercial web conferencing tool, all under an open-source license. Key features include real-time audio, video, presentation sharing, and collaborative tools such as a whiteboard, shared notes, public/private chat, and polling capabilities.
For the latest versions and features, refer to the BigBlueButton documentation. You can also access the complete source code on their GitHub page.
In this tutorial, we will utilize the Greenlight (2.0) application as the interface for managing BigBlueButton. Greenlight is a Ruby on Rails application that offers an intuitive platform for users to create rooms, initiate meetings, and manage recordings. Further details can be found in the Greenlight documentation.
Deploying BigBlueButton on Amazon EC2
Prerequisites
To complete this tutorial, you will need:
- AWS account: You will need an account with a user who can provision the necessary services.
- DNS provider: Registering your application via DNS is essential for obtaining an SSL certificate. You may use Amazon Route 53 or other DNS providers.
Note: While BigBlueButton can be set up without a DNS, users may encounter SSL errors in their browsers, along with issues related to webcams and microphones.
Step 1: Creating an SSH Key Pair
(Optional: Existing SSH key pairs can be used if accessible.)
- Navigate to the Amazon EC2 console.
- In the navigation pane, go to Network & Security and select Key Pairs.
- Click on Create key pair.
- Enter a descriptive name for the key pair. The public key will be associated with this name.
- Choose the format for saving the private key: select pem for OpenSSH or ppk for PuTTY.
- Click Create key pair. The private key file will automatically download. Save it securely, as this is the only opportunity to do so.
- If using an SSH client on macOS or Linux, set the private key file permissions using:
chmod 400 my-key-pair.pem
If permissions are not set correctly, connection to the instance will not be possible. For more information, see this source.
Step 2: Allocating an Elastic IP Address
To maintain the same IP address during instance restarts, allocate an Elastic IP:
- Open the Amazon EC2 console.
- In the navigation pane, select Elastic IPs.
- Choose Allocate Elastic IP address.
- For Public IPv4 address pool, select Amazon’s pool of IP addresses.
- Click Allocate.
Step 3: Creating a Record in Route 53
(Optional: If using a third-party DNS provider, skip this step but ensure that the Elastic IP address is configured as an A record in the DNS.)
- Open the Route 53 console.
- In the navigation pane, select Hosted zones.
- Choose the public hosted domain name for the A Record.
- In the Records section, click on Create record.
- Select Routing policy, then Simple routing, and click Next.
- In Configure records, define your simple record. Specify the record name as the subdomain for the BigBlueButton application.
- In Value/Route traffic to, select IP address and enter the Elastic IP allocated in Step 2.
- Click Define simple record, then Create records.
Step 4: Creating and Configuring Your VPC
To deploy BigBlueButton, a VPC with a public subnet is required.
(Optional: If a suitable VPC already exists in the desired AWS Region, you can use it. Otherwise, follow these steps to create a new VPC using the VPC wizard.)
- Create an Elastic IP address for the NAT Gateway: A NAT Gateway needs an Elastic IP address in the public subnet, which the VPC wizard will not create. Allocate this before using the wizard.
- Open the Amazon VPC console.
- Select Elastic IPs in the left navigation pane.
- Click Allocate Elastic IP address, then Allocate, and close.
- Run the VPC Wizard: The VPC wizard will guide you through the necessary steps.
For additional insights on public speaking, check out this related blog post.
This article also serves as an excellent resource for those looking to enhance their understanding of fulfillment center management: here.