2단계: 게이트웨이 설치 및 구성
SDA Console에서 게이트웨이와 디바이스를 구성했다면, 다음 단계는 선택한 게이트웨이 하드웨어에 SDA Glue 서비스를 설치하는 것입니다. 이 설치 과정은 Linux와 Windows 시스템 간에 차이가 있지만, 두 방식 모두 동일한 기본 원칙을 따릅니다. 즉, 백그라운드에서 지속적으로 실행되며 필요할 때 보안 터널을 설정할 준비가 된 서비스를 다운로드하고 구성하는 것입니다.
설치
설치 과정은 두 가지 주요 단계로 구성됩니다.
- 대상 시스템에 SDA Glue와 의존성 요소를 설치합니다.
- 특정 게이트웨이를 인증하는 SDA Console의 고유 자격 증명으로 서비스를 구성합니다.
설치를 시작하기 전에 대상 시스템에서 관리자 권한을 보유하고 있는지 확인하십시오. 설치 과정에서 시스템 서비스를 설치하려면 상승된 권한이 필요합니다. Linux의 경우 sudo 접근 권한이 필요하며, Windows의 경우 PowerShell을 관리자 권한으로 실행해야 합니다.
설치 과정은 프록시 환경도 지원하지만, 각 플랫폼별 섹션에서 자세히 설명하는 추가 구성 단계가 필요합니다.
Linux
인터넷에 직접 접속할 수 있는 Linux 시스템에 SDA Glue를 설치하려면 터미널에서 다음 명령을 실행하십시오.
curl -sSL 'https://api.eu1.sdaconsole.io/glue/v1/install.sh' | bash -
이 명령은 curl을 사용하여 SDA의 API 엔드포인트에서 설치 스크립트를 안전하게 가져온 다음 bash로 파이프하여 즉시 실행합니다. -sSL 플래그는 전송이 조용히 수행되고, 오류가 발생하면 표시되며, 리디렉션을 안전하게 따르도록 보장합니다.
Linux 설치 과정에 대한 세부 정보
Linux 설치는 SDA Glue 서비스를 빌드하고 구성하는 복잡한 과정을 처리하는 자동화된 셸 스크립트를 사용합니다. 이 스크립트는 몇 가지 중요한 작업을 수행합니다. 필요한 런타임 의존성과 빌드 도구를 설치하고, SDA의 보안 저장소에서 SoftEther VPN Client를 다운로드하여 컴파일하며, SDA Glue를 시스템과 함께 자동으로 시작되는 systemd 서비스로 설치합니다.
컴파일 방식은 검증된 소스 코드로부터 빌드하여 보안을 유지하면서 다양한 Linux 배포판 간의 호환성을 보장합니다. systemd 서비스 통합은 게이트웨이에 문제가 발생하면 자동으로 재시작되고, 시스템 부팅 시 즉시 작동을 시작함을 의미합니다.
설치 스크립트를 실행하기 전에 검토하고 싶다면, 명령에서 | bash - 부분을 제거하거나 웹 브라우저에서 https://api.eu1.sdaconsole.io/glue/v1/install.sh에 직접 접속하여 별도로 받아볼 수 있습니다. 이러한 투명성 덕분에 설치 과정이 시스템에서 정확히 무엇을 수행하는지 이해할 수 있습니다.
프록시를 사용하는 Linux
Linux 시스템이 프록시 서버를 통해 인터넷에 접속해야 하는 경우, 설치 스크립트를 실행하기 전에 적절한 환경 변수를 구성해야 합니다. 현재 bash 세션에서 http_proxy 및 https_proxy 환경 변수를 설정하십시오.
export http_proxy=http://username:password@proxy.company.com:8080
export https_proxy=http://username:password@proxy.company.com:8080
curl -sSL 'https://api.eu1.sdaconsole.io/glue/v1/install.sh' | bash -
프록시 URL을 실제 프록시 서버 정보로 교체하고, 네트워크 구성에서 요구하는 경우 인증 자격 증명도 포함하십시오.
Docker
Docker는 서로 다른 호스트 시스템 간에 일관성을 제공하고 컨테이너화를 통해 관리를 단순화하는 대체 배포 방식을 제공합니다. SDA Glue Docker 이미지는 Debian을 기반으로 하며 필요한 모든 의존성이 사전 구성되어 포함되어 있으므로 수동 컴파일이나 의존성 관리가 필요하지 않습니다.
Docker를 사용하여 SDA Glue를 배포하려면 필요한 네트워크 권한과 함께 다음 명령을 실행하십시오.
docker run -d \
--name glue \
--device=/dev/net/tun \
--cap-add=NET_ADMIN \
-v glue-data:/var/lib/sdaglue \
--restart always \
-p 8081:8080 \
public.ecr.aws/t9c5s2d1/sdaglue:latest
이 명령은 예기치 않게 중지될 경우 자동으로 재시작되는 "glue"라는 이름의 영구 컨테이너를 생성합니다. 볼륨 마운트는 컨테이너 재시작 또는 업데이트 간에 게이트웨이의 구성 및 인증 데이터를 보존합니다.
또한 컨테이너 포트 8080을 호스트 포트 8081로 전달하며, 이 포트에서 애플리케이션 설정을 위한 Glue 웹 서버가 실행됩니다. 이후 http://localhost:8081/로 접속할 수 있습니다.
동일한 호스트에서 여러 SDA Glue 컨테이너를 실행할 때는 충돌을 방지하기 위해 각 컨테이너가 고유한 이름과 볼륨 마운트를 사용하도록 하십시오.
docker run -d --name glue-factory -v factory-data:/var/lib/sdaglue [...]
고급 네트워킹 구성, 문제 해결 절차, 프로덕션 배포 모범 사례를 포함한 포괄적인 Docker 배포 지침은 전체 문서를 참조하십시오.
전체 배포 세부 정보, 구성 예시 및 문제 해결 지침.
Windows
Windows 검색창에서 "PowerShell"을 검색한 뒤 결과를 마우스 오른쪽 버튼으로 클릭하고 "관리자 권한으로 실행"을 선택하여 PowerShell을 관리자 권한으로 엽니다. 상승된 PowerShell 세션이 준비되면 다음 명령을 실행하십시오.
iwr -Uri 'https://api.eu1.sdaconsole.io/glue/v1/install.ps1' -UseBasicParsing | iex
이 PowerShell 명령은 Invoke-WebRequest(약칭 iwr)를 사용하여 설치 스크립트를 가져온 다음 Invoke-Expression(약칭 iex)으로 파이프하여 즉시 실행합니다. -UseBasicParsing 매개변수는 다양한 Windows 버전과 구성 간의 호환성을 보장합니다.

