Asgard Ansible Playbook and AMIs
Asgard is an application deployments and cloud management web interface for AWS. Before running the playbook, there are a few things we need to do.
Launch EC2 instance for Asgard
- Create an Asgard security group
- Allow port 80 for HTTP only from your IP address (very basic security)
- Allow port 22 for SSH (optional)
If you don't already have one, create a new Key Pair, and add it to your keychain or SSH agent so you don't need to specify it later:
$ ssh-add mykey.pem
Launch a new EC2 instance using the above Security Group and Key Pair. Use Ubuntu 12.04 LTS as the AMI.
- Set the
Nametag of the instance to
- Confirm you can see the instance using the Ansible EC2 inventory
$ /etc/ansible/hosts | grep 'Asgard'
Run Ansible playbook
Now you can run the playbook by executing:
$ ansible-playbook playbooks/asgard-ubuntu.yml -l 'tag_Name_Asgard'
This will configure the instance to be running the latest release of Asgard. If you prefer to run the different version of Asgard, you want to build the WAR file yourself, and specify the path to the WAR file:
$ ansible-playbook playbooks/asgard-ubuntu.yml -l 'tag_Name_Asgard' -e "local_war=/path/to/asgard.war"
Once the playbook is finished, you will have Asgard running inside Tomcat on your EC2 instance. You can access Asgard via HTTP as the ROOT application (no directory). Example:
This playbook does nothing for security. It is highly recommended that you put some kind of restrictions on who can access Asgard, as it can do a lot to your AWS account. At the very minimum, please make sure your security group only allows port 80 access from your IP address only.
Adding authentication and running over an SSL connection is also recommended.
Launching from the AWS Marketplace
- * Watch the screencast explaining these steps on Youtube
- Launch Asgard from the AWS Marketplace
- Follow these instructions after launch
You can find the list of pre-built AMIs here:
If you have feedback, comments or suggestions, please feel free to contact Peter at Answers for AWS, create an Issue, or submit a pull request.