(옵션) AWS CLI용 Session Manager 플러그인 설치 - AWS Systems Manager

(옵션) AWS CLI용 Session Manager 플러그인 설치

AWS Command Line Interface(AWS CLI)를 사용하여 관리형 노드에 연결하는 세션을 시작 및 종료하려는 경우 먼저, 로컬 시스템에 Session Manager 플러그 인을 설치해야 합니다. 이 플러그 인은 Microsoft Windows, macOS, Linux 및 Ubuntu Server의 지원되는 버전에 설치할 수 있습니다.

최신 버전의 Session Manager 플러그인 사용

Session Manager 플러그인은 가끔씩 향상된 기능으로 업데이트됩니다. 최신 버전의 플러그인을 사용 중인지 정기적으로 확인하는 것이 좋습니다. 자세한 정보는 Session Manager 플러그인 최신 버전 및 릴리스 기록을 참조하십시오.

설치 사전 조건

Session Manager 플러그인을 사용하려면 로컬 시스템에 AWS CLI 버전 1.16.12 이상이 설치되어 있어야 합니다.

Windows에 Session Manager 플러그인 설치

독립 실행형 설치 관리자를 사용하면 Microsoft Windows Vista 이상에 Session Manager 플러그인을 설치할 수 있습니다.

업데이트가 릴리스되면 설치 프로세스를 반복하여 최신 버전의 Session Manager 플러그인을 가져와야 합니다.

참고

최상의 결과를 얻기 위해 Windows PowerShell 버전 5 이상을 사용하여 Windows에서 세션을 시작하는 것이 좋습니다. 또는 Microsoft Windows 10에서 Command 셸을 사용할 수 있습니다. 이Session Manager 플러그인은 PowerShell과 Command 셸만 지원합니다. 서드 파티 명령줄 도구는 플러그인과 호환되지 않을 수 있습니다.

EXE 설치 관리자를 사용하여 Session Manager 플러그인을 설치하려면

  1. 다음 URL을 사용하여 설치 관리자를 다운로드합니다.

    https://s3.amazonaws.com/session-manager-downloads/plugin/latest/windows/SessionManagerPluginSetup.exe

    또는 다음 URL을 사용하여 압축 버전의 설치 프로그램을 다운로드할 수 있습니다.

    https://s3.amazonaws.com/session-manager-downloads/plugin/latest/windows/SessionManagerPlugin.zip
  2. 다운로드한 설치 관리자를 실행하고 화면의 지침을 따릅니다. 압축된 버전의 설치 프로그램을 다운로드한 경우 먼저 설치 프로그램의 압축을 풀어야 합니다.

    기본 디렉터리에 플러그인을 설치하려면 설치 위치 상자를 비워 둡니다.

    • %PROGRAMFILES%\Amazon\SessionManagerPlugin\bin\

  3. 설치가 성공적인지 확인합니다. 자세한 내용은 Session Manager 플러그인 설치 확인을 참조하세요.

    참고

    Windows에서 실행 파일을 찾을 수 없는 경우 명령 프롬프트를 다시 열거나 설치 디렉터리를 PATH 환경 변수에 수동으로 추가해야 할 수 있습니다. 자세한 내용은 문제 해결 주제 Session Manager 플러그인이 명령줄 경로에 자동으로 추가되지 않음(Windows) 섹션을 참조하세요.

macOS에 Session Manager 플러그인 설치 및 제거

번들 설치 관리자를 사용하여 macOS에 Session Manager 플러그인을 설치할 수 있습니다.

중요

번들 설치 관리자는 공백을 포함하는 경로에 설치하는 것을 지원하지 않습니다.

번들 설치 관리자를 사용하여 Session Manager 플러그인을 설치하려면(macOS)

  1. 번들 설치 관리자를 다운로드합니다.

    curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/mac/sessionmanager-bundle.zip" -o "sessionmanager-bundle.zip"
  2. 패키지의 압축을 풉니다.

    unzip sessionmanager-bundle.zip
  3. 설치 명령을 실행합니다.

    sudo ./sessionmanager-bundle/install -i /usr/local/sessionmanagerplugin -b /usr/local/bin/session-manager-plugin
    참고

    플러그인에 Python 2.6.5 이상 또는 Python 3.3 이상이 필요합니다. 기본적으로 설치 스크립트는 시스템 기본 버전의 Python에서 실행됩니다. 대체 버전의 Python을 설치하고 이를 사용하여 Session Manager 플러그인을 설치하려는 경우 Python 실행 파일에 대한 절대 경로로 해당 버전의 설치 스크립트를 실행합니다. 다음은 예입니다.

    sudo /usr/local/bin/python3.6 sessionmanager-bundle/install -i /usr/local/sessionmanagerplugin -b /usr/local/bin/session-manager-plugin

    설치 관리자는 /usr/local/sessionmanagerplugin에서 Session Manager 플러그인을 설치하고 /usr/local/bin 디렉터리에 symlink session-manager-plugin을 생성합니다. 이렇게 하면 사용자의 $PATH 변수에 설치 디렉터리를 지정할 필요가 없습니다.

    -i-b 옵션에 대한 설명을 보려면 -h 옵션을 사용합니다.

    ./sessionmanager-bundle/install -h
  4. 설치가 성공적인지 확인합니다. 자세한 내용은 Session Manager 플러그인 설치 확인을 참조하세요.

