You are previewing Python and AWS Cookbook.

Python and AWS Cookbook

Cover of Python and AWS Cookbook by Mitch Garnaat Published by O'Reilly Media, Inc.
  1. Python and AWS Cookbook
    1. SPECIAL OFFER: Upgrade this ebook with O’Reilly
    2. Preface
      1. Conventions Used in This Book
      2. Using Code Examples
      3. Safari® Books Online
      4. How to Contact Us
    3. 1. General Info
      1. A Quick Note About Python
      2. Installing boto
      3. Getting Started with Amazon Web Services
      4. Using boto with Eucalyptus
      5. Using boto with Google Cloud Storage
      6. Finding Available Regions for AWS
      7. Enabling Debug Output with boto
      8. Controlling Socket Timeouts in boto
    4. 2. EC2 Recipes
      1. Launching an Instance
      2. Keeping Track of Instances with Tags
      3. Accessing the Console Log
      4. Uploading Your Own SSH Keypair
      5. Synchronizing SSH Keypairs Across EC2 Regions
      6. Associate an Elastic IP Address with an Instance
      7. Attach a Persistent EBS Volume to an Instance
      8. Back Up Your EBS Volumes
      9. Restore a Volume from a Snapshot
      10. Clone an Existing Instance
      11. Find All Running EC2 Instances
      12. Monitoring the Performance of Your Instance
      13. Getting Notifications
      14. Storing Custom Data in CloudWatch
      15. Executing Custom Scripts upon Instance Startup
    5. 3. S3 Recipes
      1. Create a Bucket
      2. Create a Bucket in a Specific Location
      3. Store Private Data
      4. Store Metadata with an Object
      5. Computing Total Storage Used by a Bucket
      6. Copy an Existing Object to Another Bucket
      7. Modify the Metadata of an Existing Object
      8. Find Out Who Is Accessing Your Data
      9. Reduce the Cost of Storing Noncritical Data
      10. Generating Expiring URLs for S3 Objects
      11. Preventing Accidental Deletion of Data from S3
      12. Hosting Static Websites on S3
      13. Uploading Large Objects to S3
    6. About the Author
    7. SPECIAL OFFER: Upgrade this ebook with O’Reilly
O'Reilly logo

Chapter 2. EC2 Recipes

Launching an Instance


One of the first things most people want to do after they get signed up with AWS is to launch an instance.


Create the necessary prerequisite resources and then use the run_instances method to create an instance.


If you are launching an instance, most likely you will want to log in to that instance once it is up and running. In the interest of security, AWS uses passwordless SSH for instance access. This requires the use of a public/private keypair that is used to control access to your instance. The public key is installed on the newly launched instance by EC2 and registered as an authorized key with the SSH software on the instance. Then, when you log into the instance, you provide the private key and the SSH software is able to cryptographically compare the public and private keys and determine if the login attempt should be allowed or not. So, prior to running our first instance, we need to create an SSH keypair.

In addition to the keypair, we also need to create a security group. Security groups are a distributed firewall used to control access to your instances. By default, all ports on your instance will be disabled so no access would be possible. If we want to access the instance via SSH, we need to create a security group that contains a specific rule that will enable access to the instance on the specific port we want to use for SSH (default is 22).

Example 2-1 shows a convenience function that does all of ...

The best content for your career. Discover unlimited learning on demand for around $1/day.