Index: third_party/gsutil/boto/docs/source/rds_tut.rst |
diff --git a/third_party/gsutil/boto/docs/source/rds_tut.rst b/third_party/gsutil/boto/docs/source/rds_tut.rst |
new file mode 100644 |
index 0000000000000000000000000000000000000000..97168d2f97b5c83be8f0dc628423ef8aa4b632e2 |
--- /dev/null |
+++ b/third_party/gsutil/boto/docs/source/rds_tut.rst |
@@ -0,0 +1,108 @@ |
+.. _sqs_tut: |
+ |
+======================================= |
+An Introduction to boto's RDS interface |
+======================================= |
+ |
+This tutorial focuses on the boto interface to the Relational Database Service |
+from Amazon Web Services. This tutorial assumes that you have boto already |
+downloaded and installed, and that you wish to setup a MySQL instance in RDS. |
+ |
+Creating a Connection |
+--------------------- |
+The first step in accessing RDS is to create a connection to the service. |
+The recommended method of doing this is as follows:: |
+ |
+ >>> import boto.rds |
+ >>> conn = boto.rds.connect_to_region( |
+ ... "us-east-1", |
+ ... aws_access_key_id='<aws access key'>, |
+ ... aws_secret_access_key='<aws secret key>') |
+ |
+At this point the variable conn will point to an RDSConnection object in the |
+US-EAST-1 region. Bear in mind that just as any other AWS service, RDS is |
+region-specific. In this example, the AWS access key and AWS secret key are |
+passed in to the method explicitely. Alternatively, you can set the environment |
+variables: |
+ |
+* ``AWS_ACCESS_KEY_ID`` - Your AWS Access Key ID |
+* ``AWS_SECRET_ACCESS_KEY`` - Your AWS Secret Access Key |
+ |
+and then simply call:: |
+ |
+ >>> import boto.rds |
+ >>> conn = boto.rds.connect_to_region("us-east-1") |
+ |
+In either case, conn will point to an RDSConnection object which we will |
+use throughout the remainder of this tutorial. |
+ |
+Starting an RDS Instance |
+------------------------ |
+ |
+Creating a DB instance is easy. You can do so as follows:: |
+ |
+ >>> db = conn.create_dbinstance("db-master-1", 10, 'db.m1.small', 'root', 'hunter2') |
+ |
+This example would create a DB identified as ``db-master-1`` with 10GB of |
+storage. This instance would be running on ``db.m1.small`` type, with the login |
+name being ``root``, and the password ``hunter2``. |
+ |
+To check on the status of your RDS instance, you will have to query the RDS connection again:: |
+ |
+ >>> instances = conn.get_all_dbinstances("db-master-1") |
+ >>> instances |
+ [DBInstance:db-master-1] |
+ >>> db = instances[0] |
+ >>> db.status |
+ u'available' |
+ >>> db.endpoint |
+ (u'db-master-1.aaaaaaaaaa.us-east-1.rds.amazonaws.com', 3306) |
+ |
+Creating a Security Group |
+------------------------- |
+ |
+Before you can actually connect to this RDS service, you must first |
+create a security group. You can add a CIDR range or an :py:class:`EC2 security |
+group <boto.ec2.securitygroup.SecurityGroup>` to your :py:class:`DB security |
+group <boto.rds.dbsecuritygroup.DBSecurityGroup>` :: |
+ |
+ >>> sg = conn.create_dbsecurity_group('web_servers', 'Web front-ends') |
+ >>> sg.authorize(cidr_ip='10.3.2.45/32') |
+ True |
+ |
+You can then associate this security group with your RDS instance:: |
+ |
+ >>> db.modify(security_groups=[sg]) |
+ |
+ |
+Connecting to your New Database |
+------------------------------- |
+ |
+Once you have reached this step, you can connect to your RDS instance as you |
+would with any other MySQL instance:: |
+ |
+ >>> db.endpoint |
+ (u'db-master-1.aaaaaaaaaa.us-east-1.rds.amazonaws.com', 3306) |
+ |
+ % mysql -h db-master-1.aaaaaaaaaa.us-east-1.rds.amazonaws.com -u root -phunter2 |
+ mysql> |
+ |
+ |
+Making a backup |
+--------------- |
+ |
+You can also create snapshots of your database very easily:: |
+ |
+ >>> db.snapshot('db-master-1-2013-02-05') |
+ DBSnapshot:db-master-1-2013-02-05 |
+ |
+ |
+Once this snapshot is complete, you can create a new database instance from |
+it:: |
+ |
+ >>> db2 = conn.restore_dbinstance_from_dbsnapshot( |
+ ... 'db-master-1-2013-02-05', |
+ ... 'db-restored-1', |
+ ... 'db.m1.small', |
+ ... 'us-east-1') |
+ |