Instructions for NetflixOSS Edda

Launching from the AWS Marketplace

Launching Edda from the AWS Marketplace requires that you perform two steps:

  1. Tell Edda what AWS credentials to use
  2. Enable access to the web interface

Step 1 - Configuration

  1. Login to the AWS Web Console, and go to the IAM page
  2. Create a new IAM User called edda and take note of the credentials
  3. Set the permissions for the newly created edda user to this policy.
  4. Go to the EC2 page in the Web Console, and take note of the public DNS for the Edda instance
  5. SSH to the instance:

    ssh ubuntu@ec2-1-2-3-4.compute.amazonaws.com
    
  6. Edit the config file and enter the AWS credentials for the edda user:

    cd /usr/local/tomcat/webapps/edda/WEB-INF/classes
    sudo emacs edda.properties
    

    Uncomment and modify these two config settings with edda's security credentials:

    # Set aws access keys, leave unset to use the default aws credential provider chain
    #
    edda.aws.accessKey=AK12345
    edda.aws.secretKey=SK98765
    
  7. Then restart Tomcat so the new settings take effect:

    sudo service tomcat7 restart
    

Step 2 - Enable Access

  1. On the EC2 page in the AWS Web Console, find the NetflixOSS Edda-2-1-AutogenByAWSMP- security group
  2. Click on Inbound and add a new rule allowing access to port 80. For example, to limit to just your IP address add a rule like this:

    Create a new rule:  HTTP
               Source:  123.123.123.123/32
    
  3. Don't forget to click "Apply Rule Changes" after adding the rule

Query

Great, now you can go to the public DNS for the instance and make queries to it via HTTP. Example:

http://ec2-1-2-3-4.compute.amazonaws.com/edda/api/v2/view/instances;_pp

Note: It can take a few minutes for the URL to become available as Tomcat starts.

The easy way with CloudFormation

Launching from the AWS Marketplace requires a lot of manual steps because the AWS Marketplace does not have parameters that can be passed to it, nor can it create an IAM Role. CloudFormation can do all of the above steps for you.

The CloudFormation template is here and works in all regions:

https://github.com/Answers4AWS/netflixoss-ansible/blob/master/cloudformation/edda.json