Я пытаюсь настроить переадресацию портов между моим локальным ПК и AWS EC2 на основе Статья о перенаправлении портов AWS SSM пример вроде этого:
aws ssm start-session --target i-0822c9a6c52ca7394 \
--document-name AWS-StartPortForwardingSession --parameters \
'{"portNumber":["55555"],"localPortNumber":["6666"]}'
Я уже использую SSM для доступа к экземпляру (используя ssm-сессия) и использовали его для запуска python -m SimpleHTTPServer 55555
прослушивание порта.
Результат, который я получаю от SSM, таков:
Запуск сеанса с SessionId: jakub.holy@481473109573-0dd8f51cc06ef4469
(И, в конце концов, спустя долгое время: SessionId: jakub.holy@481473109573-0dd8f51cc06ef4469: время вашего сеанса истекло из-за бездействия и было прекращено. - а мне еще нужно
kill
Это.)
в этот момент он зависает. Я ожидал, но не вижу следующего сразу после "Startin session ...":
Порт 6666 открыт для sessionId ....
Соединение принято для сеанса .....
Есть идеи, почему он зависает и не устанавливает переадресацию портов?
Убедитесь, что вы можете писать в корзину, используемую для ведения журнала диспетчера сеансов (если он у вас есть), и убедитесь, что вы также предоставили EC2 действие s3:GetBucketEncryption
. Видеть Вот Чтобы получить больше информации
Я получил совет от коллеги:
Возможно, вам потребуется обновить ssm-agent на экземпляре EC2, прежде чем вы сможете использовать функцию переадресации портов. Когда агент не поддерживает переадресацию портов, сеанс зависает без сообщения об ошибке или заканчивается сообщением «Время ожидания сеанса истекло».
(Я использую агент, встроенный в инстанс Amazon Linux 2, который был версии 2.3.662, в то время как самый новый сейчас - 2.3.760.)