참고

플러그인을 제거하려면 다음 명령 2개를 표시된 순서로 실행합니다.

sudo rm -rf /usr/local/sessionmanagerplugin
sudo rm /usr/local/bin/session-manager-plugin

서명된 설치 관리자로 macOS에 Session Manager 플러그인 설치

서명된 설치 관리자를 사용하여 macOS에 Session Manager 플러그인을 설치할 수 있습니다.

서명된 설치 관리자를 사용하여 Session Manager 플러그인을 설치하려면(macOS)

  1. 서명된 설치 관리자를 다운로드합니다.

    curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/mac/session-manager-plugin.pkg" -o "session-manager-plugin.pkg"
  2. 설치 명령을 실행합니다.

    sudo installer -pkg session-manager-plugin.pkg -target / sudo ln -s /usr/local/sessionmanagerplugin/bin/session-manager-plugin /usr/local/bin/session-manager-plugin
  3. 설치가 성공적인지 확인합니다. 자세한 내용은 Session Manager 플러그인 설치 확인을 참조하세요.

Linux에 Session Manager 플러그인 설치

  1. Session Manager 플러그인 RPM 패키지를 다운로드합니다.

    • x86_64

      curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_64bit/session-manager-plugin.rpm" -o "session-manager-plugin.rpm"
    • x86

      curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_32bit/session-manager-plugin.rpm" -o "session-manager-plugin.rpm"
    • ARM64

      curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_arm64/session-manager-plugin.rpm" -o "session-manager-plugin.rpm"
  2. 설치 명령을 실행합니다.

    sudo yum install -y session-manager-plugin.rpm
  3. 설치가 성공적인지 확인합니다. 자세한 내용은 Session Manager 플러그인 설치 확인을 참조하세요.

참고

플러그인을 제거하려는 경우 sudo yum erase session-manager-plugin -y를 실행합니다.

Ubuntu Server에 Session Manager 플러그 인 설치

  1. Session Manager 플러그인 deb 패키지를 다운로드합니다.

    • x86_64

      curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.deb" -o "session-manager-plugin.deb"
    • x86

      curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_32bit/session-manager-plugin.deb" -o "session-manager-plugin.deb"
    • ARM64

      curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_arm64/session-manager-plugin.deb" -o "session-manager-plugin.deb"
  2. 설치 명령을 실행합니다.

    sudo dpkg -i session-manager-plugin.deb
  3. 설치가 성공적인지 확인합니다. 자세한 내용은 Session Manager 플러그인 설치 확인을 참조하세요.

참고

플러그인을 제거하려는 경우 sudo dpkg -r session-manager-plugin를 실행합니다.

Session Manager 플러그인 설치 확인

다음 명령을 실행하여 Session Manager 플러그인이 성공적으로 설치되었는지 확인합니다.

session-manager-plugin

설치에 성공하면 다음 메시지가 반환됩니다.

The Session Manager plugin is installed successfully. Use the AWS CLI to start a session.

또한 AWS CLI에서 다음 명령을 실행하여 설치를 테스트할 수도 있습니다. 다음 명령에서 instance-id를 자신의 정보로 바꿉니다.

aws ssm start-session --target instance-id

이 명령은 Session Manager 관리자가 Session Manager를 사용하여 대상 관리형 노드에 액세스하는 데 필요한 IAM 권한을 부여한 경우에만 작동합니다.

GitHub의 Session Manager 플러그인

Session Manager 플러그인의 소스 코드는 GitHub에 제공되므로 필요에 따라 플러그인을 조정할 수 있습니다. 포함하고 싶은 변경에 대해서는 풀 요청을 제출하는 것이 좋습니다. 단, Amazon Web Services에서 이 소프트웨어의 수정된 사본 실행을 지원하지 않습니다.

