Launching an EC2 Instance of the C-Phrase AMI

When you subscribe to the C-Phrase AMI, you can launch it as an EC2 instance. The initial part of this video shows a launch of such an EC2 instance. As shown in the video, it is highly recommended that during EC2 launch step 3 (configure instance details) you provide the following advanced detail user-data as text:

#!/bin/bash
/root/start-cp.sh
This will insure that the C-Phrase Server runs at launch and you will not need to SSH into the EC2 instance to start it manually. Furthermore as you launch, ensure that your security group has an ingress for port 9999 as well as a range of ports that you will run natural language interfaces on (for example ports 8000-9998).

Given that the C-Phrase Server is running, to log in, just point your browser at port 9999 of the DNS of the EC2 instance(e.g. http://ec2-18-204-201-251.compute-1.amazonaws.com:9999). Note, this may require that you configure your browser to allow access on non-standard ports. Once you get through, you will be presented with a username password entry screen. The initial user login is with username "admin" and the password that is the id of your EC2 instance. This will bring you to the C-Phrase Admin Interface.

Changing the user name and password

If you wish to change the username/password for administration, navigate to the Edit page and then click on the flask.config.json at the top left and edit the username and password values. In the screen below, we have changed the username to "michael" and the password to "askdja3e324kdk". Save this file, restart the server (via the "Restart C-Phrase Server" button) and then log out (button on black control bar furthest to the right). On the next login will need to supply the new username and password.

Security policies

The recommended security policy for the C-Phrase EC2 instance has TCP ingress for port 9999, the C-Phrase Admin Interface, as well as a set of ports (e.g. in the range 8000-9999) that NLIs might run on. The standard EC2 will also have SSH access open on port 22. Finally, if you will be running NLIs that access remote databases, the C-Phrase EC2 will also require access to such remote databases.

Migrating to newer versions of the AMI

Periodically there will be new releases of the C-Phrase AMI that include new features and bug fixes. To upgrade, download all of your configurations as .zip files from your old C-Phrase EC2 instance and then upload these files onto the new EC2 instance running the new AMI. This is how you will be able to migrate your configurations to new improved versions of C-Phrase. You may also perform this via ssh and scp access to your EC2 instances.

Launching or re-launching C-Phrase Admin via SSH

It is possible that you will need to SSH into your EC2 Instance and launch or re-launch the C-Phrase Server. In such a case you must do this using screen. Otherwise C-Phrase Admin will not work (report Errno 5) after you close your SSH terminal. The following commands insures an successfull launch/relaunch of the C-Phrase Server:

sudo pkill -f 'cphrase'
screen -S admin
sudo /root/start-cp.sh
CTRL-a-d (detach)
 
Now you may exit SSH and the C-Phrase Server will persist.

Troubleshooting

If, when you launch NLIs, they mysteriously crash, then almost certainly the problem is that you are using all available memory. Either materialize fewer attributes, configure swap space, or upgrade to a larger EC2 instance type.