Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

363
Vistas
¿Cómo puedo mejorar el rendimiento (tiempo de respuesta) del SDK de cifrado de AWS al descifrar?

Tengo un AWS Lambda que se utiliza para cifrar PII (información de identificación personal) mediante el SDK de cifrado de AWS antes de almacenarlo en DynamoDB.

Al recuperar los datos de DynamoDB usando un Lambda diferente para mostrar a los usuarios finales, el tiempo promedio para cada llamada a KMS es de 9,48 segundos. Esto se promedia en aproximadamente 2k solicitudes con solicitudes que van desde ~14,5 segundos a ~5,1 segundos. Las llamadas a KMS se realizan de forma asíncrona.

El tiempo total desde la primera llamada KMS hasta la última es de ~20 segundos

Hemos considerado usar el almacenamiento en caché de claves de datos y leímos esta publicación de blog de AWS sobre cuándo usarlo.

Es posible que la entrada de nuestros datos no sea lo suficientemente frecuente como para aprovechar al máximo el almacenamiento en caché, y estoy tratando de encontrar otras formas de mejorar el rendimiento.

Código de descifrado Sippet:

 async function decryptWithKeyring(keyring: KmsKeyringNode, ciphertext: string, context: {}) { const b: Buffer = Buffer.from(ciphertext, 'base64'); const { plaintext, messageHeader } = await decrypt(keyring, b); const { encryptionContext } = messageHeader; Object.entries(context).forEach(([key, value]) => { if (encryptionContext[key] !== value) { throw new Error('Encryption Context does not match expected values'); } }); return plaintext.toString(); }

Cifrar fragmento:

 async function encryptWithKeyring(keyring: KmsKeyringNode, value: any, context: any) { const { result } = await encrypt(keyring, value, { encryptionContext: context }); return result.toString('base64'); }

La conversión a base64 fue para facilitar el almacenamiento en DynamoDB.

XRay Trace Map Muestreo de datos de KMS Trace

over 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda