Giter Club home page Giter Club logo

aws-pricing-tools's People

Contributors

concurrencylabs avatar lorengordon avatar unixorn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aws-pricing-tools's Issues

get-latest-index.py has an UnboundLocalError: local variable 'indexDimensions' referenced before assignment

We get a local variable reference issue when running get-latest-index.py

https://github.com/concurrencylabs/aws-pricing-tools/blob/master/scripts/get-latest-index.py#L181

Traceback (most recent call last):
  File "get-latest-index.py", line 251, in <module>
    main(sys.argv[1:])
  File "get-latest-index.py", line 100, in main
    split_index(s, region, term, **extraArgs)
  File "get-latest-index.py", line 181, in split_index
    indexKey = phelper.create_file_key(indexDimensions)

We can fix this by adding:
indexDimensions = {} after this line: https://github.com/concurrencylabs/aws-pricing-tools/blob/master/scripts/get-latest-index.py#L159

Let me know if you prefer a PR or this issue is okay.

Error when editing Event Rule

Hi,
I would like to modify the rate of 5 min set by default and when I "Update Rule" I get error :

"There was an error while saving rule near-realtime-pricing-cal-ScheduledPricingCalculat-12NVV1P41UU68.
Details: 1 validation error detected: Value 'AWSEvents_near-realtime-pricing-cal-ScheduledPricingCalculat-12NVV1P41UU68_NearRealTimePriceCalculatorFunctionv1' at 'statementId' failed to satisfy constraint: Member must have length less than or equal to 100."

Real-time prices of EC2 instances

It would be great to be able to calculate the real-time prices of EC2 instances for all the billing types: on-demand, reserved and spot.

For spot instances it would be nice to see the real-time savings over on-demand or RI.

local variable 'elb_hours' referenced before assignment: UnboundLocalError

It looks like it is failed when there are no lbs with the given tags.

local variable 'elb_hours' referenced before assignment: UnboundLocalError
Traceback (most recent call last):
File "/var/task/functions/calculate-near-realtime.py", line 102, in handler
elb_cost = ec2pricing.calculate(region=region, elbHours=elb_hours, elbDataProcessedGb=elb_data_processed_gb)
UnboundLocalError: local variable 'elb_hours' referenced before assignment

Incorrect Price

Just did a pricing comparison for RDS Aurora Postgresql db.r5.large and it came back with $5842 as annual cost.

Part_II__RDS_-_The_Ultimate_Guide_to_Saving_Money_with_AWS_Reserved__Anything__-_Concurrency_Labs

It should be $2190 @ $0.25/hr.

requirements*.txt have invalid versions

In both requirements.txt and requirements-dev.txt:

tinydb==3.4.1
numpy== 1.12.1

are no longer valid versions you can pull down and install. Removing those versions everything installs okay locally.

You may want them locked to the newest or remove the version lock and get the latest.

nextToken : Exception message

At times, the script sends out the following error

Number of logstreams found:[11]
Traceback (most recent call last):
File "lambda-optimization.py", line 81, in main
logstreamsargs.pop('nextToken')
KeyError: 'nextToken'
Exception message:[nextToken]

Question: Cross account functionality and tag optional

Hi,

First off, I wanted to thank you for an awesome tool :). AWS is extremely slow with releasing a GA version of providing near real time pricing. This has been extremely helpful in forecasting potential budget issue.

I wanted to throw out a use case here and get your opinion before forking and building a similar solution.

A client has the following use case:

  • They create multiple accounts for users and give full control of those accounts to the user.
  • The user may start/stop/control all of the resources in the account.
  • The user has a specific budget they must adhere to that.
  • The budget is managed externally.
  • The client has a root access to all the accounts and can monitor/start/stop resources as needed.

The client wants to know to be able to do the following:

  • Monitor the cost of multiple accounts.
  • Not have to run resources in the user account (as they could stop them after giving access)
  • Not worry about tag enforcement
  • Able to shutdown resources if account is nearing the budget issue.

My thoughts:
I was thinking of utilizing this solution combined with Cloud Custodian in order to monitor and enforce resource utilization within a given budget.

One way of doing this could be:

  1. Modify the code in this repo and add the ability to use this cross-accounts by running this resource in a "root" account. My guess this would require most of the effort.
  2. Modify the code in this repo and add the ability to specify a tag as optional and just gather all resources (there is probably a similar use case of 'include everything but X tag'). My guess is this effort would be minimal
  3. Use cloud custodian to look at the output of these metrics and then create rules to act on it

Before I run off, I wanted to get your thoughts to see if you think this would be something useful to add to this project or if I should spin it off and use this as a base. If you think this would be useful, do you have any technical considerations we should think through in order to get a PR accepted.

Readme out of date for developing locally

In the Readme you mention:

python get-latest-index.py --service=all. That command only works with python3, but you mention to create a virtualenv .. -p python2.7.

Since python2.7 is now deprecated as of 2020, we should mention that everything runs on python3

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.