Configuré una fuente de datos de Amazon Elastic Compute Cloud (Amazon EC2) con Amazon Simple Storage Service (Amazon S3). Quiero solucionar problemas con la fuente de datos.
Descripción corta
Para comprobar los cargos de las instancias de spot de Amazon EC2, configure una fuente de datos que informe sobre el uso y los precios de las instancias de spot. Cuando se suscribe a la fuente de datos, Amazon EC2 almacena estos datos en un bucket de S3. Si tiene problemas con la fuente de datos, complete los siguientes pasos de solución de problemas, según el problema que tenga.
Resolución
Nota: Si se muestran errores al ejecutar comandos de AWS CLI, compruebe si está utilizando la versión más reciente de AWS CLI.
Cifrado de AWS KMS
Es posible que su bucket de S3 esté cifrado con una clave de AWS Key Management Service (AWS KMS) administrada por el cliente. En este caso, debe permitir el servicio a delivery.logs.amazonaws.com en los permisos de la política de claves de AWS KMS. Esto permite a AWS KMS entregar la fuente de datos al bucket de S3 cifrado.
Incluya los siguientes permisos en su política de claves:
{
"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 más información, consulte Amazon S3 bucket server-side encryption (Cifrado del servidor de buckets de Amazon S3).
Permisos de ACL
Cuando se suscribe a la fuente de datos, su cuenta recibe los permisos de la lista de control de acceso (ACL) para que su bucket de S3 reciba la fuente de datos. Sin estos permisos, la fuente de datos detiene la entrega al bucket. Asegúrese de que estos permisos sigan presentes en su cuenta:
- Abra la consola de Amazon S3.
- Elija Buckets en el panel de navegación y, a continuación, seleccione el bucket de S3 que está asociado a su fuente de datos.
- Seleccione la pestaña Permisos.
- En Lista de control de acceso (ACL), busque la cuenta externa que se agregó como concesionaria y se suscribió a la fuente de datos. Compruebe que esta cuenta tenga el permiso FULL_CONTROL para su bucket de S3. El permiso de ACL de la cuenta de AWS awslogsdelivery se añade como ID canónico de la cuenta:
c4c1ede66af53448b93c283ce9448c4ba468c9432aa01d700d3878632f77d2d0
Si la cuenta no tiene FULL_CONTROL, debe volver a suscribirse a la fuente de datos para recibir los permisos de ACL necesarios. Para ello, ejecute el comando create-spot-datafeed-subscription de AWS CLI.
Nota: Si elimina la suscripción a la fuente de datos, no se eliminarán automáticamente los permisos de ACL asociados. Si desea eliminar su fuente de datos, debe acceder a los permisos de la consola de Amazon S3 (pasos 1 a 4) para eliminarlos manualmente.
Límite de fuentes de datos
Solo puede crear una fuente de datos por cuenta de AWS. Para transferir la fuente de datos a otro bucket de S3, vuelva a ejecutar el comando create-spot-datafeed-subscription de AWS CLI con un bucket de S3 diferente.
Tiempo de ejecución de la instancia de spot de EC2
Solo recibirá una fuente de datos durante el tiempo en que se ejecuten sus instancias de spot de EC2. Por ejemplo, si detiene sus instancias de spot durante tres horas, su fuente de datos también deja de entregar datos durante esas tres horas. Su fuente de datos se reanuda automáticamente cuando se vuelven a iniciar las instancias de spot.
Propiedad de objetos de S3
La opción de configuración de la propiedad de objetos para el bucket S3 de la fuente de datos debe ser Propietario preferido del bucket o Escritor del objeto. Estas configuraciones permiten los permisos de ACL para su bucket de S3. Si no tiene ninguna de estas configuraciones de propiedad en su bucket de S3, no podrá configurar la fuente de datos de su bucket de S3. Si esto ocurre, recibirá un error de este tipo:
"An error occurred (InaccessibleStorageLocation) when calling the CreateSpotDatafeedSubscription operation: The specified bucket does not exist or does not have enough permissions."
Para obtener más información, consulte Controlar la propiedad de los objetos y deshabilitar las ACL de su bucket.
Otras consideraciones
Al configurar la fuente de datos, tenga en cuenta los siguientes puntos:
- La activación de una fuente de datos no conlleva ningún coste adicional. Sin embargo, se generarán costes de almacenamiento por el almacenamiento de la fuente de datos en su bucket de S3.
- Los archivos de la fuente de datos suelen llegar a su bucket una vez por hora. Por lo general, un único archivo de datos cubre cada hora de uso. Para obtener más información sobre el tamaño de los archivos y la hora de llegada, consulte la fuente de datos de la instancia de spot.