¿Por qué no puedo ver los registros del clúster de Amazon EMR en un bucket de S3 que tenga una política asociada que imponga el cifrado SSE-KMS?

2 minutos de lectura
0

Los registros de clústeres de Amazon EMR no se están archivando en el bucket de Amazon Simple Storage Service (Amazon S3) que especifiqué. El bucket de S3 tiene una política asociada que impone el cifrado en el lado del servidor con AWS Key Management Service (SSE-KMS). Al escribir el registro, se produce un error 403 similar al siguiente: 2020-01-15 04:01:25,247 INFO logspusher-6: No se han podido cargar 126 registros: UTILICE: /emr/instance-state/instance-state.log-2020-01-14-20-15.gz Motivo: Acceso denegado (servicio: Amazon S3; código de estado: 403; código de error: AccessDenied; ID de solicitud: 8B99FE94D1678AAB)

Breve descripción

Cuando el registro está habilitado para un clúster de Amazon EMR, el servicio LogPusher archiva los registros del clúster en el bucket de S3 especificado. LogPusher usa el cifrado AES-256, en lugar de SSE-KMS, para escribir registros. Para escribir registros en un bucket de S3 que tenga una política de cifrado SSE-KMS, utilice el comando sync para cargar los archivos manualmente.

Nota: Si se muestran errores al ejecutar comandos de AWS CLI, compruebe si está utilizando la versión más reciente de AWS CLI.

Solución

Nota: Con la versión 5.30.0 y posteriores de Amazon EMR (excepto Amazon EMR 6.0.0), puede cifrar los archivos de registro almacenados en Amazon S3 con una clave administrada por el cliente de AWS KMS.

1.    Conéctese al nodo maestro mediante SSH.

2.    Busque losarchivos de registro que desee copiar. Por ejemplo, los registros de pasos se almacenan en /mnt/var/log/hadoop/steps en el nodo maestro.

3.    Para copiar los archivos de registro en el bucket de S3, ejecute el comando sync con el campo ** --sse-kms-key-id**. Ejemplo:

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

Puede utilizar un trabajo cron para automatizar el comando sync. Para configurar el trabajo cron, ejecute una acción de arranque personalizada en todos los nodos al lanzar un clúster de Amazon EMR.


Información relacionada

Protección de los datos con el cifrado del lado del servidor con claves de AWS Key Management Service (SSE-KMS)

¿Qué ocurre con los objetos nuevos o existentes cuando activo el cifrado predeterminado con AWS KMS en mi bucket de Amazon S3?

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 3 años