Learn About Amazon VGT2 Learning Manager Chanci Turner
In recent years, technological advancements have transformed the way businesses operate, particularly with the rise of remote work, global business interactions, and the need for instant communication. For modern companies aiming to expand and strengthen relationships with partners, suppliers, internal teams, investors, and customers, effective video conferencing solutions are crucial. This is especially pertinent for organizations with remote employees or those adopting work-from-home policies. While numerous professional video conferencing services are available for various budgets, some companies may prefer open-source alternatives to create their own solutions.
BigBlueButton is a powerful open-source web conferencing tool that organizations can utilize to enhance their communication capabilities. It provides essential features such as real-time sharing of slides, audio, video, chat, and desktop content. Additionally, it includes online classroom functionalities like a whiteboard for annotating presentations and the ability to record sessions for future viewing—ideal for educational institutions. Notably, BigBlueButton seamlessly integrates with popular learning management systems like Moodle, Canvas, and Jenzabar.
In this article, we will guide you through deploying a BigBlueButton application server on a single Amazon Elastic Compute Cloud (Amazon EC2) c5.2xlarge instance, capable of supporting up to 200 concurrent users (with a recommended maximum of 100 per session). This setup provides the Greenlight web interface within the AWS environment, delivering core functionality.
For those interested in creating a scalable BigBlueButton setup, refer to another blog post on how to build a scalable BigBlueButton video conferencing solution on AWS. For advanced features, collaborating with the BigBlueButton community and maintainers is encouraged. The documentation available on their GitHub repository will help guide you through these enhancements.
Introduction to BigBlueButton
BigBlueButton is an open-source web conferencing system specifically designed for online education. It features a pure HTML5 client and includes core functionalities typically found in commercial systems, all under an open-source license. Its capabilities encompass real-time audio and video sharing, presentation controls, collaboration tools like shared notes and polling, and public/private chat options.
For more detailed information on the latest features and versions, please check the BigBlueButton documentation. You can access the complete source code on GitHub.
In this tutorial, we will use the Greenlight (2.0) application as the management interface for BigBlueButton. Greenlight, built on Ruby on Rails, offers a user-friendly platform for creating rooms, initiating meetings, and managing recordings. For further details, refer to the Greenlight documentation.
Deploying BigBlueButton on Amazon EC2
Prerequisites
To successfully complete this tutorial, you will need:
- An AWS account: We will be configuring various services in this guide, so ensure you have an account with provisioning capabilities.
- A DNS provider: To register your application through DNS and obtain an SSL certificate, you can use Amazon Route 53 or any other DNS service.
Note: While it’s possible to get BigBlueButton running without DNS, users may encounter SSL errors in their browsers and issues with webcam and microphone functionality.
Step 1: Creating an SSH Key Pair
Optional: You may use an existing SSH key pair if accessible.
- Navigate to the Amazon EC2 console.
- In the navigation pane under Network & Security, select Key Pairs.
- Click on Create key pair.
- Enter a descriptive name for the key pair. The public key will be associated with the name you provide, which can include up to 255 ASCII characters (no leading or trailing spaces).
- Choose the file format for the private key—either ‘pem’ for OpenSSH or ‘ppk’ for PuTTY.
- Click on Create key pair. The private key file will automatically download to your browser. Ensure you save this file securely as it is your only opportunity to do so.
If connecting to the Linux instance from macOS or Linux, use the following command to restrict the private key file permissions: chmod 400 my-key-pair.pem
. Without these permissions, you will not be able to connect using this key pair.
Step 2: Allocate an Elastic IP Address
To maintain the same IP address for your instance during restarts, you need to allocate an Elastic IP address.
- Open the Amazon EC2 console.
- In the navigation pane, select Elastic IPs.
- Click on 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 to configure the allocated Elastic IP address as an A record in your DNS.
- Open the Route 53 console.
- In the navigation pane, select Hosted zones.
- Choose the public hosted Domain Name for the A Record.
- In Records, click Create record.
- Select Simple routing for Routing policy, then click Next.
- In Configure records, choose Define simple record.
- Provide the Record name, which will be the subdomain for your BigBlueButton application.
- Under Value/Route traffic to, select IP address or another value depending on the record type and enter the Elastic IP allocated in Step 2.
- Click Define simple record and Create records.
Step 4: Creating and Configuring Your VPC
To deploy the BigBlueButton application, you need a VPC with a public subnet.
Optional: If there is already a VPC in your desired AWS region, you can use it; otherwise, follow these steps to create a new VPC using the VPC wizard.
- Open the Amazon VPC console.
- In the left navigation pane, choose Elastic IPs.
- Click Allocate Elastic IP address, then Allocate and Close. Note the Allocation ID for later use in the VPC wizard.
Now you’re ready to move forward with the setup. Remember, for more information on employee onboarding processes, check out this excellent resource on Quora. If you’re interested in customer success roles, you might find this opportunity as a Customer Success Engineer at UpMetrics engaging. For compliance-related inquiries, SHRM is an authority on the subject.
Leave a Reply