Introduction

This document details the procedure for creating an eagle-i institutional node as a virtual server (or instance) in the Amazon Elastic Compute Cloud (or EC2). Once created, the eagle-i node will operate entirely in the cloud. However, you will retain administrative responsibility over its operation and maintenance, and in particular, you will be responsible for running upgrade scripts when new eagle-i software is released. We do not expect these tasks to be complex, though basic Unix skills are desirable. This solution is ideal for institutions that want to evaluate eagle-i or participate in the eagle-i network but do not have easy access to a data center service. Naturally, the AWS service will incur operational costs (for pricing details, consult the AWS website).

The installation procedure is simple and does not require specialized technical skills. It will allow you to get an eagle-i node up and running in a short amount of time. For a production system, you may need to involve your IT department, in a limited way. 

What this is: an automated mechanism for instantiating an eagle-i node in the Amazon Cloud
What this is not: an SaS (Software as a Service) solution

1. Getting ready

Throughout this procedure, you will be using the AWS Management Console, and in particular the EC2 Dashboard and the Cloud Formation Dashboard. You may want to familiarize yourself with the console and bookmark it: https://console.aws.amazon.com

This procedure can be used to create an evaluation/development or a production eagle-i node:

  • An  requires less configuration, but it should not be used for collecting actual data; this type of node can be created and destroyed at will.
  •  will likely need some (limited) involvement of your IT department, but will result in a node that is ready for real world data collection. 

Note that an evaluation or development node cannot be converted to a production node. 

As a pre-prerequisite, you will need to decide which type of installation you will need, evaluation/development or production eagle-i node.

Prerequisites

You may need to involve your IT department to obtain the first 2 prerequisites for a .

  1. Public host name

    1. may use the amazon-generated public hostname
    2.  will need to have a DNS record once you obtain an IP address from EC2
      • Decide on a good host name. It will determine the namespace of your Linked Open Data, and it shouldn't be changed once data exists in production.
      • Examples of existing host names: harvard.eagle-i.neteagle-i.ea.vanderbilt.edu
  2. An SSL Certificate
    1.  may use the self-signed certificate provided by the AMI
    2.  needs an X509 certificate in PEM format
  3. A browser (in our experience Firefox works best; in Chrome, the scrollbars in AWS dialogues are finicky)
  4. An Amazon Web Services (AWS) account with the Amazon Elastic Compute Cloud (EC2) service enabled
    1. Sign up for AWS
    2. Sign up for the EC2 service; this will require that you provide credit card information.
  5. An SSH client for remotely logging in to the EC2 instance
    • If you're using Linux, you know what this is about already
    • In MacOSX you can simply use the Terminal application that is installed by default (look in your Applications folder, under Utilities)
    • In Windows we recommend downloading and installing PuTTY (a remote login client that can handle SSH keys) or cygwin (a full Unix toolset)

2. Installation Procedures

  1. Allocate EC2 Resources
  2. Create an eagle-i node

3. Customize eagle-i node

For an evaluation node, there is no need to customize the installation any further. Using the public DNS as your hostname, you may now go to a browser and navigate to the eagle-i node to begin entering data, searching data, accessing the repository, etc. See verify the eagle-i node is up and running for more information on where to navigate to.

  1. Prepare to Customize eagle-i Node
  2. Customize eagle-i Repository
  3. Create system users
  4. Customize public SPARQL endpoint
  5. Update node configuration file

4. Verify installation

  1. Verify the eagle-i node is up and running

5. Production instance only

There are additional steps that need to happen in order to make your instance production ready. For more information about elastic IP address, please see the Amazon Documentation: Elastic IP Addresses.

  1. Allocate an elastic IP address
  2. Associate the elastic IP to your public hostname
  3. Install your SSL Certificate

Troubleshooting

Getting a time out error when trying to navigate to the application in a browser

Double check your security groups and make sure that inbound traffic on HTTPS is allowed.

Error when running finish-install.sh : FAILED to create metadata for user, HTTP status=302

The repository url must match exactly. Typically this happens when http is typed instead of https.