Welcome to the couch.io CouchDB Amazon Machine Images. For more information please visit the web documentation.
http://hosting.couch.io/ami/
The hardest part of this is installing the EC2 command-line tools, and setting up the proper environment variables. The instructions for installing the EC2 tools are here:
http://developer.amazonwebservices.com/connect/entry.jspa?externalID=351&categoryID=88
To set th environment variables, visit ./bin/couchdb-ec2-env.sh
If you don't want deal with command line stuff, you can launch CouchDB instances from the couch.io web page:
The easiest part is launching an instance:
./bin/launch-couchdb-instance
This will prompt and error, if there are missing environment variables. Once it works, it will spit out the command you need to run to login to your instance.
By default we'll launch a Pro AMI but you can configure the environment to use a public CouchDB AMI. The public AMIs are only slightly cheaper, so we hope you'll use a Pro AMI, so that some of your money goes to couch.io, instead of sending it all to Amazon.
To purchase a pro AMI, visit one of these links:
https://aws-portal.amazon.com/gp/aws/user/subscription/index.html?offeringCode=914F6020
https://aws-portal.amazon.com/gp/aws/user/subscription/index.html?offeringCode=BA504E0D
https://aws-portal.amazon.com/gp/aws/user/subscription/index.html?offeringCode=FF8C4E12
https://aws-portal.amazon.com/gp/aws/user/subscription/index.html?offeringCode=253D99CD
To switch to a public AMI, set PAID in the couchdb-ec2-env.sh to "public". Thank you for relaxing, not changing it to "public", and for your support! :)
These AMIs are configured to store CouchDB data on the internal, ephemeral storage. This means when your instance terminates, all data will be lost. There are no backups. If you need backups, be sure to set them up. (We plan to add everything from auto-backups to clustering, in future iterations.)
CouchDB by default is open for all (yay, admin party!), but that's probably not what you want, make sure to secure your CouchDB instance if you plan to use it in production. More information can be found in the Security Chapter of the CouchBook.
To access CouchDB, you'll need to make sure that port 5984 is opened on the AWS firewall for your instance's security group. The documentation for opening ports is maintained by Amazon here. A smart way to control accees (this is how Chris's Blog works) is to set up a security group only available to trusted IP addresses, and then open port 5984 on that. If you want the whole world to be able to read your CouchDB, (which is fine for experimenting) the simple command is:
ec2-authorize -p 5984 default
This will open up port 5984 for all instances you boot into the default group. Similarly (some EC2 101 here) if you want to ssh into your CouchDB box, run:
ec2-authorize -p 22 default
Don't forget to close port 5984 when you are done:
ec2-revoke -p 5984 default
To create a new AMI image, edit the S3_BUCKET in couchdb-ec2-env.sh, as well as select the CouchDB version you want to install. Then run:
./bin/create-couchdb-instance
This should just work.
These scripts are based heavily on work by Eric Hammond, available in the Hadoop project.
- 2008-05-16 Eric Hammond ehammond@thinksome.com
- Initial version including code from Kim Scheibel, Jorge Oliveira
- 2008-08-06 Tom White
- Updated to use mktemp on fedora
- 2009-09-29 Chris Anderson jchris@couch.io
- Updated for Ubuntu and CouchDB