从弹性beantalk中访问SNS超时

时间:2018-07-11 17:20:14

标签: c# amazon-web-services asp.net-core amazon-sns amazon-elastic-beanstalk

从弹性beantalk实例访问SNS是否需要其他网络权限?

当部署到AWS时,我的.net核心应用程序尝试访问SNS时会超时-例如,列出主题。当然,当在AWS网络之外的计算机上运行时,这是“在我的机器上工作”。

示例控制器代码:

[Route("api/sns")]
[AllowAnonymous]
public class SNSTestController : ControllerBase
{
    readonly IAmazonSimpleNotificationService sns;

    public SNSTestController(IAmazonSimpleNotificationService sns)
    {
        this.sns = sns;
    }

    [HttpGet("list")]
    public async Task<IActionResult> List()
    {
        // *** TIMES OUT HERE
        var topics = await sns.ListTopicsAsync();
        return Ok(topics.Topics.Select(t => t.TopicArn).ToArray());
    }
}

抛出异常表明SNS资源被阻止。

  

错误:连接ID“ 0HLF7A2KOU7GP”,请求ID   “ 0HLF7A2KOU7GP:00000001”:程序抛出未处理的异常   应用。 :System.Net.Http.HttpRequestException:连接   尝试失败,因为关联方未正确响应   一段时间后,或建立的连接失败,原因是   连接的主机无法响应--->

1 个答案:

答案 0 :(得分:0)

检查Elastic Beanstalk实例的VPC。如果存在SNS接口端点,则可能导致阻塞。