从弹性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:连接 尝试失败,因为关联方未正确响应 一段时间后,或建立的连接失败,原因是 连接的主机无法响应--->
答案 0 :(得分:0)
检查Elastic Beanstalk实例的VPC。如果存在SNS接口端点,则可能导致阻塞。