He usado aws sns para el servicio de mensajes. He usado dot env para almacenar credenciales para aws-sdk. La aplicación funciona bien en localhost pero cuando implemento mi aplicación de nodo en AWS EC2 ocurre el siguiente error: Error [CredentialsError]: Faltan credenciales en la configuración, si usa AWS_CONFIG_FILE, configure AWS_SDK_LOAD_CONFIG=1 app.js
const dotenv = require("dotenv"); dotenv.config(); const AWS = require("aws-sdk"); AWS.config.update({ accessKeyId: process.env.ID, secretAccessKey: process.env.KEY, region: process.env.REGION, });Instale CLI en EC2 usando los siguientes comandos:
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip unzip awscliv2.zip sudo ./aws/install sudo ./aws/install -i /usr/local/aws-cli -b /usr/local/binluego en la carpeta de su proyecto antes de iniciar las claves de exportación del servidor:
export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY export AWS_DEFAULT_REGION=us-west-2Referencia: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html , https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2- linux.html