쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

보안 터널에서 다중 데이터 스트림 멀티플렉싱

포커스 모드
보안 터널에서 다중 데이터 스트림 멀티플렉싱 - AWS IoT Core

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

다중 연결 또는 포트를 사용하는 디바이스에 멀티플렉싱 기능을 사용할 수 있습니다. 문제 해결을 위해 원격 디바이스에 여러 번 연결해야 하는 경우에도 멀티플렉싱을 사용할 수 있습니다. 예를 들어 여러 HTTP 및 SSH 데이터 스트림을 전송해야 하는 웹 브라우저의 경우 멀티플렉싱을 사용할 수 있습니다. 두 스트림의 애플리케이션 데이터는 멀티플렉싱된 터널을 통해 디바이스로 동시에 전송됩니다.

사용 사례

예를 들어 디바이스 내 웹 애플리케이션에 연결하여 일부 네트워킹 파라미터를 변경하고 터미널을 통해 셸 명령을 실행하여 디바이스가 새 네트워킹 파라미터로 제대로 작동하는지 확인해야 할 수 있습니다. 이 시나리오에서는 웹 애플리케이션 및 터미널에 동시에 액세스하기 위해 HTTP 및 SSH 모두를 통해 디바이스에 연결하고 두 개의 병렬 데이터 스트림을 전송해야 할 수 있습니다. 멀티플렉싱 기능을 사용하면 이러한 두 개의 독립 스트림을 동일한 터널을 통해 동시에 전송할 수 있습니다.

서로 다른 프로토콜을 통해 데이터를 스트리밍하기 위한 소스 디바이스, 프록시 서버 및 대상 디바이스가 있는 IoT 클라우드 아키텍처를 보여주는 다이어그램입니다.

멀티플렉싱 터널을 설정하는 방법

