2013-09-25 43 views
0

我有兩個Amazon EC2實例,我想從一臺服務器向另一臺服務器發送消息到MSMQ。通常,在其他測試環境中,這將位於域中,因此不會成爲問題,但這些EC2實例是工作組計算機,而不是域。因此,嘗試發送到該機器上的公共隊列是不可能的。因此,我在第二臺服務器上創建了一個專用隊列,但無法看到如何顯示消息。我試過以下內容:使用MSMQ在兩個EC2實例之間發送消息

[機器名] [queuename]例如ServerB \ testqueue

FormatName:direct = [machinename] \ private $ [queuename]例如FormatName:direct = ServerB \ private $ \ testqueue

DIRECT = [machinename] \ PRIVATE $ [queuename]例如DIRECT = ServerB \ private $ \ testqueue

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

注:我有兩個服務器上市對相關固定EC2 IP工作組/ NetBIOS名稱主機文件條目解決

使用兩個FormatName:條目,我沒有得到任何錯誤,但消息永遠不會到達。使用其他人給我一個關於格式名稱的錯誤。在私人隊列中,我給了每個人完全的控制權。

任何人都可以建議我如何可以從一個EC2窗口服務器發送消息到另一個私有隊列(不在域上)?

感謝

回答

0

這不應該是「接受的答案」 - 但如果你沒有找到你的方式,你可以使用AWS託管隊列實現 - SQS。 它不是與MSMQ兼容的,但它是一個有效的回退策略(管理少一件事)。

2

在私人排隊上,我給了每個人完全的控制權。

這會發現很多人。 「每個人」都不再意味着每個人 - 這在幾年前就已經改變了。 「所有人」是指本地安全系統有權訪問的所有帳戶。不同工作組計算機上的帳戶未知,因此您需要添加「匿名登錄」才能真正獲得每個人。

使用兩個FORMATNAME:條目,我沒有得到任何錯誤,但郵件永遠不會到達

要查看錯誤,則需要啓用負源日誌,檢查死信隊列的信息。

+1

這應該是被批准的答案。我們將計算機管理管理單元添加到mmc,轉到msmq,然後添加到專用隊列,打開屬性並在安全選項卡上給出了匿名讀取訪問權限。似乎我們也可以通過powershell將'HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSMQ \ Parameters \ Security'設置爲'NewRemoteReadServerAllowNoneSecurityClient',我們將在自動化過程中嘗試。 –