Os preços de preços spot do Amazon EC2 são consistentes entre os clientes?

1

Recentemente, começamos a definir lances para instâncias spot na AWS. Desde então, os preços na zona de disponibilidade que utilizamos aumentaram a um preço suspeito perto dos nossos lances. Eu estava tentando verificar esse preço com o que as outras pessoas vêem, e há discrepâncias estranhas.

Eu comparei os preços do EC2 para o c1.medium no Leste dos EUA:

comosdosite Preços spot do EC2 :

Maselesnãocombinam.Oqueestoufazendodeerrado?Todososparâmetroscorrespondem;ositenãooficialcarecedeus-east-1b,masorestodeveseromesmo.ÉpossívelqueaAmazonmudeospreçosdependendodocliente?Seriainteressantesealguémpudesseconfirmar.

TodasasrespostasnoServerFaultqueeuverifiquei,como this ou , sempre assume que há um preço fixo. Este artigo interessante discute o algoritmo de precificação, mas novamente não há menção de preços diferentes por cliente.

Atualizar : a partir de uma segunda conta da AWS, vejo preços diferentes dos da primeira:

Mesmo comparando zona por zona, elas são semelhantes, mas não iguais. Eles também são compatíveis com os do segundo site, mas não iguais. E para esta segunda zona de conta us-east-1b está faltando, algo que também acontece com outros tipos de instância. Curioser e curioser!

    
por alexfernandez 05.09.2016 / 11:27

2 respostas

4

O artigo que você citou reflete observações e conclusões que não são mais aplicáveis, se é que já foram.

Since then prices in the availability zone we use have spiked at a price point suspiciously near our bids.

Esta não é uma surpresa.

A capacidade spot é alocada pelos seguintes itens: logic , para cada combinação de zona de disponibilidade, plataforma, tipo de SO e tipo de instância:

  • Determine o número de instâncias disponíveis como instâncias pontuais desse tipo. (O algoritmo aqui é desconhecido, mas presumivelmente é uma fração do hardware disponível para demanda, mas não atualmente em uso.) Chame esse número n .

  • Classifique os lances de alto a baixo e identifique os maiores lances de n maior preço. Estes são os lances vencedores. Se algum lance não vencedor tiver uma instância spot em execução, termine-o. Se algum lance vencedor não tiver uma instância em execução, inicie-o. Se os lances vencedores já tiverem sua instância em execução, não faça nada.

  • Aceite o preço de lance do menor lance vencedor. Isso se torna o preço atual.

  • Quando os lances são criados ou destruídos, ou há uma mudança na capacidade disponível, comece novamente do início.

A partir dessa lógica, podemos extrapolar várias conclusões:

  • Se o preço à vista estiver no preço mínimo, então há mais capacidade disponível do que licitantes fazendo lances sobre o mínimo absoluto.

  • Inversamente, quando o preço está acima do mínimo, a demanda excede a capacidade, portanto, todos os licitantes acima do preço de mercado afetam o preço de mercado, porque o preço é exatamente o valor do lance pelo menor vencedor.

  • Quanto mais próximo o preço de mercado se aproximar do seu lance, mais perto você estará de estar entre os menores licitantes vencedores.

A contemplação do algoritmo sugere que, se você estiver executando instâncias múltiplas na mesma zona de disponibilidade / plataforma / tipo de sistema operacional / tipo de instância, mas estiver disposto a aceitar menos que o número desejado de instâncias, deverá fazer várias. lances individuais com valores de lance escalonados. Isso potencialmente lhe dá uma melhor visão do mercado e aumenta a probabilidade de você ter alguns vencedores em vez de nenhum, e que se um de seus lances for o menor vencedor, o preço de mercado pago por todos os vencedores será menor. Se o preço que você tem em mente for, digamos, US $ 3 / hr para 3 instâncias, talvez seja desejável oferecer US $ 4, US $ 3 e US $ 2, porque você pagaria, no máximo, US $ 4 por 1, US $ 6 por 2 e US $ 6 para 3. Se, em vez disso, você definir um lance de US $ 3 para três, seu custo máximo por hora seria de US $ 9 para três, se seu lance de US $ 3 for o menor vencedor. A estratégia de lances apropriada, no entanto, depende do valor que você coloca nas máquinas. Escrevi longamente sobre isso em Webmasters.SE .

Observe que, como você observou, em uma região, entre contas, os mapeamentos de zona a nome de disponibilidade são diferentes.

Q: How can I make sure that I am in the same Availability Zone as another developer?

We do not currently support the ability to coordinate launches into the same Availability Zone across AWS developer accounts. One Availability Zone name (for example, us-east-1a) in two AWS customer accounts may relate to different physical Availability Zones.

https://aws.amazon.com/ec2/faqs/#availability-zones

    
por 05.09.2016 / 19:32
2

Depois de analisar cuidadosamente, os preços são realmente os mesmos para as minhas duas contas, com algumas ressalvas:

  • As regiões não são consistentes entre os clientes. Meu 1d pode ser seu 1a e assim por diante.
  • Algumas regiões podem estar faltando para alguns clientes.
  • Os Preços spot do EC2 do site apresentam alguns problemas de amostragem que tornam seus valores menos precisos e difíceis de ver.
por 05.09.2016 / 12:56