Passer au contenu

Comment puis-je utiliser Session Manager pour créer une redirection de port ?

Lecture de 2 minute(s)
0

Je souhaite utiliser le gestionnaire de session d’AWS Systems Manager pour créer une redirection de port.

Résolution

Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'interface.

Pour utiliser le Gestionnaire de session afin de créer une redirection de port, procédez comme suit :

  1. Vérifiez que Systems Manager gère votre instance Amazon Elastic Compute Cloud (Amazon EC2). Pour plus d'informations, consultez la section Gestion des instances EC2 avec Systems Manager et Installation et désinstallation manuelles d’AWS Systems Manager Agent sur les instances EC2 pour Linux.

  2. Installez le plug-in Session Manager pour l'interface de ligne de commande AWS.

  3. Pour vérifier que le port de l'instance EC2 cible est en mode écoute, exécutez les commandes suivantes :
    Linux :

    netstat -plant

    macOS :

    lsof -iTCP -sTCP:LISTEN -P -n

    Windows :

    netstat -nb
  4. Configurez une politique de Gestion des identités et des accès AWS (AWS IAM) qui permet aux utilisateurs d'utiliser des sessions de redirection de port via Systems Manager. L'exemple de politique IAM suivant autorise la redirection de port sur toutes les instances EC2 d'un compte 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"
                ]
            }
        ]
    }

    Remarque : Remplacez example-account-id par votre ID de compte :

  5. Exécutez la commande en fonction de votre système d'exploitation.
    Linux ou macOS :

    # aws ssm start-session \
     --target example-EC2-instance-ID \
     --document-name AWS-StartPortForwardingSession \  
      --parameters '{"portNumber":["80"], "localPortNumber":["example-local-port"]}'

    Remarque : Remplacez example-EC2-instance-ID par votre ID d'instance EC2 et example-local-port par votre port local.
    Windows :

    # aws ssm start-session  
     --target "example-EC2-instance-ID" --document-name AWS-StartPortForwardingSession --parameters "portNumber"=["80"],"localPortNumber"=["example-local-port"]

    Remarque : Remplacez example-EC2-instance-ID par votre ID d'instance EC2 et example-local-port par votre port local.

  6. Pour afficher le contenu du serveur Web de votre instance, dans le navigateur sur votre machine locale, chargez http://localhost:example-local-port.
    Remarque : Il n'est pas nécessaire d'ouvrir le port entrant 80 sur votre instance EC2 gérée dans un groupe de sécurité ou une liste de contrôle d'accès au réseau.

AWS OFFICIELA mis à jour il y a 7 mois