2

Here's a snippet of my serverless.yml with relevant configurations:

plugins:
  - serverless-offline
  - serverless-offline-ssm

custom:
  serverless-offline:
    httpPort: 3031
    host: 0.0.0.0
  serverless-offline-ssm:
    stages:
      - dev
    ssm:
      "some-name-1": "some-value-1"
      "some-name-2": "some-value-2"

My serverless stuff seems to be running without a problem. However, as I'm trying to access the SSM parameters in my lambda using aws-sdk, I'm getting errors when I call getParameter from an SSM object:

Error: connect EHOSTDOWN 169.254.169.254:80 - Local (192.168.86.59:60659)
    at internalConnect (net.js:923:16)
    at defaultTriggerAsyncIdScope (internal/async_hooks.js:364:12)
    at net.js:1011:9
    at processTicksAndRejections (internal/process/task_queues.js:79:11) {
  message: 'Missing credentials in config, if using AWS_CONFIG_FILE, set AWS_SDK_LOAD_CONFIG=1',
  errno: 'EHOSTDOWN',
  code: 'CredentialsError',
  syscall: 'connect',
  address: '169.254.169.254',
  port: 80,
  time: 2021-03-23T22:53:32.218Z,
  originalError: {
    message: 'Could not load credentials from any providers',
    errno: 'EHOSTDOWN',
    code: 'CredentialsError',
    syscall: 'connect',
    address: '169.254.169.254',
    port: 80,
    time: 2021-03-23T22:53:32.217Z,
    originalError: {
      message: 'EC2 Metadata roleName request returned error',
      errno: 'EHOSTDOWN',
      code: 'EHOSTDOWN',
      syscall: 'connect',
      address: '169.254.169.254',
      port: 80,
      time: 2021-03-23T22:53:32.217Z,
      originalError: [Object]
    }
  }

Seems like I need to feed the SSM object some configurations to have it connect to my serverless-offline-ssm, but I cannot find that information anywhere. Has someone done something similar for their local testing?

James Li
  • 133
  • 10

0 Answers0