Подтвердить что ты не робот

Получить программное обеспечение ec2 программно?

Есть ли способ получить программную оценку AWS программно (стоимость в час каждого типа экземпляра, стоимость одного GB/месяца хранения на S3 и т.д.)?

Кроме того, существуют ли средства мониторинга затрат? Например, есть ли инструмент, который может сообщать об использовании вашего экземпляра EC2 на почасовой основе (по сравнению с ежемесячной базой, что делает Amazon)?

Спасибо заранее.

4b9b3361

Ответ 1

UPDATE:

В настоящее время существует API-интерфейс оценки AWS: https://aws.amazon.com/blogs/aws/new-aws-price-list-api/

Обычный ответ:

Прайс-листы доступны в виде файлов JSONP (вам нужно отключить вызов функции), которые используются страницами ценообразования AWS. Каждая таблица (и каждая вкладка для таблицы) имеет отдельный файл JSON. Возможно, это не API, но, безусловно, перевариваемый компьютером. Вот список, который поддерживает страницу ценообразования EC2 (по состоянию на 17 декабря 2014 года):

ПРЕДУПРЕЖДЕНИЕ: Конечные точки время от времени меняются, и часто старый URL-адрес все еще существует со старыми значениями. Лучше всего проверить, что такое текущий статус, а не полагаться на ссылки, представленные в этом потоке.

Итак, вот короткая команда для получения текущего набора или URL-адресов с любой страницы ценообразования AWS. Пример, основанный на EC2. Запустите его на Linux или Cygwin. Фактически эта команда использовалась для создания списка выше.

curl http://aws.amazon.com/ec2/pricing/ 2>/dev/null | grep 'model:' | sed -e "s/.*'\(.*\)'.*/http:\\1/"

Для тех, кому не нравится командная строка, вы также можете проверить сетевую консоль веб-браузера (вы попадаете туда с F12), фильтровать с объектами JS:

enter image description here

Ответ 2

Просто чтобы вы знали, что, похоже, они изменили адреса JSON. Он включает новые типы экземпляров C3

Обновление 01/21/2014: адреса снова изменены. Обратите внимание, что это JS файлы с функцией обратного вызова, которые должны быть удалены, чтобы он стал анализируемым JSON.

Обновление 09/21/2014: адреса снова изменены и включают новые типы T2. Чтобы обрабатываться как файлы JSON, исходные комментарии и функция обратного вызова должны быть удалены, а ключи должны быть заключены в двойные кавычки.

По запросу

Зарезервированный свет

Зарезервированный средний

Зарезервировано Тяжелое

Другое

Предыдущая конечная точка: http://aws-assets-pricing-prod.s3.amazonaws.com/pricing/ec2/linux-od.js

Ответ 3

Этот рубиновый камень обертывает данные JSON по оценке, предоставленные Amazon, и предоставляет простой интерфейс, который позволяет отображать имена регионов и типов экземпляров в те, что используются в API EC2.

https://github.com/sonian/amazon-pricing

Ответ 5

В дополнение к @arturhoo answer, который содержит точки EC2

Вы можете получить исторические цены с помощью инструмента CLI

aws ec2 describe-spot-price-history \
    --instance-types m1.xlarge \
    --product-description "Linux/UNIX (Amazon VPC)" \
    --start-time 2016-10-31T03:00:00 \
    --end-time 2016-10-31T03:16:00 \
    --query 'SpotPriceHistory[*].[Timestamp,SpotPrice]'

который берет спот-цену между 3:00am и 3:16am понедельника 31 октября 2016 (UTC)

[
    [
        "2016-10-31T03:06:12.000Z", 
        "0.041500"
    ], 
    [
        "2016-10-31T03:00:26.000Z", 
        "0.041600"
    ], 
    [
        "2016-10-31T02:59:14.000Z", 
        "0.041500"
    ], 
    [
        "2016-10-31T02:00:18.000Z", 
        "0.040600"
    ], 
    [
        "2016-10-30T23:55:06.000Z", 
        "0.043200"
    ]
]

Ответ 6

Если вы используете golang, я написал библиотеку, которая может запрашивать данные, используя " https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/ {offer_code}/current/index. {format}" Формат.

https://github.com/Chronojam/aws-pricing-api

import (
        "github.com/chronojam/aws-pricing-api/types/schema"
)

func main() {
        ec2 := &schema.AmazonEC2{}

        // Populate this object with new pricing data
        err := ec2.Refresh()
        if err != nil {
                panic(err)
        }

        // Get the price of all c4.Large instances,
        // running linux, on shared tenancy
        c4Large := []*schema.AmazonEC2_Product{}
        for _, p := range ec2.Products {
               if p.Attributes.InstanceType == "c4.large" &&
                       p.Attributes.OperatingSystem == "Linux" &&
                       p.Attributes.Tenancy == "Shared" {
                       c4Large = append(c4Large, p)
               }
        }
}

Ответ 7

Я являюсь автором инструмента с открытым исходным кодом под названием ec2-cost-calculate, который будет "сообщать об использовании экземпляра EC2 на почасовой основе" - этот инструмент доступен на awsmissingtools.com. Выходные данные могут быть ежечасно, ежедневно, ежемесячно. Существуют две версии инструмента, одна из которых написана в Ruby, а другая - в формате bash.

Ответ 8

Поскольку Amazon недавно изменила схему ценообразования для экземпляров EC2 (не более Medium или Light, только Heavy, которая имеет несколько вариантов оплаты - allUpfront, partialUpfront, noUpfront), а также некоторое время назад отделяла экземпляры старого поколения от текущих, список ссылочных ссылок API бездокументации изменился, а также структура JSON, предоставляемая этими ссылками. Полный список, если ссылки API нецензурных политик EC2 с описаниями, а также модуль Python для удобного доступа и структурированного вывода ценообразования в форматах JSON, CSV или Table, можно найти в следующем репозитории:

https://github.com/ilia-semenov/awspricingfull

Ответ 9

Если вы используете Go, я написал пакет для декодирования данных в struct, основанный на файлах, связанных с @okrasz answer

https://github.com/recursionpharma/ec2prices

Не стесняйтесь вносить дополнительные данные о ценах.