Quero usar o Session Manager, um recurso do AWS Systems Manager, para criar o encaminhamento de portas.
Resolução
Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.
Para usar o Gerenciador de Sessões para criar o encaminhamento de portas, conclua as seguintes etapas:
-
Confirme se o Systems Manager está gerenciando sua instância do Amazon Elastic Compute Cloud (Amazon EC2). Para obter mais informações, consulte Gerenciamento de instâncias do EC2 com o Systems Manager e Instalação e desinstalação manual do AWS Systems Manager Agent em instâncias do EC2 para Linux.
-
Instale o plug-in do Session Manager para o AWS CLI.
-
Para verificar se a porta na instância EC2 de destino está no modo de escuta, execute os seguintes comandos:
Linux:
netstat -plant
macOS:
lsof -iTCP -sTCP:LISTEN -P -n
Windows:
netstat -nb
-
Configure uma política do AWS Identity and Access Management (AWS IAM) que permita aos usuários usar sessões de encaminhamento de portas por meio do Systems Manager. O exemplo de política do IAM a seguir permite o encaminhamento de portas em todas as instâncias do EC2 em uma conta da AWS:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "ssm:StartSession",
"Resource": [
"arn:aws:ec2:*:example-account-id:instance/*",
"arn:aws:ssm:*::document/AWS-StartPortForwardingSession"
]
}
]
}
Observação: substitua o example-account-id pelo ID da sua conta:
-
Execute o comando com base no seu SO.
Linux ou macOS:
# aws ssm start-session \
--target example-EC2-instance-ID \
--document-name AWS-StartPortForwardingSession \
--parameters '{"portNumber":["80"], "localPortNumber":["example-local-port"]}'
Observação: substitua example-EC2-instance-ID pelo ID da instância do EC2 e example-local-port pela porta local.
Windows:
# aws ssm start-session
--target "example-EC2-instance-ID" --document-name AWS-StartPortForwardingSession --parameters "portNumber"=["80"],"localPortNumber"=["example-local-port"]
Observação: substitua example-EC2-instance-ID pelo ID da instância do EC2 e example-local-port pela porta local.
-
Abra o navegador na máquina local e carregue http://localhost:example-local-port para visualizar o conteúdo do servidor web da sua instância.
Observação: não é necessário abrir a porta de entrada 80 em sua instância gerenciada do EC2 em um grupo de segurança ou em uma lista de controle de acesso à rede.