Невозможно обмениваться данными между инстансами Amazon EC2 для Windows

16

У меня есть два экземпляра Amazon EC2 под управлением Windows Server 2003 и IIS 6.0. Оба экземпляра созданы в одном регионе и имеют одну и ту же группу безопасности. Я включаю icmp для всех портов и методов подключения и могу успешно пропинговать между обоими экземплярами. Однако, когда я пытаюсь получить доступ к общим местоположениям одного экземпляра EC2, например, с помощью:

\\<elastic-ip>

или

\\<internal-private-ip>

Я не могу увидеть общие папки и получаю сообщение об ошибке:

Ни один сетевой провайдер не принял указанный сетевой путь

Я могу отследить от обоих экземпляров EC2, используя команду tracert.

Пожалуйста, дайте мне знать, как получить доступ к общим папкам между двумя экземплярами EC2.

Благодарность

PS: я знаю, что это может быть альтернативно достигнуто с помощью S3, но не хочу использовать его по разным причинам.

Prashant
источник

Ответы:

18

Я нашел ответ на свой запрос, и вот он:

Теория:

Это можно найти в этой статье базы знаний Майкрософт, в которой рассматриваются способы включения общего доступа к файлам Microsoft SMB. Нижеследующее имеет значение:

Следующие порты связаны с обменом файлами и сообщениями SMB:

  • SMB для общего доступа к файлам Microsoft: порты протокола пользовательских дейтаграмм (UDP) от 135 до 139 и порты протокола управления передачей (TCP) от 135 до 139.
  • SMB-трафик прямого размещения без базовой сетевой системы ввода / вывода (NetBIOS): порт 445 (TCP и UPD).

Как это сделать:

  1. Включите указанные выше порты в группе безопасности, связанной с вашим экземпляром EC2. После этого ваши разрешения группы безопасности должны выглядеть примерно так, как показано ниже: Разрешения группы безопасности EC2

  2. Включите порты в брандмауэрах Windows обоих экземпляров. Подробный способ сделать это можно найти здесь . Пропустите шаг 7 для Windows Server.

Это решает проблему, однако может потребоваться перезапуск экземпляров.

Prashant
источник
2
это позволяет общий доступ к папкам для всего мира? не уверен, что это то, что я хотел бы сделать.
Джангофан
Да, это так, но вы можете заблокировать его для IP-адреса или подсети, когда вы укажете IP-адрес
Брайен Мэлоун
Ааааа, большое спасибо, ты только что сделал мой день :)
whitesiroi
Ссылка на шаге 2 не работает. Может ли он быть обновлен или содержание размещено здесь?
Дэвид
1

Вот порядок, в котором я бы проверял вещи:

  1. Общий доступ к файлам и принтерам включен на сетевом адаптере
  2. все важные службы работают
  3. все необходимые порты открыты на обоих межсетевых экранах
  4. Проверьте журналы приложений и системных событий на наличие других подсказок.
  5. Убедитесь, что на сетевом адаптере не установлена ​​фильтрация TCP.
JakeRobinson
источник
Спасибо Джейк, но эти шаги неоднозначны и не отвечают на мой вопрос. Как видно из моего вопроса, я уже знаю об общем направлении. В любом случае спасибо.
Прашант
0

Я просто включил порты 135-139 для TCP и UDP и снова порт 445 для TCP и UDP в группе безопасности для всех пользователей, таких как 0.0.0.0/0 или для моего блока CIDR, и это сработало. Затем я мог получить доступ к общему диску через IP, но не через идентификатор экземпляра или имя машины Windows. Включение или отключение указанных выше портов в брандмауэре Windows не повлияло.

Суровая Гупта
источник