Note: Please go to docs.rightscale.com to access the current RightScale documentation set. Also, feel free to Chat with us!
Home > Clouds > AWS > Amazon EC2 > EC2 Metadata

EC2 Metadata

RightScale will automatically download the metadata for your instance into /var/spool/cloud (/var/spool/ec2 for RightLink =< 5.6). The data can then be used by your scripts by simply sourcing the metadata* files in this directory.

NOTE: For a complete description of EC2 metadata, see the EC2 Developer Guide: Instance Metadata.

Sourcing the Metadata

The code samples below show how to source the metadata file.  It performs a real-time refresh of an instance's metadata before including them in your environment. Since metadata can change, you might want to make sure that you always use the latest metadata.

However, if you prefer to use the cached value of the metadata from a previous fetch, you can source /var/spool/meta-data-cache* directly.

Ruby Example

#! /usr/bin/ruby
require '/var/spool/cloud/meta-data.rb'

Bash Example

#! /bin/bash
source /var/spool/ec2/meta-data.sh

Metadata as Environment Variables

After sourcing the file as shown above, all of the metadata downloaded from AWS will be made available as ENVIRONMENT variables.  However, they are named slightly different than the raw response from the API (see below).

Ruby example

ENV['EC2_PUBLIC_HOSTNAME']

Bash example

$EC2_PUBLIC_HOSTNAME

 

The naming convention used for these environment variables is as follows.  Each variable is prepended with an "EC2_" prefix.  Also, any variables that exist in a lower level of the 'tree' such as 'block-device-mapping' will be flattened into a single name using underscores.  For example, block-device-mapping/root becomes $EC2_BLOCK_DEVICE_MAPPING_ROOT.

Here is an example of metadata that was downloaded for a 32bit small EC2 instance. (Sensitive values have been removed.)

EC2_KERNEL_ID='aki-9b00e5f2'
EC2_SECURITY_GROUPS='default'
EC2_AMI_ID='ami-d8a347b1'
EC2_BLOCK_DEVICE_MAPPING_ROOT='/dev/sda1'
EC2_INSTANCE_TYPE='m1.small'
EC2_ANCESTOR_AMI_IDS='ami-08f41161 ami-af3bdec6 ami-5c08ed35'
EC2_PLACEMENT_AVAILABILITY_ZONE='us-east-1a'
EC2_LOCAL_IPV4='10.254.111.17'
EC2_INSTANCE_ID='i-f4c86d9d'
EC2_BLOCK_DEVICE_MAPPING_AMI='sda1'
EC2_BLOCK_DEVICE_MAPPING_EPHEMERAL0='sda2'
EC2_RESERVATION_ID='r-6d8f5804'
EC2_LOCAL_HOSTNAME='domU-12-31-39-00-68-E3.compute-1.internal'
EC2_PUBLIC_KEYS_0_OPENSSH_KEY='xxxx'
EC2_PUBLIC_HOSTNAME='ec2-75-101-250-179.compute-1.amazonaws.com'
EC2_HOSTNAME='domU-12-31-39-00-68-E3.compute-1.internal'
EC2_AMI_MANIFEST_PATH='rightscale_images/CentOS5_0V3_0_0.img.manifest.xml'
EC2_AMI_LAUNCH_INDEX='0'
EC2_PUBLIC_IPV4='75.101.250.179'
EC2_BLOCK_DEVICE_MAPPING_SWAP='sda3'
You must to post a comment.
Last modified
21:33, 16 May 2013

Tags

Classifications

This page has no classifications.

Announcements

None


© 2006-2014 RightScale, Inc. All rights reserved.
RightScale is a registered trademark of RightScale, Inc. All other products and services may be trademarks or servicemarks of their respective owners.