(옵션) Session Manager 플러그인 로깅 설정

Session Manager 플러그인에는 실행하는 세션에 대한 로깅을 허용하는 옵션이 있습니다. 기본적으로 로깅은 해제되어 있습니다.

로깅을 허용하면 Session Manager 플러그인에서는 로컬 시스템에서 발생한 애플리케이션 활동(session-manager-plugin.log) 및 오류(errors.log)에 대한 로그 파일이 생성됩니다.

Session Manager 플러그인에 대한 로깅 해제(Windows)

  1. 플러그인에 대한 seelog.xml.template 파일을 찾습니다.

    기본 위치는 C:\Program Files\Amazon\SessionManagerPlugin\seelog.xml.template입니다.

  2. 이 파일의 이름을 seelog.xml로 변경합니다.

  3. 파일을 열고 minlevel="off"minlevel="info" 또는 minlevel="debug"로 변경합니다.

    참고

    기본적으로 데이터 채널 열기 및 세션 다시 연결에 대한 항목은 INFO 수준에서 기록됩니다. 데이터 흐림(패킷 및 승인) 항목은 DEBUG 수준에서 기록됩니다.

  4. 수정하려는 다른 구성 옵션을 변경합니다. 변경 가능한 옵션은 다음과 같습니다.

    • 디버그 수준: 디버그 수준은 formatid="fmtinfo"에서 outputs formatid="fmtdebug"로 변경할 수 있습니다.

    • 로그 파일 옵션: 로그 파일 이름을 제외하고 로그가 저장되는 위치를 포함해 로그 파일 옵션을 변경할 수 있습니다.

      중요

      파일 이름을 변경하지 않습니다. 그렇지 않으면 로깅이 제대로 작동하지 않습니다.

      <rollingfile type="size" filename="C:\Program Files\Amazon\SessionManagerPlugin\Logs\session-manager-plugin.log" maxsize="30000000" maxrolls="5"/> <filter levels="error,critical" formatid="fmterror"> <rollingfile type="size" filename="C:\Program Files\Amazon\SessionManagerPlugin\Logs\errors.log" maxsize="10000000" maxrolls="5"/>
  5. 파일을 저장합니다.

Session Manager 플러그인에 대한 로깅 사용(Linux 및 macOS)

  1. 플러그인에 대한 seelog.xml.template 파일을 찾습니다.

    기본 위치는 /usr/local/sessionmanagerplugin/seelog.xml.template입니다.

  2. 이 파일의 이름을 seelog.xml로 변경합니다.

  3. 파일을 열고 minlevel="off"minlevel="info" 또는 minlevel="debug"로 변경합니다.

    참고

    기본적으로 데이터 채널 열기 및 세션 다시 연결에 대한 로그 항목은 INFO 수준에 기록됩니다. 데이터 흐림(패킷 및 승인) 항목은 DEBUG 수준에서 기록됩니다.

  4. 수정하려는 다른 구성 옵션을 변경합니다. 변경 가능한 옵션은 다음과 같습니다.

    • 디버그 수준: 디버그 수준은 formatid="fmtinfo"에서 outputs formatid="fmtdebug"로 변경할 수 있습니다.

    • 로그 파일 옵션: 로그 파일 이름을 제외하고 로그가 저장되는 위치를 포함해 로그 파일 옵션을 변경할 수 있습니다.

      중요

      파일 이름을 변경하지 않습니다. 그렇지 않으면 로깅이 제대로 작동하지 않습니다.

      <rollingfile type="size" filename="/usr/local/sessionmanagerplugin/logs/session-manager-plugin.log" maxsize="30000000" maxrolls="5"/> <filter levels="error,critical" formatid="fmterror"> <rollingfile type="size" filename="/usr/local/sessionmanagerplugin/logs/errors.log" maxsize="10000000" maxrolls="5"/>
      중요

      로그를 저장하는 데 지정된 기본 디렉터리를 사용하는 경우 sudo를 사용하여 세션 명령을 실행하거나 플러그인이 설치된 디렉터리에 전체 읽기 및 쓰기 권한을 부여해야 합니다. 이러한 제한 사항을 우회하려면 로그가 저장되는 위치를 바꿉니다.

  5. 파일을 저장합니다.

Session Manager 플러그인 최신 버전 및 릴리스 기록

로컬 시스템에서 Session Manager 플러그인의 지원되는 버전이 실행 중이어야 합니다. 현재 지원되는 최소 버전은 1.1.17.0입니다. 이전 버전을 실행 중인 경우 Session Manager 작업에 실패할 수 있습니다.

