-
Notifications
You must be signed in to change notification settings - Fork 14
Ice
HOME > BURI ROLE GUIDE > ICE
Ice is a Netflix OSS tool that provides a visualization console for AWS detailed billing records, allowing one to drill down into all kinds of views to see where your AWS costs are being incurred.
This role definition is currently very basic, allowing for the monitoring of a single account.
- Enable billing access
- Create Ice work data S3 bucket
- Configure local/site.yml and build AMI
- Create IAM role
- Create security group
- Launch Ice Cluster
-
See Amazon documentation on billing access for full details
-
You will need the detailed billing (hourly) reports enabled, generating files of the form:
<accountid>-aws-billing-detailed-line-items-<year>-<month>.csv.zip
For future features yet to be activated, also enable the tagged billing records, which provide zips like these:
<accountid>-aws-billing-detailed-line-items-with-resources-and-tags-<year>-<month>.csv.zip
-
You will need to use the S3 bucket name these files are delivered to in a later configration step. This will be referred to as the billing S3 bucket.
-
You should have this running for a little bit before running Ice, to allow stats to accumulate
- Open the AWS S3 console
- Click "Create Bucket", provide a name, and ensure you select the correct region where you will deploy ice.
-
Edit local/site.yml in your Buri build tree and ensure the following is set as needed:
ice_billing_s3_bucket_names: billing-bucket-name ice_billing_s3_bucket_prefix: ice_company_name: Your company name ice_work_s3_bucket_name: ice-work-bucket-name ice_account1_aws_id: 123456789012 ice_admin_password: "adminpassword"
-
Build the AMI for Ice
./resnap.sh <base-pvm-ami-ID> ice
-
In the AWS IAM console left-side menu, click "Roles"
-
Click "Create New Role"
-
Give it a name. ("Ice" is suggested)
-
On the "Select Role Type" screen, click "Select" next to "Amazon EC2"
-
Click "Custom Policy", then "Select"
-
Under "Policy Name", give it the same name as in 3rd point of this section.
-
Under "Policy Document", paste in the file policies/ice.sample from the Buri distribution
-
Edit the following text in what was pasted, to reflect the S3 bucket you have created for Ice working storage:
"Resource": [ "arn:aws:s3:::example-ice-working", "arn:aws:s3:::example-ice-working/*" ],
-
Click "Continue" and then "Create Role" to complete creating the IAM role needed by Exihibitor.
- In the AWS EC2 console left-side menu, under "Network & Security", click "Security Groups"
- Click "Create Security Group"
- Give it a name. ("Ice" is suggested), and a description, pick VPC if applicable.
- Add a rule to allow SSH from the source IPs you wish to administrate from
- Add a rule to allow HTTP from the source IPs you wish to administrate from
- Click "Create"
-
Select the Ice AMI to launch, and ensure it has the IAM role and security group for Ice applied. You should only have one instance of this running at any given time. It will take a couple minutes to startup as it does the initial processing of your billing records.
-
Hit the following URL to access the console, substituting hostname with one of yours:
http://ec2-11-11-11-11.compute-1.amazonaws.com/ice
-
Login with user "admin", and the password you configured in your site.xml before building.