Ir para o conteúdo

Como soluciono problemas do feed de dados para instâncias spot do EC2 configuradas com o Amazon S3?

4 minuto de leitura
0

Eu configurei um feed de dados do Amazon Elastic Compute Cloud (Amazon EC2) com o Amazon Simple Storage Service (Amazon S3). Quero solucionar problemas com o feed de dados.

Breve descrição

Para verificar suas cobranças para as instâncias spot do Amazon EC2, configure um feed de dados que informe sobre o uso e os preços das suas instâncias spot. Quando você assina o feed de dados, o Amazon EC2 armazena esses dados em um bucket do S3. Se você tiver problemas com seu feed de dados, conclua as seguintes etapas de solução de problemas, dependendo do problema.

Resolução

Observação: Se você receber erros ao executar comandos da AWS CLI, verifique se está usando a versão mais recente da AWS CLI.

Criptografia do AWS KMS

Seu bucket do S3 pode ser criptografado com uma chave do AWS Key Management Service (AWS KMS) gerenciada pelo cliente. Nesse caso, você deve permitir o serviço para delivery.logs.amazonaws.com dentro das permissões da política de chave do AWS KMS. Isso permite que o AWS KMS entregue o feed de dados para o bucket criptografado do S3.

Inclua as seguintes permissões em sua política de chave:

{
  "Sid": "Allow Logs Delivery to use the key",
  "Effect": "Allow",
  "Principal": {
    "Service": [
      "delivery.logs.amazonaws.com"
    ]
  },
  "Action": [
    "kms:Encrypt",
    "kms:Decrypt",
    "kms:ReEncrypt*",
    "kms:GenerateDataKey*",
    "kms:DescribeKey"
  ],
  "Resource": "*"
}

Para obter mais informações, consulte Criptografia do lado do servidor de bucket do Amazon S3.

Permissões da ACL

Quando você assina o feed de dados, sua conta recebe permissões da lista de controle de acesso (ACL) para que seu bucket do S3 receba o feed de dados. Sem essas permissões, o feed de dados interrompe a entrega ao bucket. Certifique-se de que essas permissões ainda existam em sua conta:

  1. Abra o console do Amazon S3
  2. Selecione Buckets no painel de navegação e selecione o bucket do S3 associado ao seu feed de dados.
  3. Clique na guia Permissões.
  4. Em Lista de controle de acesso (ACL), encontre a conta externa que foi adicionada como Beneficiária e inscrita no feed de dados. Verifique se essa conta tem a permissão FULL_CONTROL para seu bucket do S3. A permissão da ACL para a conta da AWS awslogsdelivery é adicionada como o ID canônico da conta:
    c4c1ede66af53448b93c283ce9448c4ba468c9432aa01d700d3878632f77d2d0

Se a conta não tiver FULL_CONTROL, ela deverá se inscrever novamente no feed de dados para receber as permissões necessárias da ACL. Para fazer isso, execute o comando create-spot-datafeed-subscription da AWS CLI.

Observação: Se você remover sua assinatura do feed de dados, isso não excluirá automaticamente as permissões da ACL associadas. Se quiser excluir seu feed de dados, você deve acessar as permissões no console do Amazon S3 (etapas 1 a 4) para excluí-las manualmente.

Limite do feed de dados

É possível criar somente um feed de dados por conta da AWS. Para transferir o feed de dados para outro bucket do S3, execute o comando create-spot-datafeed-subscription da AWS CLI novamente com um bucket do S3 diferente.

Runtime da instância spot do EC2

Você recebe um feed de dados somente durante o tempo em que suas instâncias spot do EC2 são executadas. Por exemplo, se você interromper suas instâncias spot por três horas, seu feed de dados também interromperá a entrega de dados por essas três horas. Seu feed de dados é retomado automaticamente quando as instâncias spot são iniciadas novamente.

Propriedade do objeto do S3

As configurações de propriedade do objeto para o bucket do S3 do seu feed de dados devem ser preferidas pelo proprietário do bucket ou pelo gravador de objetos. Essas configurações permitem permissões da ACL para seu bucket do S3. Se você não tiver nenhuma dessas configurações de propriedade no seu bucket do S3, não poderá configurar o feed de dados no seu bucket do S3. Se isso acontecer, você receberá um erro:

"An error occurred (InaccessibleStorageLocation) when calling the CreateSpotDatafeedSubscription operation: The specified bucket does not exist or does not have enough permissions."

Para obter mais informações, consulte Controlar a propriedade de objetos e desabilitar ACLs para seu bucket.

Outras considerações

Ao configurar seu feed de dados, tenha em mente os seguintes pontos:

  • Não há custo extra para ativar um feed de dados. No entanto, você incorre em custos de armazenamento para o feed de dados em seu bucket do S3.
  • Os arquivos de feed de dados geralmente chegam ao seu bucket uma vez por hora. Normalmente, um único arquivo de dados cobre cada hora de uso. Para obter mais informações sobre o tamanho do arquivo e a hora de chegada, consulte Feed de dados da instância spot.
AWS OFICIALAtualizada há 2 anos