최신 버전이 설치되어 있는지 확인하려면 AWS CLI에서 다음 명령을 실행합니다.

참고

이 명령은 플러그인이 운영 체제 유형의 기본 설치 디렉터리에 있는 경우에만 결과를 반환합니다. 또한 플러그인을 설치한 디렉터리에 있는 VERSION 파일의 내용에서 버전을 확인할 수도 있습니다.

session-manager-plugin --version

다음 표에는 Session Manager 플러그인의 모든 릴리스와 각 릴리스에 포함된 기능 및 기능 향상이 나와 있습니다.

버전 릴리스 날짜 세부 정보
1.2.339.0

2022년 6월 16일

버그 수정: 포트 세션의 유휴 세션 시간 초과를 수정했습니다.
1.2.331.0

2022년 5월 27일

버그 수정: 시간 초과 전에 로컬 서버가 연결되지 않을 때 포트 세션이 조기에 닫히는 문제를 수정했습니다.
1.2.323.0

2022년 5월 19일

버그 수정: 유휴 세션 시간 초과 기능을 사용하기 위해 smux 유지 기능을 비활성화합니다.
1.2.312.0

2022년 3월 31일

기능 향상: 더 많은 출력 메시지 페이로드 유형을 지원합니다.
1.2.295.0

2022년 1월 12일

버그 수정: 에이전트가 비활성화되고 start_publicationpause_publication 메시지에 대한 로그가 잘못되었을 때 클라이언트가 스트림 데이터를 재전송하여 세션이 중단되었습니다.
1.2.279.0

2021년 10월 27일

기능 향상: Windows 플랫폼용 Zip 형식 패키징입니다.
1.2.245.0

2021년 8월 19일

기능 향상: aws-sdk-go을(를) AWS IAM Identity Center (successor to AWS Single Sign-On)을(를) 지원하는 최신 버전(v1.40.17)으로 업그레이드합니다.
1.2.234.0

2021년 7월 26일

버그 수정: 대화형 세션 유형에서 세션이 갑자기 종료된 시나리오를 처리합니다.
1.2.205.0

2021년 6월 10일

기능 향상: 서명된 macOS 설치 관리자에 대한 지원이 추가되었습니다.
1.2.54.0

2021년 1월 29일

기능 향상: NonInteractiveCommands 실행 모드에서 세션 실행에 대한 지원이 추가되었습니다.
1.2.30.0

2020년 11월 24일

기능 향상: (포트 전달 세션만 해당) 전반적인 성능이 향상되었습니다.

1.2.7.0

2020년 10월 15일

기능 향상: (포트 전달 세션에만 해당) 대기 시간이 줄고 전반적인 성능이 향상되었습니다.

1.1.61.0

2020년 4월 17일

기능 향상: Linux 및 Ubuntu Server에 대한 ARM 지원이 추가되었습니다.

1.1.54.0

2020년 1월 6일

버그 수정: Session Manager 플러그인이 준비되지 않은 경우 패킷이 삭제되는 교착 상태 시나리오를 처리합니다.

1.1.50.0

2019년 11월 19일

기능 향상: 포트를 로컬 Unix 소켓에 전달하기 위한 지원이 추가되었습니다.

1.1.35.0

2019년 11월 7일

기능 향상: (포트 전달 세션에만 해당) 로컬 사용자가 SSM Agent을 누를 때 TerminateSession 명령을 Ctrl+C에 보냅니다.

1.1.33.0 2019년 9월 26일 기능 향상: (포트 전달 세션만 해당) 클라이언트에서 TCP 연결이 해제되면 연결 해제 신호가 서버에 전송됩니다.
1.1.31.0 2019년 9월 6일 기능 향상: 원격 서버가 연결을 종료할 때까지 포트 전달 세션을 열어 둘 수 있도록 업데이트되었습니다.

1.1.26.0

2019년 7월 30일

기능 향상: 세션 도중 데이터 전송 속도를 제한할 수 있도록 업데이트되었습니다.

1.1.23.0

2019년 7월 9일

기능 향상: Session Manager를 사용하여 SSH 세션을 실행할 수 있도록 지원이 추가되었습니다.

1.1.17.0 2019년 4월 4일

기능 향상: AWS Key Management Service(AWS KMS)를 사용하여 세션 데이터를 추가적으로 암호화할 수 있도록 지원이 추가되었습니다.

1.0.37.0 2018년 9월 20일

기능 향상: Windows 버전에 대한 버그가 수정되었습니다.

1.0.0.0 2018년 9월 11일

Session Manager 플러그인의 최초 릴리스.