无法在EC2实例上加载AWS凭证

问题描述 投票:1回答:2

应用程序

Spring中的简单REST API注册服务,在发送正确的POST请求后,将在数据库中创建新用户,并且AmazonSES发送带有注册链接的电子邮件以进行验证。

问题

在我的OS(Windows)应用程序中设置局部变量(AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY和AWS_DEFAULT_REGION)后,在本地工作正常,但是在部署它后问题开始出现。我在AWS上的Amazon Linux AMI上有一个EC2实例:

  • [在AWS Identity and Access Management(IAM)上创建的用户,已授予AmazonSESFullAccess角色
  • 使用私钥文件* .pem使用shh通过CMD记录
  • Tomcat8服务已启动
  • MySQL服务已启动
  • 已部署应用程序* .war文件
  • 使用'export'命令创建了环境变量,并且我检查了'printenv'以确保一切都很好
  • 发送POST请求后,我得到了异常(如下),这意味着该用户已创建,但AmazonsSES由于无法认证而未发送电子邮件确认
{
    "timestamp": "2020-04-26T15:44:44.010+0000",
    "message": "Unable to load AWS credentials from any provider in the chain: [EnvironmentVariableCredentialsProvider: Unable to load AWS credentials from environment variables (AWS_ACCESS_KEY_ID (or AWS_ACCESS_KEY) and AWS_SECRET_KEY (or AWS_SECRET_ACCESS_KEY)), SystemPropertiesCredentialsProvider: Unable to load AWS credentials from Java system properties (aws.accessKeyId and aws.secretKey), WebIdentityTokenCredentialsProvider: To use assume role profiles the aws-java-sdk-sts module must be on the class path., com.amazonaws.auth.profile.ProfileCredentialsProvider@23fac1a3: profile file cannot be null, com.amazonaws.auth.EC2ContainerCredentialsProviderWrapper@68aa5a98: The requested metadata is not found at http://169.254.169.254/latest/meta-data/iam/security-credentials/]"
}
  • [我再次检查了我的EC2实例上的本地环境变量,它看起来不错,但是请确保使用'aws configure'命令重新配置了它

  • 异常不断显示,应用程序无法获得环境变量,我已经与环境变量进行了5个多小时的战斗,因此希望有人来这里救我...

    ]]
  • 代码片段(在本地可以正常工作:]:>

        AmazonSimpleEmailService client =
                AmazonSimpleEmailServiceClientBuilder
                        .standard()
                        .withCredentials(DefaultAWSCredentialsProviderChain.getInstance())
                        .withRegion(Regions.EU_CENTRAL_1)
                        .build();

我完全是Linux新手,使用简单的命令有问题,因此请谨慎使用需要一些控制台命令的解决方案。

Spring中的应用程序Simple REST API注册服务,在发送适当的POST请求后,将在数据库中创建新用户,并且AmazonSES发送带有注册链接的电子邮件以进行验证。 ...

java amazon-web-services amazon-ec2 amazon-ses
2个回答
0
投票
请确保您具有AWS CLI installed,然后可以运行以下命令来配置您的配置文件:

aws configure


0
投票
© www.soinside.com 2019 - 2024. All rights reserved.