Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

992
Views
"La solicitud EC2 Metadata roleName devolvió un error" al usar la biblioteca de cifrado aws con NestJS

Estoy tratando de usar SDK de cifrado de AWS en una aplicación NestJS, la siguiente fuente de código muestra la implementación.

 import { Controller, Get } from '@nestjs/common'; import {KmsKeyringNode, encrypt} from '@aws-crypto/client-node' @Controller('encryption') export class EncryptionController { // constructor() {} @Get() async crypt() { const generatorKeyId = "generatior key"; const masterKeyId = "master key id"; const keyring = new KmsKeyringNode({keyIds:[masterKeyId], generatorKeyId: generatorKeyId}); const plainText = "My passwords for senstive data"; const context = { accountId: "100", purpose: "youtube demo", country: "Sri Lanka" }; const { result } = await encrypt(keyring, plainText, { encryptionContext: context }); console.log(result) } }

pero cuando ejecuto una solicitud para ver el resultado de mi implementación recibo el siguiente error

 Error: connect EHOSTUNREACH 169.254.169.254:80 at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1128:14) { message: 'Missing credentials in config, if using AWS_CONFIG_FILE, set AWS_SDK_LOAD_CONFIG=1', errno: 'EHOSTUNREACH', code: 'CredentialsError', syscall: 'connect', address: '169.254.169.254', port: 80, time: 2020-06-09T11:41:47.638Z, originalError: { message: 'Could not load credentials from any providers', errno: 'EHOSTUNREACH', code: 'CredentialsError', syscall: 'connect', address: '169.254.169.254', port: 80, time: 2020-06-09T11:41:47.638Z, originalError: { message: 'EC2 Metadata roleName request returned error', errno: 'EHOSTUNREACH', code: 'EHOSTUNREACH', syscall: 'connect', address: '169.254.169.254', port: 80, time: 2020-06-09T11:41:47.637Z, originalError: [Object] } } }

Sin embargo, copié un script de nodejs de este tutorial para ver si funciona con mi configuración de aws sdk y no recibí ningún error, también si ejecuté métodos de cifrado de aws kms en el cli no tuve ningún error.

Intenté exportar la variable AWS_SDK_LOAD_CONFIG=1 como vi en otros errores similares.

¿Alguien sabe lo que está pasando?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Yo tuve el mismo problema. Me costó bastante dolor de cabeza porque tenía esto ejecutándose en AWS Fargate y la depuración no es tan fácil allí.

El error significa que el SDK de Javascript no puede encontrar las credenciales de AWS. Aquí puede ver en qué orden el SDK intenta cargar las credenciales desde: https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-credentials-node.html

Mi error fue bastante vergonzoso, solo tenía un error tipográfico en mis variables de entorno. Mi variable era AWS_ACCESSS_KEY_ID en lugar de AWS_ACCESS_KEY_ID . (Bastante difícil ver la diferencia, ¿verdad?)

Entonces, probablemente verifique dos veces los nombres de sus variables de entorno (o archivos de configuración)

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!