Quotas

Eucalyptus adds quota enforcement to resource usage. To avoid introducing another configuration language into Eucalyptus, and simplify the management, we extend the IAM policy language to support quotas.The only addition added to the language is the new limit effect. If a policy statement’s effect is limit , it is a quota statement.

A quota statement also has action and resource fields. You can use these fields to match specific requests, for example, quota only being checked on matched requests. The actual quota type and value are specified using special quota keys, and listed in the condition part of the statement. Only condition type NumericLessThanEquals can be used with quota keys.

The following quota policy statement limits the attached user to only launch a maximum of 16 instances in an account.

{
 "Version":"2011-04-01",
 "Statement":[{
   "Sid":"4",
   "Effect":"Limit",
   "Action":"ec2:RunInstances",
   "Resource":"*",
   "Condition":{
     “NumericLessThanEquals”:{
       “ec2:quota-vminstancenumber”:”16”
     }
   }
 }]
}

You can attach quotas to both users and accounts, although some of the quotas only apply to accounts. Quota attached to groups will take no effect.

When a quota policy is attached to an account, it actually is attached to the account administrator user. Since only system administrator can specify account quotas, the account administrator can only inspect quotas but can’t change the quotas attached to herself.

The following is all the quota keys implemented in Eucalyptus:

Quota KeyDescriptionApplies to
autoscaling:quota-autoscalinggroupnumberThe number of Autoscaling Groupsaccount and user
autoscaling:quota-launchconfigurationnumberNumber of Autoscaling Group Launch Configurationsaccount and user
autoscaling:quota-scalingpolicynumberNumber of Autoscaling Group Scaling Policiesaccount and user
cloudformation:quota-stacknumberNumber of Cloudformation stacks allowed to createaccount
ec2:quota-addressnumberNumber of elastic IPsaccount and user
ec2:quota-cputotalsizeNumber of Total CPUs Used by EC2 Instancesaccount and user
ec2:quota-disktotalsizeNumber of Total Disk Space (in GB) of EC2 Instancesaccount and user
ec2:quota-imagenumberNumber of EC2 imagesaccount and user
ec2:quota-internetgatewaynumberNumber of EC2 VPC Internet Gatewaysaccount and user
ec2:quota-memorytotalsizeNumber of Total Amount of Memory Used by EC2 Instancesaccount and user
ec2:quota-securitygroupnumberNumber of EC2 security groupsaccount and user
ec2:quota-snapshotnumberNumber of EC2 snapshotsaccount and user
ec2:quota-vminstancenumberNumber of EC2 instancesaccount and user
ec2:quota-vminstanceactivenumberNumber of EC2 Instances Using Node Resources (pending, running, shutting-down, etc.)account and user
ec2:quota-volumenumberNumber of EC2 volumesaccount and user
ec2:quota-volumetotalsizeNumber of total volume size, in GBaccount and user
ec2:quota-vpcnumberNumber of EC2 VPCsaccount and user
elasticloadbalancing:quota-loadbalancernumberNumber of Elastic Load Balancersaccount
iam:quota-groupnumberNumber of IAM groupsaccount
iam:quota-instanceprofilenumberNumber of IAM Instance Profilesaccount and user
iam:quota-rolenumberNumber of IAM Rolesaccount and user
iam:quota-servercertificatenumberNumber of IAM Server Certificatesaccount and user
iam:quota-usernumberNumber of IAM usersaccount
s3:quota-bucketnumberNumber of S3 bucketsaccount and user
s3:quota-bucketobjectnumberNumber of objects in each bucketaccount and user
s3:quota-bucketsizeSize of bucket, in MBaccount and user
s3:quota-buckettotalsizetotal size of all buckets, in MBaccount and user

Default Quota

Contrary to IAM policies, by default, there is no quota limits (except the hard system limit) on any resource allocations for a user or an account. Also, system administrators are not constrained by any quota. Account administrators are only be constrained by account quota.