SSH를 사용하여 개발 환경에 연결 - Amazon CodeCatalyst

SSH를 사용하여 개발 환경에 연결

SSH를 사용하여 개발 환경에 연결하여 포트 포워딩, 파일 업로드 및 다운로드, 다른 IDE 사용 등의 작업을 제한 없이 수행할 수 있습니다.

참고

IDE 탭 또는 창을 닫은 후 장기간 SSH를 계속 사용하려면 IDE의 비활성으로 인해 SSH가 중지되지 않도록 개발 환경에 대해 높은 제한 시간을 설정해야 합니다.

사전 조건
  • 다음 운영 체제 중 하나:

    • Windows 10 이상 및 OpenSSH 활성화

    • macOS 및 Bash 버전 3 이상

    • yum, dpkg 또는 rpm 패키지 관리자 및 Bash 버전 3 이상이 포함된 Linux

  • AWS CLI 버전 2.9.4 이상이 필요합니다.

SSH를 사용하여 개발 환경에 연결하려면
  1. https://codecatalyst.aws/에서 CodeCatalyst 콘솔을 엽니다.

  2. SSH를 사용하여 개발 환경에 연결하려는 프로젝트로 이동합니다.

  3. 탐색 창에서 코드를 선택합니다.

  4. 개발 환경을 선택합니다.

  5. SSH를 사용하여 연결하려는 실행 중인 개발 환경을 선택합니다.

  6. SSH를 통한 연결을 선택하고 원하는 운영 체제를 선택한 뒤 다음을 수행합니다.

    • 아직 수행하지 않은 경우 지정된 터미널에 첫 번째 명령을 붙여넣고 실행합니다. 명령은 스크립트를 다운로드하고 로컬 환경에서 다음 수정 사항을 실행하여 SSH를 사용하여 개발 환경에 연결할 수 있습니다.

      • AWS CLI에 대한 Session Manager 플러그인을 설치합니다.

      • 로컬 AWS Config를 수정하고 SSO 로그인을 수행할 수 있도록 CodeCatalyst 프로파일을 추가합니다. 자세한 내용은 AWS CLI를 CodeCatalyst와 함께 사용하도록 설정 섹션을 참조하십시오.

      • 로컬 SSH 구성을 수정하고 SSH를 사용하여 개발 환경에 연결하는 데 필요한 구성을 추가합니다.

      • SSH 클라이언트가 개발 환경에 연결하는 데 사용하는 스크립트를 ~/.aws/codecatalyst-dev-env 디렉터리에 추가합니다. 이 스크립트는 CodeCatalyst StartDevEnvironmentSession API를 직접적으로 호출하고 AWS Systems Manager Session Manager 플러그인을 사용하여 로컬 SSH 클라이언트가 원격 개발 환경에 안전하게 연결하는 데 사용하는 개발 환경과의 AWS Systems Manager 세션을 설정합니다.

    • 두 번째 명령을 사용하여 AWS SSO를 사용하여 Amazon CodeCatalyst에 로그인합니다. 이 명령은 ~/.aws/codecatalyst-dev-env 디렉터리의 스크립트가 CodeCatalyst StartDevEnvironmentSession API 를 직접적으로 호출할 수 있도록 자격 증명을 요청하고 검색합니다. 이 명령은 자격 증명이 만료될 때마다 실행되어야 합니다. 모달( ssh <destination>)에서 마지막 명령을 실행하면 자격 증명이 만료되었거나 이 단계의 지침에 따라 SSO 로그인을 수행하지 않은 경우 오류가 발생합니다.

    • 세 번째 명령을 사용하여 SSH를 사용하여 지정된 개발 환경에 연결합니다. 이 명령의 구조는 다음과 같습니다.

      ssh codecatalyst-dev-env=<space-name>=<project-name>=<dev-environment-id>

      또한 이 명령을 사용하여 포트 전달 또는 파일 업로드 및 다운로드와 같이 SSH 클라이언트에서 허용하는 다른 작업을 수행할 수 있습니다.

      • 포트 전달:

        ssh -L <local-port>:127.0.0.1:<remote-port> codecatalyst-dev-env=<space-name>=<project-name>=<dev-environment-id>
      • 개발 환경의 홈 디렉터리에 파일 업로드:

        scp -O </path-to-local-file> codecatalyst-dev-env=<space-name>=<project-name>=<dev-environment-id>:</path-to-remote-file-or-directory>