2단계: 게이트웨이 설치 및 구성
SEW OrchestrationSuite에서 게이트웨이와 디바이스를 구성했다면, 다음 단계는 선택한 게이트웨이 하드웨어에 SDA Glue 서비스를 설치하는 것입니다. 이 설치 과정은 Linux와 Windows 시스템에서 서로 다르지만, 두 방식 모두 동일한 기본 원리를 따릅니다. 즉, 백그라운드에서 지속적으로 실행되며 필요할 때 보안 터널을 구축할 수 있는 서비스를 다운로드하고 구성하는 것입니다.
설치
설치 과정은 두 가지 주요 단계로 구성됩니다.
- 대상 시스템에 SDA Glue와 종속 항목을 설치합니다.
- 특정 게이트웨이를 인증하는 SEW OrchestrationSuite의 고유 자격 증명으로 서비스를 구성합니다.
설치를 시작하기 전에 대상 시스템에 대한 관리자 권한이 있는지 확인하십시오. 설치 과정에서 시스템 서비스를 설치하기 위해 상승된 권한이 필요합니다. Linux에서는 sudo 액세스가 필요하고, Windows에서는 PowerShell을 관리자 권한으로 실행해야 합니다.
설치 과정은 프록시 환경도 지원하지만, 각 플랫폼별 섹션에서 상세히 설명할 추가 구성 단계가 필요합니다.
Linux
인터넷에 직접 접속할 수 있는 Linux 시스템에 SDA Glue를 설치하려면 터미널에서 다음 명령을 실행하십시오.
curl -sSL 'https://api.eu1.sdaconsole.io/glue/v1/install.sh' | bash -
이 명령은 curl을 사용하여 SEW의 API 엔드포인트에서 설치 스크립트를 안전하게 가져오고, 이를 bash로 파이프하여 즉시 실행합니다. -sSL 플래그는 전송이 조용히 진행되고, 오류가 발생하면 표시되며, 리디렉션을 안전하게 따라가도록 보장합니다.
Linux 설치 과정에 대한 상세 정보
Linux 설치는 SDA Glue 서비스를 빌드하고 구성하는 복잡한 과정을 처리하는 자동화된 셸 스크립트를 사용합니다. 이 스크립트는 몇 가지 중요한 작업을 수행합니다. 필요한 런타임 종속 항목과 빌드 도구를 설치하고, SEW의 보안 리포지토리에서 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"라는 이름의 영구 컨테이너를 생성합니다. 볼륨 마운트는 컨테이너 재시작 또는 업데이트 간에 게이트웨이의 구성 및 인증 데이터를 보존합니다.
또한 애플리케이션 설정을 위한 Glue 웹 서버를 실행하는 컨테이너 포트 8080을 호스트 포트 8081로 전달합니다. 이후 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을 사용하여 SEW 연결을 위해 시스템을 구성하는 설치 스크립트를 다운로드하고 실행합니다. 소스에서 소프트웨어를 컴파일하는 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 시스템이 프록시 서버 뒤에서 작동하는 경우, 설치 과정은 두 단계 방식이 필요합니다. 먼저 프록시 설정을 구성하고 설치 스크립트를 다운로드합니다. 그다음 적절한 프록시 구성과 함께 스크립트를 실행합니다.
먼저 프록시 구성을 위한 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 소프트웨어를 성공적으로 설치한 후에는 물리적 게이트웨이를 SEW 클라우드 서비스에 인증해야 합니다. 이 인증 과정은 SEW OrchestrationSuite가 해당 게이트웨이에 대해 생성한 고유 자격 증명을 사용합니다. 이 자격 증명은 짧은 게이트웨이 식별자와, 보안 강화를 위해 주기적으로 변경되는 일회용 비밀번호로 구성됩니다.

SEW OrchestrationSuite의 게이트웨이 설정 명령
SEW OrchestrationSuite로 돌아가 게이트웨이 설정 대화 상자에서 두 번째 명령을 찾으십시오. 이 명령은 다음 예시와 유사한 형태입니다.
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)가 포함됩니다. 이 값들은 해당 게이트웨이에 고유하며 표시된 예시와 다릅니다.
일회용 비밀번호는 보안 목적으로 주기적으로 갱신됩니다. 인증에 실패하는 경우 SEW OrchestrationSuite로 돌아가 게이트웨이 설정 대화 상자에서 현재 비밀번호를 확인하십시오.
서비스 상태
설치 및 인증 과정을 완료한 후, 시스템에서 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 전송 프로토콜
가장 중요한 구성 결정 중 하나는 게이트웨이가 SEW 클라우드 서비스와 통신하는 방식을 선택하는 것입니다. 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 전송이 선호되는 선택이 됩니다.
프록시 서버
네트워크에서 모든 인터넷 트래픽이 특정 프록시 서버를 통과해야 하는 경우, SEW 클라우드 서비스와 연결을 확립하기 위해 SDA Glue에 프록시 정보를 구성해야 합니다. 이는 보안 목적으로 직접적인 인터넷 접속이 제한된 기업 환경에서 특히 흔한 경우입니다.
프록시 주소는 표준 형식을 따릅니다: scheme://username:password@hostname:port
- 스킴: 일반적으로
http://또는https:// - 사용자 이름/비밀번호: 인증 자격 증명(프록시에서 요구하는 경우)
- 호스트 이름: 프록시 서버의 주소
- 포트: 프록시 서버의 포트 번호
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 전송 프로토콜로 전환하십시오.
제한적인 방화벽 환경
문제: 게이트웨이가 SEW 클라우드 서비스에 초기 연결을 확립할 수 없습니다.
해결 방법: WebSocket 전송을 구성하고 포트 443에서 아웃바운드 HTTPS 연결이 허용되는지 확인하십시오.
인증이 필요한 프록시 서버
문제: 인증이 필요한 기업 프록시를 통해 게이트웨이가 연결할 수 없습니다.
해결 방법: 적절한 인증 자격 증명으로 두 프록시 설정을 모두 구성하고 서비스를 재시작하십시오.
이러한 구성 옵션이 올바르게 설정되면 SDA Glue 서비스는 네트워크 환경에 적응하여 SEW 클라우드 서비스와의 안정적인 연결을 유지하고, 산업 디바이스에 대한 보안 액세스를 가능하게 합니다.