다음 절차에서는 여러 포트에 연결해야 하는 애플리케이션을 사용하여 디바이스 문제를 해결하기 위해 멀티플렉싱 터널을 설정하는 방법을 설명합니다. 하나의 HTTP 스트림과 하나의 SSH 스트림이라는 두 개의 멀티플렉싱된 스트림으로 하나의 터널을 설정합니다.

  1. (선택 사항) 구성 파일 생성

    구성 파일을 사용하여 소스 및 대상 디바이스를 선택적으로 구성할 수 있습니다. 포트 매핑이 자주 변경될 가능성이 있는 경우 구성 파일을 사용합니다. CLI를 사용하여 포트 매핑을 명시적으로 지정하려는 경우 또는 지정된 수신 대기 포트에서 로컬 프록시를 시작할 필요가 없는 경우 이 단계를 건너뛸 수 있습니다. 구성 파일을 사용하는 방법에 대한 자세한 내용은 GitHub의 Options set via --config(--config를 통해 설정되는 옵션)를 참조하세요.

    1. 소스 디바이스의 로컬 프록시가 실행될 폴더에 Config라는 구성 폴더를 생성합니다. 이 폴더 안에 다음 내용으로 SSHSource.ini라는 파일을 만듭니다.

      HTTP1 = 5555 SSH1 = 3333
    2. 대상 디바이스의 로컬 프록시가 실행될 폴더에 Config라는 구성 폴더를 생성합니다. 이 폴더 안에 다음 내용으로 SSHDestination.ini라는 파일을 만듭니다.

      HTTP1 = 80 SSH1 = 22
  2. 터널 열기

    OpenTunnel API 작업 또는 open-tunnel CLI 명령을 사용하여 터널을 엽니다. SSH1 및를 서비스 HTTP1 및 원격 디바이스에 해당하는 AWS IoT 사물의 이름으로 지정하여 대상을 구성합니다. SSH 및 HTTP 애플리케이션이 이 원격 디바이스에서 실행되고 있습니다. AWS IoT 레지스트리에서 IoT 사물을 이미 생성했어야 합니다. 자세한 내용은 레지스트리로 사물 관리 단원을 참조하십시오.

    aws iotsecuretunneling open-tunnel \ --destination-config thingName=RemoteDevice1,services=HTTP1,SSH1

    이 명령을 실행하면 로컬 프록시를 실행하는 데 사용할 소스 및 대상 액세스 토큰이 생성됩니다.

    { "tunnelId": "b2de92a3-b8ff-46c0-b0f2-afa28b00cecd", "tunnelArn": "arn:aws:iot:us-west-2:431600097591:tunnel/b2de92a3-b8ff-46c0-b0f2-afa28b00cecd", "sourceAccessToken": source_client_access_token, "destinationAccessToken": destination_client_access_token }
  3. 로컬 프록시 구성 및 시작

    로컬 프록시를 실행하려면 먼저 AWS IoT Device Client를 설정하거나 GitHub에서 로컬 프록시 소스 코드를 다운로드하여 원하는 플랫폼에 맞게 빌드합니다. 그런 다음 대상 및 소스 로컬 프록시를 시작하여 보안 터널에 연결할 수 있습니다. 로컬 프록시 구성 및 사용에 대한 자세한 내용은 로컬 프록시 사용 방법 섹션을 참조하세요.

    참고

    소스 디바이스에서 구성 파일을 사용하지 않거나 CLI를 사용하여 포트 매핑을 지정하지 않아도 동일한 명령을 사용하여 로컬 프록시를 실행할 수 있습니다. 소스 모드의 로컬 프록시는 사용할 수 있는 포트와 매핑을 자동으로 선택합니다.

    Start local proxy using configuration files

    구성 파일을 사용하여 소스 및 대상 모드에서 로컬 프록시를 실행하려면 다음 명령을 실행합니다.

    // ----------------- Start the destination local proxy ----------------------- ./localproxy -r us-east-1 -m dst -t destination_client_access_token // ----------------- Start the source local proxy ---------------------------- // You also run the same command below if you want the local proxy to // choose the mappings for you instead of using configuration files. ./localproxy -r us-east-1 -m src -t source_client_access_token
    Start local proxy using CLI port mapping

    CLI를 사용하여 포트 매핑을 명시적으로 지정해 소스 및 대상 모드에서 로컬 프록시를 실행하려면 다음 명령을 실행합니다.

    // ----------------- Start the destination local proxy ----------------------------------- ./localproxy -r us-east-1 -d HTTP1=80,SSH1=22 -t destination_client_access_token // ----------------- Start the source local proxy ---------------------------------------- ./localproxy -r us-east-1 -s HTTP1=5555,SSH1=33 -t source_client_access_token

    구성 파일을 사용하여 소스 및 대상 모드에서 로컬 프록시를 실행하려면 다음 명령을 실행합니다.

    // ----------------- Start the destination local proxy ----------------------- ./localproxy -r us-east-1 -m dst -t destination_client_access_token // ----------------- Start the source local proxy ---------------------------- // You also run the same command below if you want the local proxy to // choose the mappings for you instead of using configuration files. ./localproxy -r us-east-1 -m src -t source_client_access_token

이제 SSH 및 HTTP 연결의 애플리케이션 데이터를 멀티플렉싱 터널을 통해 동시에 전송할 수 있습니다. 아래 맵에서 볼 수 있듯이 서비스 식별자는 소스 디바이스와 대상 디바이스 간에 포트 매핑을 변환하는 읽기 쉬운 형식으로 작동합니다. 이 구성을 사용하면 보안 터널링이 소스 디바이스의 포트 5555에서 들어오는 모든 HTTP 트래픽을 대상 디바이스의 포트 80으로 전달하고 포트 3333에서 들어오는 모든 SSH 트래픽을 대상 디바이스의 포트 22로 전달합니다.

소스 및 대상 로컬 프록시의 서비스 식별자를 처리 후 번역된 포트 매핑으로 매핑하는 번역 프로세스입니다.
프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.