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.A
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.
You may need to involve your IT department to obtain the first
2 prerequisites for a
.Public host name
An SSL Certificate
may use the amazon-generated public hostname
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.net, eagle-i.ea.vanderbilt.edu
A browser (in our experience Firefox works best; in Chrome, the scrollbars in AWS dialogues are finicky)An Amazon Web Services (AWS) account with the Amazon Elastic Compute Cloud (EC2) service enabled
may use the self-signed certificate provided by the AMI
needs an X509 certificate in PEM format
An SSH client for remotely logging in to the EC2 instance
- Sign up for AWS
- Sign up for the EC2 service; this will require that you provide credit card information.
- 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
- Allocate EC2 Resources
- 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.
- Prepare to Customize eagle-i Node
- Customize eagle-i Repository
- Create system users
- Customize public SPARQL endpoint
- Update node configuration file
4. Verify installation
- 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.
- Allocate an elastic IP address
- Associate the elastic IP to your public hostname
- Install your SSL Certificate