在两个EC2实例之间使用MSMQ发送消息

时间:2013-09-25 09:17:45

标签: amazon-web-services amazon-ec2 msmq

我有两个Amazon EC2实例,我希望从一个服务器向另一个服务器发送消息到MSMQ。通常,在其他测试环境中,这将在域上,因此不会有问题,但这些EC2实例是工作组计算机而不是域。因此,尝试发送到该计算机上的公共队列是不可能的。因此,我在第二台服务器上创建了一个专用队列,但无法看到如何显示该消息。我尝试了以下内容:

  

[machinename] [queuename]例如服务器B \ testqueue

     

FormatName:direct = [machinename] \ private $ [queuename]例如FORMATNAME:直接=服务器B \私人$ \ testqueue

     

DIRECT = [machinename] \ PRIVATE $ [queuename]例如DIRECT =服务器B \私人$ \ testqueue

     

FormatName:direct = os:[machinename] \ PRIVATE $ [queuename]例如FORMATNAME:直接= OS:服务器B \私人$ \ testqueue

注意:我有两个服务器的主机文件条目,列出工作组/ netbios名称与相关的固定EC2 IP地址

使用两个FormatName:条目,我没有收到任何错误,但邮件永远不会到达。使用其他人给我一个关于格式名称的错误。在私人队列中,我给了“每个人”完全控制权。

有人可以建议我如何将消息从一个EC2 Windows服务器发送到另一个EC2的私有队列(不在域上)吗?

由于

2 个答案:

答案 0 :(得分:2)

  

在私人队列中,我给了'每个人'完全控制权。

这引起了很多人的关注。 “每个人”并不意味着每个人 - 这在几年前就已经改变了。 “Everyone”表示本地安全系统可以访问的所有帐户。不知道其他工作组计算机上的帐户,因此您需要添加“匿名登录”才能真正吸引所有人。

  

使用两个FormatName:条目,我没有收到任何错误,但邮件永远不会到达

要查看错误,您需要启用负源日记功能并检查死信队列以获取信息。

答案 1 :(得分:0)

这不应该是“已接受的答案” - 但如果您找不到自己的方式,则可以使用AWS托管的队列实施 - SQS。 它不是与MSMQ兼容的1-1,但它是一种有效的后备策略(管理时少了一件事)。