Using the Blackboard Learn AMI for REST and LTI Development

Document created by scott.hurrey on Nov 16, 2017Last modified by rh0068002 on Mar 12, 2018
Version 25Show Document
  • View in full screen mode

This document outlines usage of the Blackboard REST and LTI Developer AMI made available via the Amazon AWS Marketplace.





The Blackboard REST and LTI Developer Amazon Machine Image ("AMI") is an image of a Blackboard Learn server available in the Amazon Marketplace. The AMI allows a developer to spin up a copy of Blackboard Learn for building applications that use the REST APIs and/or Learning Tool Interoperability ("LTI") to integrate with Learn. This image is a standalone copy of the SaaS deployment of Blackboard Learn that allows development and testing against the Ultra user experience. Once the developer spins up the copy of Learn, it lives in his or her AWS account and the developer has full control over the instance of Learn. All instances are pre-licensed with a developer license that expires two years from the date of creation. New developer AMIs will be made available in the same cadence as SaaS releases.


This program allows a developer to build an integration for Blackboard Learn without a formal paid partnership. Anyone who wants to test the Ultra experience can create copy. Note that you cannot deploy a custom building block to this AMI. It is meant only for REST and LTI development.


Get the Blackboard REST and LTI Developer AMI

The easiest way to find the D\developer AMI is by searching the Amazon Marketplace for Blackboard Learn. The results show all of the currently available AMIs. Given the cadence or releases, you should locate the Learn instance you want.


Use the Blackboard REST and LTI Developer AMI

Before you begin, you must have an Amazon AWS account. If you do not have an AWS account you will need to create one. The steps to set up an AMI are typically as follows.

  • Subscribe to the AMI
  • Configure the specific instance
  • Spin it up and code!


When configuring the instance, it is completely up to you how you set up the server. We do have a few recommendations, however.

  1. We recommend using the Medium Tier instance type. This gives you enough storage and power to run Blackboard Learn effectively and build your cool widget.
  2. We recommend you adjust the security settings to allow:
    • SSH from your IP only
    • Enable HTTPS access
  3. You must configure VPC for the EC2 to properly function. You do this by going to the VPC Console from the AWS Console:
    1. Under Services open VPC under Networking and Content Delivery
    2. Open Your VPCs
    3. select the VPC connected to your EC2 and
    4. select Actions => Edit DNS Hostnames ---> Change DNS hostnames: to YES


Support for Let's Encrypt SSL Certificates

Starting with version 3300.6.0 the Learn for REST and LTI Developers AMI supports free Let’s Encrypt SSL Certificates. At this time we do not support alternative SSL certificate processes.

     - you may read about Let’s Encrypt at Let's Encrypt - Free SSL/TLS Certificates

     - you may read about certbot at Certbot

     - you may read about how to get a free DNS at Free Dynamic DNS - - Managed DNS Services



After starting your AMI there are a few steps to installing and using Let’s Encrypt Certificates. After installing the certificate, management of the Let’s Encrypt SSL certificate is automatic.

  1. Register the AWS provided EC2 public IP to your DNS as an A-record. The best practice as an introduction is to use a free DNS service such as to provide the FQDN used for your Learn EC2.
  2. Use the EC2 Security controls to open HTTP as an inbound security rule - you should have HTTP, HTTPS, and SSH (from your console IP) enabled at this point.
  3. SSH to your EC2 instance and create a file containing your FQDN from and your email address and save to /home/ubuntu/my_ssl_config. The format of this file is important and should follow the example below. The file contains only two lines specifying the key and value pairs used to configure the Let's Encrypt process, e.g.:

               ssldomain :

               sslemail :

  4. SSH to your EC2 instance and from the command line reboot the instance using the command $ sudo reboot now

       On reboot the server will generate your Let’s Encrypt SSL certificate, on future reboots or restarts the server will check whether the certificate requires renewal.


Warning: When you stop and start an existing EC2 instance, AWS resets the public domain name and IP - you must update your DNS entry to reflect the new IP.

Warning: Let's Encrypt has a limit of 20 certificate requests on a domain per week. Repeated stop and starts of an AMI using the same domain may exceed the Let's Encrypt request limit, requiring you to provide a new domain name.

What does the Blackboard REST and LTI Developer AMI cost?

The Open Innovation Initiative was created to lower the cost of entry for developing software solutions on the Blackboard Learn platform. This is accomplished by removing the previous Partner program costs and replacing those partner program costs with low hourly AMI usage costs. This enables you the developer to control your costs for prototyping your applications and entering the education software market.


Use of the Developer AMI will result in two charges being made to your account:

  1. An AWS Infrastructure charge
    This charge is based on the EC2 instance type selected to run the AMI and varies based on the instance type size and region. An example is $0.0464/hr for a t2.medium instance served from
  2. Software charge
    A Software charge of $0.05/hr (US dollars) is added to the AWS infrastructure charge.


If you have any questions, feel free to ask in this space or email us at


Log into the Blackboard Learn™ Application on the AMI

The username is administrator. The password is the instance ID, e.g., i-234234234234. If you look at the log created when you spin it up it is also printed there. You can find the log from the EC2 console.


Configure Your AMI-based Blackboard Learn Instance

When you set up your instance of Blackboard Learn, you can configure different options. These options are discussed in Enable Learn Tool Interoperability (LTI) Links and Text.


3 people found this helpful