PowerShell을 통한 SDA Glue 설치 성공
Windows 설치 과정에 대한 세부 정보
Windows 설치 과정은 PowerShell을 사용하여 SDA 연결을 위한 시스템 구성을 수행하는 설치 스크립트를 다운로드하고 실행합니다. 소스에서 소프트웨어를 컴파일하는 Linux 방식과 달리, Windows 설치 프로그램은 OpenVPN Community Client와 SDA Glue 서비스의 사전 빌드된 바이너리를 다운로드한 다음 SDA Glue를 Windows 서비스로 등록합니다.
Windows 서비스 통합은 SDA Glue가 시스템과 함께 자동으로 시작되고 문제가 발생하면 자동으로 재시작되도록 보장합니다. 이는 Linux systemd 방식과 동일한 안정성 이점을 제공하지만, Windows의 기본 서비스 관리 인프라를 사용합니다.
Linux 방식과 마찬가지로, | iex 부분을 제거하거나 웹 브라우저에서 https://api.eu1.sdaconsole.io/glue/v1/install.ps1에 직접 접속하여 실행 전에 설치 스크립트를 검토할 수 있습니다.
프록시를 사용하는 Windows
Windows 시스템이 프록시 서버 뒤에서 운영되는 경우, 설치 과정은 2단계 접근 방식이 필요합니다. 먼저 프록시 설정을 구성하고 설치 스크립트를 다운로드합니다. 그런 다음 적절한 프록시 구성과 함께 스크립트를 실행합니다.
먼저 프록시 구성을 위한 PowerShell 변수를 설정하십시오.
# Configure your specific proxy details
$ProxyHost="proxy.company.com:8080"
$ProxyUser="your-username"
# Download the installation script through the proxy
iwr -Uri 'https://api.eu1.sdaconsole.io/glue/v1/install.ps1' -UseBasicParsing -OutFile .\glue-install.ps1 -Proxy http://$ProxyHost -ProxyCredential $ProxyUser
# Execute the script with proxy configuration
.\glue-install.ps1 -Proxy $ProxyHost -ProxyCredential $ProxyUser
프록시 URL 형식의 중요한 차이에 유의하십시오. Invoke-WebRequest 명령은 전체 URL 스킴(http://proxy.company.com:8080)이 필요한 반면, 설치 스크립트는 호스트 이름과 포트(proxy.company.com:8080)만 요구합니다.

하단의 로그에 나타난 것처럼, CLI를 사용하여 SDA Glue에서 프록시 서버를 구성해야 합니다
인증 및 로그인
SDA Glue 소프트웨어를 성공적으로 설치한 후에는 실제 게이트웨이를 SDA Cloud 서비스에 인증해야 합니다. 이 인증 과정은 해당 게이트웨이에 대해 SDA Console이 생성한 고유 자격 증명을 사용합니다. 이 자격 증명은 짧은 게이트웨이 식별자와 보안 강화를 위해 주기적으로 교체되는 일회용 비밀번호로 구성됩니다.

SDA Console의 게이트웨이 설정 명령
SDA Console로 돌아가 게이트웨이 설정 대화 상자에서 두 번째 명령을 찾으십시오. 이 명령은 다음 예시와 유사한 형태입니다.
Linux
sudo sdaglue login -e eu1 G1ABCD 123456
Docker
docker exec glue sdaglue login -e eu1 G1ABCD 123456
Windows
sdaglue.exe login -e eu1 G1ABCD 123456
이 명령 구조에는 유럽 리전 엔드포인트를 지정하는 -e eu1 플래그와 게이트웨이의 고유 식별자(예: G1ABCD), 일회용 비밀번호(예: 123456)가 포함됩니다. 이 값들은 각 게이트웨이마다 다르며 예시와 상이합니다.
일회용 비밀번호는 보안을 위해 주기적으로 갱신됩니다. 인증에 실패하는 경우 SDA Console로 돌아가 게이트웨이 설정 대화 상자에서 현재 비밀번호를 확인하십시오.
서비스 상태
설치 및 인증 과정을 완료한 후, SDA Glue 서비스가 시스템에서 정상적으로 실행되고 있는지 확인하십시오.
Linux
systemd 명령을 사용하여 서비스 상태를 확인합니다.
sudo systemctl status sdaglue
실시간 로그 출력을 모니터링하고 문제를 해결하려면 다음을 실행합니다.
sudo journalctl -efu sdaglue -n 100
Docker
Docker 컨테이너에서 서비스 로그를 다음과 같이 확인할 수 있습니다.
docker logs -n 100 --follow glue # tracks the latest 100 logs from the service
Windows
Windows 서비스 애플리케이션을 통해 서비스를 확인할 수 있습니다. Windows 검색창에서 "서비스"를 검색하고 서비스 목록에서 "SDA Glue"를 찾으십시오. 서비스는 시작 유형이 "자동"이고 상태가 "실행 중"으로 표시되어야 합니다.

Windows에서 활성 서비스 확인
Windows 서비스는 이벤트 로그를 생성하며, 이는 이벤트 뷰어의 Windows 로그 → 응용 프로그램에서 확인할 수 있습니다. 검색창을 사용하여 이벤트 뷰어를 여십시오.

이벤트 뷰어에서 SDA Glue 로그 확인
구성
SDA Glue는 특정 네트워크 환경에서 최적으로 작동하도록 동작을 수정할 수 있게 해줍니다. 이러한 구성 조정은 프록시 서버, 방화벽 제한 또는 다양한 통신 프로토콜 등 산업 네트워크의 고유한 특성과 관계없이 안정적인 연결을 보장합니다.
서비스를 제어하기 위해 환경 변수를 사용합니다. 구성 변경 사항은 적용을 위해 서비스 재시작이 필요합니다. 환경 변수는 동일한 구성 매개변수 명명 규칙을 유지하되, GLUE 접두사를 사용하고 밑줄로 구분합니다.
log.level -> GLUE_LOG_LEVEL
webui.enabled -> GLUE_WEBUI_ENABLED
현재 구성 매개변수 확인:
# Linux & Windows
sdaglue config describe
# Docker
docker exec glue sdaglue config describe
매개변수 설정:
# Linux & Windows
sdaglue config set --log.level debug --webui.enabled true --webui.port 8080
# Docker
docker exec sdaglue config set --log.level debug --webui.enabled true --webui.port 8080
매개변수 조회:
# Linux & Windows
sdaglue config list
# Docker
docker exec sdaglue config list
변경 후 서비스 재시작:
# Linux & Windows
sdaglue service restart
# Docker
docker exec glue sdaglue service restart # or
docker restart glue
MQTT 전송 프로토콜
가장 중요한 구성 결정 중 하나는 게이트웨이가 SDA Cloud 서비스와 통신하는 방식을 선택하는 것입니다. SDA Glue는 서로 다른 네트워크 환경을 위해 설계된 두 가지 전송 프로토콜을 지원합니다.
| 전송 방식 | 프로토콜 | 포트 | 사용 사례 |
|---|---|---|---|
| MQTT | SSL / TCP | 443 | 인터넷에 직접 접속 가능한 표준 네트워크 |
| MQTT over WebSocket | WebSocket Secure (TCP) | 443 | 투명 프록시 또는 SSL 검사가 있는 네트워크 |
WebSocket 전송 방식 사용 시:
# Linux & Windows
sdaglue config set --iot.transport websocket
# Docker
docker exec glue sdaglue config set --iot.transport websocket
표준 MQTT 전송 방식 사용 시:
# Linux & Windows
sdaglue config set --iot.transport mqtt
# Docker
docker exec glue sdaglue config set --iot.transport mqtt
서비스가 이미 로그인되어 연결된 상태라면, 새 전송 프로토콜은 다음 서비스 재시작 이후에만 적용됩니다.
WebSocket 전송 방식을 사용해야 하는 경우
투명 프록시: 일부 기업 네트워크는 네트워크 트래픽을 가로채 분석하는 투명 프록시를 사용합니다. 이러한 프록시는 표준 MQTT SSL 연결을 방해할 수 있지만, 일반적으로 WebSocket 연결은 문제없이 통과시킵니다.
제한적인 방화벽: 심층 패킷 검사나 엄격한 프로토콜 필터링을 적용하는 네트워크는 MQTT 트래픽을 차단하면서도 표준 웹 트래픽과 유사해 보이는 WebSocket 연결은 허용할 수 있습니다.
기업 네트워크 정책: 일부 조직은 HTTP가 아닌 프로토콜을 제한하는 정책을 시행하므로, 규정 준수를 위해 WebSocket 전송 방식이 선호됩니다.
프록시 서버
네트워크에서 모든 인터넷 트래픽이 특정 프록시 서버를 통과해야 하는 경우, SDA Cloud 서비스와의 연결을 설정하기 위해 SDA Glue에 프록시 정보를 구성해야 합니다. 이는 보안상의 이유로 직접 인터넷 접속이 제한되는 기업 환경에서 특히 흔합니다.
프록시 주소는 표준 형식을 따릅니다: scheme://username:password@hostname:port
- Scheme: 일반적으로
http://또는https:// - Username/Password: 인증 자격 증명(프록시에서 요구하는 경우)
- Hostname: 프록시 서버의 주소
- Port: 프록시 서버의 포트 번호
SDA Glue의 통신 요구 사항을 완전히 충족하려면 HTTP 및 HTTPS 프록시 설정을 모두 구성해야 합니다.
프록시 서버가 인증을 요구하지 않는 경우, 사용자 이름과 비밀번호를 생략하면 됩니다.
proxy_server="http://proxy.company.com:8080"
Linux
proxy_server="http://username:password@proxy.company.com:8080"
sdaglue config set --proxy.http=$proxy_server --proxy.https=$proxy_server
# Restart the service to apply changes
sdaglue service restart
Docker
proxy_server="http://username:password@proxy.company.com:8080"
docker exec glue sdaglue config set --proxy.http=$proxy_server --proxy.https=$proxy_server
# Restart the container to apply changes
docker restart glue
Windows
$ProxyServer="http://username:password@proxy.company.com:8080"
sdaglue.exe config set --proxy.http=$ProxyServer --proxy.https=$ProxyServer
# Restart the service to apply changes
sdaglue.exe service restart
일반적인 문제
투명 프록시가 있는 기업 네트워크
문제: 게이트웨이가 처음에는 연결되지만 자주 연결이 끊기거나 불안정한 연결 상태를 보입니다.
해결 방법: WebSocket 전송 프로토콜로 전환하십시오.
제한적인 방화벽 환경
문제: 게이트웨이가 SDA Cloud 서비스에 초기 연결을 설정할 수 없습니다.
해결 방법: WebSocket 전송 방식을 구성하고 포트 443에서 아웃바운드 HTTPS 연결이 허용되는지 확인하십시오.
인증이 필요한 프록시 서버
문제: 인증이 필요한 기업 프록시를 통해 게이트웨이가 연결되지 않습니다.
해결 방법: 올바른 인증 자격 증명으로 두 프록시 설정을 모두 구성한 후 서비스를 재시작하십시오.
이러한 구성 옵션을 올바르게 설정하면, SDA Glue 서비스가 네트워크 환경에 맞춰 적응하여 SDA Cloud 서비스와의 안정적인 연결을 유지하고 산업용 디바이스에 대한 보안 접속을 가능하게 합니다.