What is a Tag?
A tag or machine tag is a useful way of attaching useful metadata to an object/resource. Tags are commonly used as an extra label or identifier. For example, you might want to add a tag to an EBS Snapshot or AMI so that you can find it more quickly. However, a tag's advanced functionality can be unlocked when it's comprised of three main parts: namespace, predicate and value. Colons [:] are used to separate namespaces and predicates whereas equal signs [=] separate predicates and values.
loadbalancer:lb=www (a load balancer server for the 'www' vhost)
- namespace - Namespaces must begin with any character between a-z; remaining characters may be a-z, 0-9 and underscores. Upper-case letters are invalid in the namespace.
- predicate - Predicates must begin with any character between a-z or A-Z; remaining characters may be a-z, A-Z, 0-9 and underscores. Predicates are case-insensitive.
- value - Values may contain most standard characters including spaces. Values do not have to be wrapped in quotes. (e.g.
Machine Tags vs. Raw Tags
Tags can fail because of incorrect syntax. This can occur when an instance attempts to run a script or recipe to add a tag to the instance using the
rs_tag command line tool or the 'RightLinkTag' Chef resource, for example. These tools do not report errors (they are asynchronous, that is they send the request but do not wait for a response so they cannot know whether the tag was successfully added or not), and incorrect tags will not appear. So it is important to know the differences in syntax between machine tags and raw tags.
Valid machine tags must be in the form of
rs_tag command line tool or the RightLinkTag Chef recipes on instances to create tags. For more information on machine tags, see Machine Tags.
Raw tags can be created using any character a-z and 0-9, but must not contain the characters
=. For example, a valid raw tag is
it8nenabled. An invalid example is 'it8n:enabled', the reason being that on the backend, it looks like you're trying to create an invalid machine tag, and we will give you an error.
RightScale's Tagging System
RightScale uses Flickr-style machine tagging inside the RightScale platform. Tags are specific to a RightScale account. They are not user-specific. Tags are also global, so if you add tags to a private MultiCloud Image and later publish that image, everyone will see the tags. In order to add/edit/delete tags, you will need 'actor' privileges for that RightScale account.
Currently, you can create tags for the following objects/resources:
- Server Arrays
- EBS Spapshots
- EBS Volumes
- MultiCloud Images*
* Tags can only be added to a MultiCloud Image by the owner of the MultiCloud Image. The owner of an EC2 Image is based on the AWS Account Number, not a RightScale account.
How Does RightScale Use Tags?
We use tagging in our ServerTemplates by using the RightLink agent to facilitate communication between related servers. For example, instead of using DNS lookup and SSH to establish communication between application servers and load balancers, we can use tags to quickly resolve this information internally without having to make any requests to third parties.
How Can I Use Tagging Inside the RightScale Platform?
The support for tagging and its implementations will continue to evolve over time. Currently, the primary use of tags is for filtering purposes. You can then use the Dashboard GUI or RightScale API to filter and search through tagged items.
- RightScale Dashboard - Add/Remove tags to RightScale objects and cloud resources under their respective show pages or Info tabs. You can add multiple tags per object/resource. You can then filter by 'tag' to quickly find all of your tagged resources.
- RightScale API - Similar to the Dashboard, you can use the Rightscale API to add/remove tags to a resource. You can also search tags for a resource and search for all resources (within a particular type) matching given tags.
Note: Tag searches are case sensitive.
Sync EC2 Instance Tags with RightScale
RightScale automatically syncs your EC2 instance tags with RightScale Unified Cloud Platform accounts. To sync RightScale tags with an EC2 account, just create the tag with 'ec2' as the namespace, such as 'ec2:
For more information, see Use EC2 Tags in RightScale.
AWS Name Sync with Instance Name
RightScale will sync EC2 instance names to RightScale Server or Instance nicknames bi-directionally with instances provisioned on AWS. When a new server is provisioned then launched from the RightScale dashboard, the server or instance nickname you entered in RightScale is over-written by the instance tag name (ec2:Name) from EC2 if one exists. Similarly, if you add a tag of the form 'ec2:Name=