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.
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 EVALUATION/DEVELOPMENT NODE 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 PRODUCTION NODE 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 PRODUCTION NODE.
Public host name
- EVALUATION/DEVELOPMENT NODEmay use the amazon-generated public hostname
- PRODUCTION NODE will need to have a DNS record once you obtain an IP address from EC2
- An SSL Certificate
- EVALUATION/DEVELOPMENT NODE may use the self-signed certificate provided by the AMI
- PRODUCTION NODE needs an X509 certificate in PEM format
- 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
- Sign up for AWS
- Sign up for the EC2 service; this will require that you provide credit card information.
- 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
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
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.
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.