Por que não consigo visualizar logs de cluster do Amazon EMR em um bucket S3 que apresenta uma política anexa que impõe a criptografia SSE-KMS?

2 minuto de leitura
0

Meus logs de cluster do Amazon EMR não estão sendo arquivados no bucket do Amazon Simple Storage Service (Amazon S3) que eu especifiquei. O bucket do S3 tem uma política anexada que impõe a criptografia no lado do servidor com o AWS Key Management Service (SSE-KMS). A gravação do log falha com um erro 403 semelhante ao seguinte: 2020-01-15 04:01:25,247 INFO logspusher-6: Falha ao carregar 126 logs: USE: /emr/instance-state/instance-state.log-2020-01-14-20-15.gz motivo: Acesso negado (Serviço: Amazon S3; Código de status: 403; Código de erro: Acesso negado; ID da solicitação: 8B99FE94D1678AAB)

Descrição breve

Quando o log está habilitado para um cluster do Amazon EMR, o serviço LogPusher arquiva os logs do cluster no bucket do S3 especificado. O LogPusher usa criptografia AES-256, em vez de SSE-KMS, para gravar logs. Para gravar logs em um bucket do S3 que tenha uma política de criptografia SSE-KMS, use o comando sync para carregar manualmente os arquivos.

Observação: se você receber erros ao executar comandos da AWS CLI, certifique-se de estar utilizando a versão mais recente da AWS CLI.

Resolução

Observação: com o Amazon EMR versão 5.30.0 e posterior (exceto o Amazon EMR 6.0.0), você pode criptografar arquivos de log armazenados no Amazon S3 com uma chave gerenciada pelo cliente do AWS KMS.

1.    Conecte-se ao nó principal usando SSH.

2.    Localize os arquivos de log que você deseja copiar. Por exemplo, os logs de etapas são armazenados em /mnt/var/log/hadoop/steps no nó principal.

3.    Para copiar os arquivos de log para o bucket do S3, execute o comando sync com o campo --sse-kms-key-id. Exemplo:

aws s3 sync /mnt/var/log/hadoop/steps/ s3://awsexamplebucket/elasticmapreduce/${cluster_id}/steps/ --sse aws:kms --sse-kms-key-id 17246c74-6ff4-4adb-86e5-76f7f1603f00

Você pode usar um trabalho cron para automatizar o comando sync. Para configurar o trabalho cron, execute uma ação de bootstrap personalizada em todos os nós ao iniciar um cluster do Amazon EMR.


Informações relacionadas

Proteger dados usando a criptografia no lado no servidor com chaves do AWS KMS armazenadas no AWS Key Management Service

O que acontece com objetos novos ou existentes quando eu habilito a criptografia padrão com o AWS KMS no meu bucket do Amazon S3?

AWS OFICIAL
AWS OFICIALAtualizada há 3 anos